数学建模 —— MATLAB中的向量

目录

向量的创建方法

(1)直接输入法

(2)冒号法(常用)

 (3)利用MATLAB函数创建

linspace函数

logspace函数

向量元素的引用

(1)单个元素引用

(2)多个元素引用

向量元素的修改和删除


向量的创建方法

MATLAB中,向量的创建方法主要有三种,分别是:直接输入法、冒号法和利用 MATLAB  的函数创建。下面我们来进行介绍:


(1)直接输入法

向量元素需要用英文的中括号“[ ]”括起来,元素之间用空格、逗号、分号或按回车键分隔,就可以创建对应的向量。若元素之间用空格、逗号分隔,则创建的是行向量;若用分号、 回车键分隔,则创建的是列向量。(注意:这里的逗号和分号都是英文输入法下输入的,不能用中文的逗号或分号)

举例:a=[135] 和 a=[1,3,5]  都可以创建包含元素1,3,5的行向量,并将这个行向量的值赋值给a; 而 b=[1;3;5] 创建的是包含元素1,3,5的列向量。


(2)冒号法(常用)

我们可以利用命令:A:step:B 来创建一个行向量。(冒号也要是英文的!)

其中,A是起始值,step是每次递增或递减的步长,B 是终止值(不一定刚好停在这里)。

若step 等于1,则可以直接简写成A:B。

直接看上面的概念不够直观,下面我们举几个例子,大家根据例子来理解会很轻松。

代码                              结果和相应的解释

1:2:7                              [1 3 5 7]       %每次增加2,直到最后到了7

1:2:8

[1 3 5 7]     %每次增加2,到了7后再加2等于9,

比8要大,所以到了7就停止了。

1:1:100或1:100              [1 2 3 4.....98 99 100] %步长为1时可以省略

1:10:3                             1 %从1开始,增加10等于11,比3还要大,所以返回1

5:2:1

空的1×0 double行向量  %若A>B且步长step >0,

回空的向量。

10:-1:6                          [10 9 8 7 6]%步长为-1,因此会从10开始递减

10:-10:50

空的1×0 double行向量  %若A<B且步长step <0,则会返回 空的向量。

1:0:2                              空的1×0 double行向量 %若step =θ,则返回空的向量。

 上表中,有三种情况都会导致MATLAB 返回空的向量:空的1×0 double 行向量。 怎么理解这个返回结果呢?  这个“1×0”指的是向量的维度,你可以理解为1行0列,即这个向量是空的,不存在元素。 MATLAB中,我们可以直接使用命令[]创建空的向量。


 (3)利用MATLAB函数创建

我们主要介绍两个函数linspace 和 logspace,  它们分别用来创建等差数列和等比数列


linspace函数

首先介绍 linspace 函数,它有两种用法,区别在于是否给定第三个输入参数 n, 如果我们 不指定n,  则 MATLAB会默认 n=100。这个函数使用的频率也很高,大家需要掌握。

  linspace(a,b):该命令用来创建一个行向量,向量中的第一个元素为a, 最后一个元素为b,形成总数为100个元素的线性间隔的向量。

● linspace(a,b,n):该命令用来创建一个行向量,向量中的第一个元素为a,   最后一 个元素为b,形成总数为n 个元素的线性间隔的向量。

代码          结果和相应的解释

linspace(1,100,10)

[11223344556677889100]    % 个数为1,最后 个数为100,整 个向量构成了一个等差数列,由10个元素组成

linspace(1,99,10)

[1 11.8889 22.7778 33.6667 44.5556 55.4444 66.3333 77.2222 88.1111 99]

%第一个数为1,最后一个数为99,整个向量由10个元素组成构成了一个等

差数列,MATLAB会自动计算等差数列的步长。

linspace(1,10)

[11.09091.18181.27271.3636 ....9.81829.909110]

%如果不指定第三个输入参数n,则默认生成100个元素的等差数列

linspace(100,1,10)

[100 89 78 67 56 45 34 23 12 1]%如果a>b,则步长是负数

 注意:

  1. (1)linspace不需要指定步长,MATLAB会根据你给定的元素个数n 自动计算出来;而使用冒号法可以自己指定步长。
  2. (2)linspace生成的向量的最后一个元素一定是b,而使用冒号法 a:step:b生成的向量的最后元素不一定是b。

