向量
向量的定义
向量是由n个数a1,a2,···,an组成的有序数组,记成:
叫做n纬向量,向量a的第i个分量称为ai。
向量的生成
1.直接输入法
生成向量最直接的方法就是在命令行窗口直接输入。格式上要求如下。
- 向量元素需要用“[ ]”括起来。
- 元素之间可以用空格、逗号或分号分隔。
2.冒号法
基本格式是x=first:increment:last,表示创建一个从first开始,到last结束,数据元素的增量为increment的向量。若增量为1,上面创建向量的方式简写为x=first:last。
3.利用linspace函数创建向量
linspace通过直接定义数据元素的个数,而不是数据元之间的增量来创建向量。函数的调用格式如下:
linspace(first_value,last_value,number)
表示创建一个从first_value开始,到last_value结束,包含number个元素的向量。
4.利用logspace创建一个对数分割的向量
与linspace一样,logspace也通过直接定义向量元素个数,而不是数据元素之间的增量创建数组。函数调用格式如下:
logspace(first_value,last_value,number)
表示创建一个从10^first_value开始,到10^last_value结束,包含number个数据元素的向量。
向量元素的引用
向量的点积运算
在MATLAB中,可以用dot算出点积。
dot的调用格式如下:
dot(a,b):返回向量a和b的点积。需要说明的是,a和b必须同纬。
dot(a,b,dim):返回向量a和b在dim的点积
向量的叉积运算
在MATLAB中,可以用cross算出叉积。
cross的调用格式如下:
cross(a,b):返回向量a和b的叉积。需要说明的是,a和b必须是3维的向量
cross(a,b,dim):返回向量a和b在dim维的叉积。需要说明的是,a和b必须有相同的维数,size(a,dim)和size(b,dim)的结果必须为3
多项式
多项式的创建
构造带字符多项式的基本方法是直接输入,主要由26个英文字母及空格等一些特殊符号组成。
构造带数值多项式最简单的方法就是直接输入向量。这种方法通过poly2sym来实现。其调用格式如下:
poly2sym(p)
其中,p为多项式的系数向量。
多项式的四则运算
MATLAB没有提供专门的针对多项式的加减运算的函数,多项式的四则运算实际上是多项式对应的系数的四则运算。
多项式的四则运算是指多项式的加、减、乘、除运算。需要注意的是,相加、减的向量必须大小相等。介次不同时,低阶多项式必须用零填补,使其与高阶多项式有相同的阶次。多项式的加、减运算直接用“+”,“-”来实现。
1.乘法运算
多项式的乘法用函数conv来实现,相当于执行两个数组的卷积。
调用格式:conv(p,q)
2.除法运算
多项式的除法用函数deconv来实现,相当于执行两个数组的解卷。
调用格式:
[k,r]=deconv(p,q)
其中,k是多项式p除以q的商,r是余式。
[k,r]=deconv(p,q)等价于p=conv(q,k)+r
3.导数运算
多项式的导数运算用函数polyder来实现。
调用格式:polyder(p)
其中,p为多项式的系数向量。
4.求根运算
多项式的求根运算用函数roots来实现
调用格式:roots(p)
其中,p为多项式的系数向量
★ 已知多项式的根,可以用函数poly去求原多项式的系数向量。
特殊变量
特殊变量包括单元型变量和结构型变量。
单元型变量
单元型变量是以单元为元素的数组,每个元素称为单元,每个单元可以包含其他类型的数组,如实数矩阵、字符串、复数向量。单元型变量通常由“{ }”创建,其数据通过数组下标来引用。
单元型变量的定义有两种方式:
- 赋值语句直接定义
在直接赋值的过程中,与在矩阵中的定义中使用的括号不同,单元型变量的定义需要使用大括号,而元素间由逗号隔开。
- cell函数
在MATLAB中,可以用cell函数生成单元数组。
应用形式:
cell(N)生成一个n*n阶的置空的单元数组
cell(M,N)生成一个m*n阶的置空的单元数组
cell(M,N,P,···)生成一个m*n*p的置空的单元数组
cell(size(A))生成与A同形式的单元型的置空矩阵
有关单元型变量的函数表:
2.结构型变量
结构型变量是根据属性名字(field)组织起来的不同数据类型的集合。结构的任何一个属性可以包含不同的数据类型,如字符串、矩阵等。结构型变量用函数struct来创建。结构型变量数据通过属性名来引用。
调用格式:
s=struct('field',{ },'field',{ },···)表示建立一个空的结构数组,不含数据。
s=struct('field1',values1,'field2',value2,···)表示建立一个具有属性名和数据的结构数组。
有关结构型变量的函数表: