>> A*B ans =
26 38 26 71 83 71
45 62 43 除法:
>> magic(3)/hilb(3) ans =
1.0e+003 *
0.2160 -1.1760 1.1400 0.0570 -0.4080 0.4500 -0.2280 1.2240 -1.1400
在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算.点运算符有.*、./、.\\和.^.两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同. >> A.*B ans =
8 2 18 12 25 42 8 27 10
MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于).
>> A>B ans =
0 1 0 1 0 0 0 0 1
MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非).
在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示.设参与逻辑运算的是两个标量a和b,那么,
a&b a,b全为非零时,运算结果为1,否则为0. a|b a,b中只要有一个非零,运算结果为1.
~a 当a是零时,运算结果为1;当a非零时,运算结果为0. 3. 矩阵操作和矩阵函数
矩阵通过下标引用矩阵的元素,矩阵元素的序号就是相应元素在内存中的排列顺序.在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推. (1) 矩阵拆分
利用冒号表达式获得子矩阵.A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素.A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素.
此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵.end表示某一维的末尾元素下标.
6
(2) 利用空矩阵删除矩阵的元素
在MATLAB中,定义[]为空矩阵.给变量X赋空矩阵的语句为X=[]. (3) 矩阵的转置
转置运算符是单撇号(‘). (4) 矩阵的旋转
利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略. (5) 矩阵的左右翻转
对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,?,依次类推.MATLAB对矩阵A实施左右翻转的函数是fliplr(A). (6) 矩阵的上下翻转
MATLAB对矩阵A实施上下翻转的函数是flipud(A). (7) 方阵A的逆矩阵inv(A) >> A=magic(3) A =
8 1 6 3 5 7 4 9 2 >> B=inv(A) B =
0.1472 -0.1444 0.0639 -0.0611 0.0222 0.1056 -0.0194 0.1889 -0.1028 >> A*B ans =
1.0000 0 -0.0000 -0.0000 1.0000 0
0.0000 0 1.0000 (8) 方阵的行列式 >> det(A) ans = -360
(9) 矩阵的迹 >> C=trace(A) C =
15
(10) 一些常用的基本初等三角函数 三角函数:sin(x),cos(x),tan(x)
反三角函数:asin(x),acos(x),atan(x) 指数函数:exp(x) 自然对数:log(x) 常用对数:log10(x)
以2为底的对数:log2(x) 开平方:sqrt(x) 绝对值:abs(x)
7
计算一般函数值:eval(f) 求虚部函数: imag(x) 求实部函数: real(x) 角相位函数:angle(x) 共轭复数函数:conj(x) 沿零方向取整 :fix (x) 舍入取整:round(x)
沿负无穷大方向取整:floor (x) 沿正无穷大方向取整:ceil(x) 求除法的余数: rem 符号函数:sign(x) 最大公约数:gcd() 4. 图形可视化
(1) 二维绘图指令plot
plot函数的基本调用格式为: plot(x,y,)
其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据. plot(x)
plot函数最简单的调用格式.当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线.实际上是绘制折线图.
plot(x1,y1,x2,y2,…,xn,yn)
当输入参数都为向量时,x1和y1,x2和y2,?,xn和yn分别组成一组向量对,每一组向量对的长度可以不同.每一向量对可以绘制出一条曲线,可以在同一坐标内绘制出多条曲线.
plotyy(x1,y1,x2,y2)
绘制出具有不同纵坐标标度的两个图形. hold on/off
保持原有图形还是刷新原有图形,不带参数的hold命令在两种状态之间进行切换.
plot(x1,y1,选项1,x2,y2,选项2,?,xn,yn,选项n) 设置曲线样式进行绘图. 选项字段见下表:
表 Matlab常用线形与颜色标记表 符号 线型 符号 线型 符号 线型 颜色 含义 - . ^ g 实线 实点标朝上三绿色 记 角 -- o < r 虚线 圆圈 朝左三红色 角 X > c : 点线 叉字符 朝右三青色 角 -. + p m 点划线 加号 五角星 洋红 * h y 星号 六角形 黄色 s k 方块 黑色 d w 菱形 白色
8
v 朝下三 b 角 (2) 图形标注:
title('图形名称'):图形标题 xlabel('x轴说明') ylabel('y轴说明') text(x,y,'图形说明')
legend('图例1','图例2',?)
gtext('用鼠标确定位置的字符说明') (3) 坐标控制axis
axis([xmin xmax ymin ymax zmin zmax]) axis函数功能丰富,常用的格式还有: axis equal:纵、横坐标轴采用等长刻度.
axis square:产生正方形坐标系(缺省为矩形). axis auto:使用缺省设置. axis off:取消坐标轴. axis on:显示坐标轴. grid on/off:网格开/关 box on/off:加/不加边框线
上述命令示例如下: >> x=1:length(peaks); >> plot(x,peaks); >> box on;
>> title('绘制混合图形'); >> xlabel('X轴'); >> ylabel('Y轴'); 绘制图像为:
蓝色 9
绘制混合图形108642Y轴0-2-4-6-80510152025X轴3035404550(4) 二维数值函数的专用绘图函数fplot
fplot(functionname,[a,b],tol,选项)
其中functionname为函数名,以字符串形式出现,[a,b]为绘图区间,tol为相对允许误差,其系统默认值为2e-3.选项定义与plot函数相同.
>> fplot(@(x)[tan(x),sin(x),cos(x)], 2*pi*[-1 1 -1 1]);
10