logspace函数

logspace(a,b):    创建一个行向量,其第一个元素为10^a,   最后一个元素为10^b,  形成总数为50个元素的等比数列向量。

logspace(a,b,n):创建一个行向量,其第一个元素为10^a,最后一个元素为10^b,形成总数为n个元素的等比数列向量。

代码

结果和相应的解释

logspace(2,1,5)

[100 56.234 31.623 17.783 10]

%第一个数为10^2,最后一个数为10^1,5个元素组成的等比数列

logspace(log10(2),log10(1024),10)    [2 4 8 16 32 64 128 256 512 1024]               

                                                        %第一个数为2,最后一个数为1024,10个元素组成的等比数列


向量元素的引用

MATLAB 中,可以使用length  函数或 numel 函数来计算向量中包含的元素个数。

例如:a=[1,3,8,9,7];length(a) 或 numel(a) 的返回结果是5,因为向量a中有五个元素。

假如我们有一个行向量 a,  里面包含了n 个元素 (n 是大于等于1的常数),它们分别是 a₁,a₂,…,an.   那么我们可以列一个表格:

向量的元素

a₁

a₂

a₃

······

an-1

an

索引(下标)

1

2

3

·······

n-1

n

从上表可以看出,索引就是指某一个元素在向量中对应的位置,也可以称为元素在向量中所处的下标,在MATLAB中,向量的索引是从1开始的。


(1)单个元素引用

我们提取向量a 中单个元素的方法很简单,只需要利用a(index)命令,小括号中的 index就是你要提取的对应元素的索引。(注意:创建向量用中括号,提取元素要用小括号哦!)

报错的两种情况:1.索引超出数组元素的数目数组        2.索引取成0、负数或者小数


(2)多个元素引用

类似的,我们也可以利用向量的索引来同时提取多个位置的元素,这时候只需要将 index 设置成一个向量,index 中放入我们想要提取的元素的索引,然后使用a(index)命令即可。

例如,以向量 a [ 2 4 8 16 32 64 128 256 512 1024 ] 我们令 index = [ 1 3 5 7 9 ],那么 a(index)的结果为[2 8 32 128 512],即我们提取了向量a中奇数位置的元素。熟悉向量冒号创建方法的同学应该能够看出,index 等于1 : 2 : 9,因此我们可以直接将a(index)写成 a(1: 2 : 9), 这就表示提取 a 中奇数位置的元素;类似的,提取 a 中偶数位置 元素的命令是a(2 : 2 : 10),如果你不熟练的话,可以分成两步写,即先令 ind=2:2:10,然后再使 用a(ind)的命令。当然,对于同一个位置的元素,我们也可以提取多次,例如:ind = [1 2 2 3 3 3],那么 a(ind)得到的结果应该是[ 2 4 4 8 8 8 ],以后熟悉的话可以直接写成a( [ 1 2 2 3 3 3 ] )

技巧:使用end 索引

不知道向量 a 中有多少个元素,也不想使用length 函数或者numel函数来计算向量中元素的个数,那能不能提取出a 中奇数位置的元素呢?这时候就需要用到一 个特殊的关键字:end。 它有很多种用法,在这里end 可以用来替代向量的最后一个索引

例如,我现在要访问a 中第五个至最后一个元素,那么我们可以直接使用a(5:end), 这里的end 就表示了a 的最后一个索引;另外,我们还可以对end 进行计算,例如要访问a 中第五个至倒数第三个元素,我们可以使用a(5:end-2),得到的结果为[ 32 64 128 256 ]。


向量元素的修改和删除

前面我们介绍了向量元素的引用,我们可以利用等号赋值的方法对引用位置的元素进行修改和删除。令向量a = [ 2 4 8 16 32 64 128],请大家依次执行下面的代码:

请依次执行下面的代码             修改后的向量a

a(1)=4 %第一个元素改成4

[4 4 8 16 32 64 128]

a([1,3])=[50 60]%第1个位置元素改成50;第3个位置元素改成60

[50 4 60 16 32 64 128]

a(1:3)=[56]%赋值时,左右两侧的元素个数要相 同,左边引用了3个位置,右侧的向量长度为2

MATLAB报错:无法执行赋值,因为左侧和右侧的

元素数目不同。

