1命令行中输入help+工具箱名或函数名,可以显示对应的功能信息。
2 matlab中同样支持复数变量,表示方法为a=m+ni(j)。
当n是表达式时,n与i(j)之间必须要加乘号b=1+a*i。
另外也可以用complex(x,y)来产生复数。
在循环程序段中一般不把i和j作为变量名称,以免生成数据时发生误解。
3>> i=5;>> a=5+2ia =5.0000 + 2.0000i>> a=5+2*ia =154 first:increment:last表示创建一个从first开始,到last结束,数据元素的增量为increment的等差数组。
冒号表示直接定义数据元素之间的增量,而不是数据元素个数。
若增量为1,上面创建数组的方式可简写为: first:last。
5 linspace通过直接定义数据元素个数,而不是数据元素之间的增量来创建数组。
此函数的调用格式如下:linspace(firstvalue,lastvalue,number)6,与linspace一样,logspace函数也通过直接定义数据元素个数,而不是数据元素之间的增量来创建数组。
logspace函数的调用格式为:logspace(firstvalue,lastvalue,number)此函数表示创建一个从10的firstvalue次幂开始,到10的lastvalue次幂结束,包含有number个数据元素的等比数组7,数组与标量的四则运算是指数组中的每个元素与标量进行加、减、乘、除运算。
数组的指数运算为exp,以2为底的指数运算为pow2;数组自然对数运算为log,常用对数运算为log10,以2为底的对数运算为log2,开方运算sqrt。
数组与数组之间进行运算时,每个数组必须具有相同的维数,且必须用点乘或点除。
这些运算都是数组中每个元素进行相对应的运算.a=exp([1 2])a =2.7183 7.3891查询x数组的第n个元素,x(n);查询x数组的第2到4个元素,x(2:4);查询x数组的第4到最后1个元素,x(4:end);查询x数组的第3、2、1个元素,x(3:-1:1);查询x数组的小于n元素,x(find(x<n));查询x数组的第4、2、5个元素,x([4 2 5]);将x数组的第n个元素赋值为A,x(n)=A;查询数组A的第2行,第3列的元素,A(2,3);查询数组A的第3行所有的元素,A(3,:);查询数组A的第2列转置后所有的元素,(A(:,2))’。
8,,sort(x)命令将数组x中的元素按升序排列。
当x是多维数组时,命令是将x中各列元素按升序排列;当x是一个字符型单元数组,命令是将x中的元素按ASCп码升序排列;当x数据类型是复数,命令将按各元素的模升序排列;y=sort(x,mode)中,mode决定排序方式,选择ascend将按升序排列,选择descend将按降序排列,y与x保持相同大小sort(x,'descend') 9向量点积运算:在高等数学中,向量的点积是指两个向量在其中某一向量方向上的投影的乘积,它通常来定义向量的长度,是个数值。
c=dot(a,b)表示向量a与b的点积放在c中,a与b长度必须相同。
向量叉积运算:在高等数学中,向量的叉积是过两个向量的交点并且与这两个向量所在平面相垂直的向量,是个向量。
c=cross(a,b)表示向量a与b的叉积放在c中,a与b必须是三个元素的向量,生成的仍然是一个三维的向量。
10 在矩阵与常数进行除法运算时,常数通常只能作为除数。
11 矩阵与矩阵之间的加减法就是矩阵中各元素之间的加减运算,矩阵必须具有相同的维数。
矩阵与矩阵之间的乘法与除法要符合矩阵之间的乘除法则。
大小完全相同的方阵即可进行乘除运算,也可以进行点乘点除运算,但结果是不同的。
矩阵的左除为矩阵乘法的逆运算,若AB=C,则B=A\C,矩阵左除常用于解线性方程组AX=B。
矩阵的右除也为矩阵乘法的逆运算,若AB=C,则A=C/B。
12矩阵的变向包括对矩阵进行旋转、上下翻转、左右翻转以及对指定的维进行翻转。
其调用格式如下:rot90(a)命令返回矩阵a按逆时针旋转90度所得的矩阵。
rot90(a,k)命令返回矩阵a按逆时针旋转90*k度所得的矩阵。
flipud(x)命令将矩阵x上下翻转。
fliplr(x)命令将矩阵x左右翻转。
flipdim(x,dim)命令将矩阵x的dim维翻转。
13空矩阵:空矩阵用[]表示,空矩阵大小为零,但变量名存在于工作空间。
零矩阵:a=zeros(m,n),a=zeros(size(b))其中b是已存在的矩阵,若a是方阵也可a=zeros(n)。
全1矩阵: a=ones(m,n),a=ones(size(b))其中b是已存在的矩阵,若a是方阵也可a=ones(n)。
单位矩阵: a=eye(m,n),a=eye(size(b))其中b是已存在的矩阵,若a是方阵也可a=eye(n)。
魔方矩阵:魔方矩阵是个方阵,其每一行,每一列,每条主对角线的和都相等(2阶除外)。
A=magic(n)范德蒙德矩阵:a=vender(v),其中a(i,j)=v(i)n-j14对角矩阵:对角矩阵指的是对角线上的元素为任意数,其它元素为零的矩阵。
a=diag(v,k)中,v是向量,k为向量v偏离主对角线的列数,k等于零时表示v为主对角线,k大于零时表示v在主对角线以上,k小于零时表示v在主对角线以下。
a=diag(v)相当于a=diag(v,0)。
15随机矩阵:随机矩阵是指矩阵元素由随机数构成的矩阵。
rand(n)命令生成n*n阶随机矩阵,生成矩阵的元素值在区间(0.0,1.0)之间。
rand(m,n) 命令生成m*n阶随机矩阵,生成矩阵的元素值在区间(0.0,1.0)之间。
randn(n)命令生成n*n阶随机矩阵,生成矩阵的元素值在服从正态分布N(0,1)。
randn(m,n) 命令生成m*n阶随机矩阵,生成矩阵的元素值在服从正态分布N(0,1)16上三角矩阵和下三角矩阵tril(a,k)命令的功能是提取矩阵的下三角矩阵,k为正数时,非零元素向右上角错k行,k为负数时,非零元素向左下角错k行。
triu(a,k)命令的功能是提取矩阵的上三角矩阵, k为正数时,非零元素向右上角错k行,k为负数时,非零元素向左下角错k行。
17用新的行或列取代原有矩阵的行或列,格式为b(n,:)=a(n,:)或b(:,n)=a(:,n)。
从矩阵中选取子矩阵,格式为b=a(m:n,m:n)。
(前面的m:n是行数,后面的m:n是列数)将矩阵改成行向量或列向量,格式为b=a(:)’。
1 23 4>> b=a(:)'b =1 32 4矩阵的水平连接用horzcat(a,b)或[a,b]。
矩阵的垂直连接用vertcat(a,b)或[a;b]。
18length命令是获取矩阵最长方向的长度;ndims命令是获取矩阵的维数;numel命令是获取矩阵的元素个数;size命令是获取矩阵大小信息,及几行几列。
19a=sparse(i,j,s)生成m*n阶的稀疏矩阵a,向量s的元素分布在以向量i的对应值和向量j的对应值为坐标的位置上,其中m=max(i),n=max(j)。
a=sparse(m,n)就是 a=sparse([],[],[],m,n,0)的简化形式。
生成n 阶稀疏方阵时必须用a=sparse(n,n),不能用a=sparse(n)。
s=full(x)将稀疏矩阵x转化为满矩阵S.a=sparse(x)将满矩阵x转化为稀疏矩阵a。
a=sparse(i,j,s,m,n,nzm)生成m*n阶的稀疏矩阵a,向量s的元素分布在以向量i的对应值和向量j的对应值为坐标的位置上,nzm为给出的矩阵存储的非零元素的个数,不能小于s的长度,此时nzmax 是返回用于存储非零值的空间长度。
a=sparse(i,j,s,m,n)生成m*n阶的稀疏矩阵a,向量s的元素分布在以向量i的对应值和向量j的对应值为坐标的位置上,其中nzmax=length(s)。
20i=find(x)返回矩阵x的非零元素的位置,按照列数优先的原则选取。
[i,j]=find(x)返回矩阵x的非零元素的所在行和所在列的位置,按照列数优先的原则表述。
[i,j,v]=find(x)除了返回矩阵x的非零元素的行列之外,还返回矩阵中非零元素的值,按照列数优先的原则表述。
n=nnz(s)返回矩阵s中非零元素的个数。
d=nnz(s)/prod(size(s))表示稀疏矩阵s中非零元素的密度。
p rod 表示矩阵s行数与列数的乘积,既表明s中元素的总个数。
nonzeros(x)返回非零值。
issparse(s)判断s是否是稀疏矩阵,返回1则说明矩阵s是稀疏矩阵,返回0则说明矩阵s不是稀疏矩阵21为了形象地显示稀疏矩阵的密度,可以用稀疏矩阵图像化函数spy,其语法格式如下:spy(s)输出任意稀疏矩阵的图形,其横坐标表示列数,纵坐标表示行数。
该图形中对非零元素相应的坐标显示一个圆点,圆点的颜色为蓝色。
圆点大小与非零元素的数值无关。
对于矩阵中零元素相应位置显示空白。
spy(s,markersize)通过markersize改变圆点大小。
spy(s,’linespec’,markersize)通过linespec改变标记的类型和颜色。
22多项式的四则运算主要是加、减、乘、除运算。
加减运算时向量的大小必须相等,低阶的必须用首零补齐。
乘法运算t=conv(t1,t2)。
除法运算[t r]=deconv(t1,t2),t多项式相除后的商向量,r多项式相除后的余向量。
23多项式的导数运算用函数polyder实现,其调用方式为:k=polyder(p),返回多项式p的导数,k仍是一系数多项式;k=polyder(a,b)返回多项式a与多项式b乘积的导数, k仍是一系数多项式;[p,q]=polyder(a,b)返回多项式a除以b的商的导数,并以p/q的格式表示,参照商的导数规则。
多项式的积分运算是采用polyint函数来实现的,其调用方式如下:k=polyint(p,m),返回多项式p的积分,设积分的常数项为m;k=polyint(p),返回多项式p的积分,设积分的常数项为零。
24多项式的估值,即求给定点的多项式函数的值,用polyval(p,s)和polyvalm(p,s)来实现,后者实现的是矩阵运算。
>> a=[2 5 0 4 1 4];>> b=polyval(a,[3 4]) 3,4为常数带入a这个多项式求解多项式的值b =934 340025多项式的求根运算使用函数roots来实现,其调用格式如下:r=roots(c)返回多项式c的所有根r。