1、1、特殊变量与常数ans 计算结果的变量名computer 确定运行的计算机eps 浮点相对精度Inf 无穷大I 虚数单位inputname 输入参数名NaN 非数nargin 输入参数个数nargout 输出参数的数目pi 圆周率nargoutchk 有效的输出参数数目realmax 最大正浮点数realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符+ 加 - 减* 矩阵乘法 .* 数组乘(对应元素相乘) 矩阵幂 . 数组幂(各个元素求幂) 左除或反斜杠 / 右除或斜面杠./ 数组除(对应元素除)kron Kronecker 张量积 :
2、 冒号 () 圆括 方括 . 小数点父目录 . 继续 , 逗号(分割多条命令) ; 分号(禁止结果显示)% 注释 ! 感叹号 转置或引用= 赋值 = 相等A=1 2 3; 4 5 6 B=1 2 3 C=4; 5; 6 注意: (1) MATLAB 中所有的矩阵与向量均包含在中括号之中。如果矩阵的大小为 11,则它表示一个标量,如 a=3 % a 表示一个数 (2) 矩阵与向量中的元素可以为复数,在 MATLAB 中内置虚数单元为 i、j;虚数的表达很直观,如 34*i 或者 34*j 。 技巧: (1) MATLAB中对矩阵或向量元素的引用方式与通常矩阵的引用方式一致,如 A(2 ,3)表示
3、矩阵 A 的第 2 行第 3 列的元素。如若对 A 的第 2 行第 3 列的元素重新赋值,只需键入如下命令: A(2,3)=8; 则矩阵 A 变为 A = 1 2 3 4 5 8 (2) MATLAB中分号(;)的作用有两点:一是作为矩阵或向量的分行符,二是作为矩阵或向量的输出开关控制符。即如果输入矩阵或向量后键入分号,则矩阵与向量不在 MATLAB 命令窗口中显示,否则将在命令窗口中显示。如输入矩阵 A=1 2 3; 4 5 6 % 按下 Enter 键,则在 MATLAB 命令窗口中显示 A = 1 2 3 4 5 6 A=1 2 3; 4 5 6; % 按下 Enter 键,在 MATL
4、AB 命令窗口中无显示 (3) 冒号操作符(:)的应用。冒号操作符在建立矩阵的索引与引用时非常方便且直接。如上述对多维矩阵 F 的建立中,冒号操作符表示对矩阵 F 第一维与第二维所有元素按照其顺序进行引用,从而对 F 进行快速赋值,无需一一赋值。如 B=2:5 % 对向量进行赋值 B= 2 3 4 5 B(1:3)=2 % 向量 B 从第 1 个到第 3 个元素全部赋值为 2 B= 2 2 2 5 C=6: -2:0 % 将向量 C 进行递减赋值,初始值为 6,终止值为0,步长为2 C= 6 4 2 0 二、MATLAB 计算单元的基本操作 1. 矩阵加法与减法 如果矩阵 A 与矩阵 B 具有
5、相同的维数,则可以定义矩阵的加法与减法,其结果为矩阵相应元素作运算所构成的矩阵。矩阵加法与减法在 MATLAB 中的表达方式为 C=A+B; % C 为矩阵 A 与 B 之和 D=A-B; % D 为矩阵 A 与 B 之差 若 A=1,2,3;4,5,6; B=0,2,1;2,5,3; 则 C= 1 4 4 6 10 9 D= 1 0 2 2 0 3 矩阵与标量的加法与减法是指标量本身与矩阵所有元素进行相应运算,如若 b1,E=A+b,则 E= 2 3 4 5 6 7 2. 矩阵的乘法与除法 如果矩阵 A 的列数等于矩阵 B 的行数,则矩阵 A、B 可以相乘。其结果 C=AB在 MATLAB
6、中可表示为 C=A*B; % A、B 相乘,若 A、B 不满足矩阵乘法法则,MATLAB 会给出出错信息 若 A=1,2,3;4,5,6; B=1,2;0,3;2,1; 则 则 C= 7 11 16 29 如果矩阵 A 为方阵,A 的 p 次方可以用 Ap 表示。如果 p 是一个正整数,那么这个幂可以由矩阵的连续相乘定义。当 p=0 时,其结果为单位矩阵;当 pAB % 表示 A 的逆与 B 的左乘,即 inv(A)*B B/A % 表示 A 的逆与 B 的右乘,即 B* inv(A) 矩阵的左除和右除运算还可以用来求解矩阵方程 AX=B 的解: X=AB 如果 A 是一个方阵,X 就是方程的
7、解;如果 A 是一个行数大于列数的矩阵,X 就是方程的最小二乘解。 3. 矩阵的转置 转置是一种重要的矩阵运算,在 MATLAB 中由撇号表示: B=A % B 为 A 的转置 如果 A=1,2,3;4,5,6; 则 B=A B = 1 4 2 5 3 6 如果 A 中含有复数元素,则 A 的转置矩阵中的元素为原来元素的共轭。 4. 对矩阵元素的操作与运算 在上述各种常用运算中,所有的操作都是针对矩阵所有元素或一部分元素的操作。其实还可以对矩阵元素进行单独的操作运算。对于加法和减法,对矩阵元素的操作与对矩阵的操作是一致的。其它运算对于所有矩阵元素的操作需要在操作符前加点。 若 A=1,2;-1
8、,5 B=7,2;1,0 C=1+2*i,5-2*i;3+i,1+3*i 则 A.*B= % 矩阵对应元素相乘 7 4 -1 0 B./A= % 矩阵对应元素相除 7 1 -1 0 B.2= % 矩阵元素乘方运算 49 4 1 0 A.B= % 矩阵对应元素幂运算 1 4 -1 1 C.= % 矩阵转置 1.0000+2.0000i,3.0000+1.0000i 5.0000-2.0000i,1.0000+3.0000i三、多项式表达与基本运算 1. 多项式的建立 在 MATLAB 中,n 阶多项式 p(x)由一个长度为 n1 的向量 p 所表示,向量p 的元素为多项式的系数,且按照自变量 x
9、 的降序排列。若 n 阶多项式为: p(x)=anxn + an-1xn-1 + a2x2 + a1x +a0 则其在 MATLAB 中的表示方法为 p= an , an-1 , a2, a1, a0 注意,多项式中系数为 0 的项不能忽略,p 中相应元素应置为 0。如多项式在 MATLAB 中应表示为 p=3 0 2 3 2. MATLAB 中多项式操作函数简介 (1) roots(p):长度为 n 的向量,表示 n 阶多项式的根,即方程 p(x)=0 的根,可以为复数。 (2) conv(p,q):表示多项式 p,q 的乘积,一般也指 p,q 的卷积。 (3) poly(A):计算矩阵 A
10、 的特征多项式向量。 (4) poly(p):由长度为 n 的向量中的元素为根建立的多项式,结果是长度为 n1 的向量。 (5)polyval(p,x):若 x 为一数值,则计算多项式在 x 处的值;若 x 为向量,则计算多项式在 x 中每一元素处的值。 例: 求特征方程的特征根 p=3 0 2 3; r=roots(p) % rootp 为多项式的根 执行结果为 r = 0.3911 + 1.0609i 0.3911 - 1.0609i -0.7822 根据所求的特征根重建特征方程 p=poly(r); 执行结果为 p = 1.0000 -0.0000 0.6667 1.0000 例:求 和 的乘积,并求出 时多项式的指。 p=1 2 4; q=1 2; n=conv(p, q); 执行结果为 n = 1 4 8 8 value=polyval(n, -3); 执行结果为 value = -7 四、MATLAB 的基本绘图功能