a(2:4)=100 %如果右边为常数,则将指定位置的 元素全部变成这个常数。

%第2至4号位的元素改为了100

[50 100 100 100 32 64 128]

a(10)=88 %把索引为10的元素赋值为88,如果 超过了最大索引,则会自动拓展向量的大小

[50 100 100 100 32 64 128 0 0 88]

%索引8和9的位置会自动用0进行赋值

 如果我们将等号右侧变成空向量[],则表示删除对应位置的元素。

a(1)=[ ]%删除a的第一个元素

[100 100 100 32 64 128]

a(end-1:end)=[ ]%删除a中最后两个元素

[100 100 100 32 64]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37930.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软Edge浏览器多用户配置文件管理:个性化浏览体验

在家庭或工作环境中&#xff0c;经常需要在同一台计算机上为多个用户创建和管理独立的浏览体验。微软Edge浏览器提供了多用户配置文件管理功能&#xff0c;允许用户为每个账户设置独立的书签、历史记录、密码、扩展和设置。本文将详细介绍如何在微软Edge中管理多个用户配置文件…

连接Sql Server时报错:无法通过使用安全套接字层加密与 SQL Server 建立安全连接

JDBC连接Sql Server时报错:无法通过使用安全套接字层加密与 SQL Server 建立安全连接 前言解决办法一解决办法二总结 前言 今天使用jdbc连接sql server突然报错为&#xff1a;SQLServerException: “Encrypt”属性设置为“true”且 “trustServerCertificate”属性设置为“fals…

GoMate:配置化模块化的Retrieval-Augmented Generation (RAG) 框架

文章目录 GoMate简介1.1 GoMate的核心技术文档解析向量存储嵌入模型问题查询文本生成文档更新 1.2 GoMate的应用领域智能客服知识库构建内容生成教育培训法律文书处理 GoMate的产品特色2.1 文档解析2.2 向量存储2.3 嵌入模型2.4 问题查询2.5 文本生成2.6 文档更新 GoMate的使用…

解决SPA(单页应用)首屏加载速度慢

SPA是目前流行的前端开发模式&#xff0c;相对于传统的多页面用户体验更好&#xff0c;操作更顺畅&#xff0c;开发效率也更高。但是SPA首屏加载速度慢一直是个致命的问题&#xff0c;由于SPA应用首次打开需要一次性加载大量的静态资源&#xff0c;这就导致了加载速度慢的问题&…

监听设备方向变化?分享 1 段优质 JS 代码片段!

大家好&#xff0c;我是大澈&#xff01; 本文约 700 字&#xff0c;整篇阅读约需 1 分钟。 每日分享一段优质代码片段。 今天分享一段 JS 代码片段&#xff0c;用于在H5端监听设备方向的变化。 老规矩&#xff0c;先阅读代码片段并思考&#xff0c;再看代码解析再思考&#…

文件夹内-资源名称前加序号排列

问题&#xff1a;在文件夹下的资源可以按时间排序&#xff0c;导入unity后资源顺序会乱掉&#xff0c;不方便按顺序赋值&#xff0c;为了方便&#xff0c;通过下面方法在文件夹下统一在资源名称前按顺序加上序号 win11在文件夹内右键&#xff0c;选择——在终端中打开 输入&a…

制造企业用AI可以做什么?

ChatGPT横空出世&#xff0c;有关AI的浪潮席卷全球&#xff0c;比起人工智能如何改变世界&#xff0c;可能你更感兴趣我能用AI可以做的事情是什么&#xff1f; 制造企业用AI可以做的事情是什么?人工智能在制造企业中可以做很多事情&#xff0c;以下是一些主要的应用&#xff1…

企业源代码加密软件丨透明加密技术是什么

在一个繁忙的软件开发公司中&#xff0c;两位员工小李和小张正在讨论源代码安全的问题。 “小张&#xff0c;你有没有想过我们的源代码如果被泄露了怎么办&#xff1f;”小李担忧地问。 “是啊&#xff0c;这是个大问题。源代码是我们的核心竞争力&#xff0c;一旦泄露&#…

LUA 语言中subtree 的使用教程

在线编辑器&#xff1a; https://www.runoob.com/try/runcode.php?filenameHelloWorld&typelua 在Lua语言中&#xff0c;"subtree"通常指的是一个子表或者子树&#xff0c;它指的是一个Lua表&#xff08;table&#xff09;中的一个部分&#xff0c;可以是一个单…

<电力行业> - 《第8课:输电(一)》

1 输电环节的意义 电能的传输&#xff0c;是电力系统整体功能的重要组成环节。发电厂与电力负荷中心通常都位于不同地区。在水力、煤炭等一次能源资源条件适宜的地点建立发电厂&#xff0c;通过输电可以将电能输送到远离发电厂的负荷中心&#xff0c;使电能的开发和利用超越地…

哪些存储器内可以直接运行程序?

存储器是否可以运行程序&#xff0c;主要取决于其是否支持eXecute In Place (XIP) 或类似的直接执行特性。下面根据不同存储器进行分别说明&#xff1a; 1.PROM&#xff08;Programmable Read-Only Memory&#xff0c;可编程只读存储器&#xff09;是一种可以通过用户编程来存…

fiddler使用

1、设置抓取HTTPS的请求 先选中浏览器Browser---Chrome 默认是不抓https的数据包的 有时我们抓取的的包是https的&#xff0c;不是http的&#xff0c;就要做一些设置 Tools---Options 勾选Capture HTTPS CONNECTs 勾选Decrypt HTTPS traffic 勾选 Ignore server certificat…

(单机版)神魔大陆|v0.51.0|冰火荣耀

前言 今天给大家带来一款单机游戏的架设&#xff1a;神魔大陆v0.51.0:冰火荣耀。 如今市面上的资源参差不齐&#xff0c;大部分的都不能运行&#xff0c;本人亲自测试&#xff0c;运行视频如下&#xff1a; (单机版)神魔大陆 下面我将详细的教程交给大家&#xff0c;请耐心阅…

[数据集][目标检测]电力场景下电柜箱门把手检测数据集VOC+YOLO格式1167张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1167 标注数量(xml文件个数)&#xff1a;1167 标注数量(txt文件个数)&#xff1a;1167 标注…

编译工具-Gradle

文章目录 Idea中配置Gradle项目project目录settings.gradlebuild.gradlegradlewgradlew.bat Gradle Build生命周期编写Settings.gradle编写Build.gradleTasksPlugins Idea中配置 配置项&#xff1a;gradle位置 及仓库位置 Gradle项目 Task&#xff0c;settings.gradle,build.…

微型无人机未来发展方向

尽管今天的纳米和微型无人机显示出比早期系统大得多的能力&#xff0c;但在速度、续航能力、航程和有效载荷能力方面仍然存在局限性。在任何或所有这些领域的改进将使部队能够在推进或打击之前收集更大、更详细的可操作情报。这将允许优化任务规划&#xff0c;并有可能减少伤亡…

java一面 哭了-------

常见的设计模式 首先设计模式可分为三大类 创建型模式 单例模式&#xff1a;一个类只有一个实例&#xff0c;并提供全局访问&#xff1b;工厂模式&#xff1a;将创建实例的过程隐藏&#xff0c;实例通过一个工厂方法返回&#xff1b;抽象工厂模式&#xff1a;提供一个创建实…

Web渗透-命令执行漏洞及常见靶场探测实战

一、概述 命令执行&#xff08;RCE&#xff09;&#xff1a;应用有时需要调用一些执行系统命令的函数&#xff0c;如php中的system,exec,shell exec,passthru,popen,proc popen等&#xff0c;当用户能控制这些函数的参数时&#xff0c;就可以将恶意系统命令拼接到正常命令中&a…

004-GeoGebra基础篇-GeoGebra的点

新手刚开始操作GeoGebra的时候一般都会恨之入骨&#xff0c;因为有些操作不进行学习确实有些难以凭自己发现。 目录 一、点的基本操作1. 通过工具界面添加点2. 关于点的选择&#xff08;对象选择通用方法&#xff09;&#xff08;1&#xff09;选择工具法&#xff08;2&#xf…

【高考志愿】光学工程

目录 一、专业概述 二、专业特点 三、研究和就业方向 3.1 研究方向 3.2 就业方向 四、光学工程专业排名 高考志愿选择光学工程专业无疑是一项既具深度又富挑战性的明智之举。这个古老而充满魅力的专业&#xff0c;正逐渐崭露其在现代社会中的重要性与独特魅力。 一、专业…