1. 自由探索之恢复
如果不小心关闭了当前路径窗口、命令历史记录窗口或命令窗口,可以通过菜单栏的“Desktop”菜单中“DesktopLayout } Default”恢复。
2. 打开简单的图形窗口
在命令窗口中的>>后面输入:
funtool
并按回车键。3. 注释
命令行中的百分号(%)起注释的作用,MATLAB自动将%以及其后的内容显示为绿色,在执行这个命令行的命令时,自动忽略%以及其后的内容。
4. 实数值矩阵的输入
不管是任何矩阵(向量),我们可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一对方括号([ ])内。
5. 特殊矩阵的生成
B=zeros(2) %生成2*2全零阵
B=zeros(2, 3) %生成2*3全零阵
B=zeros(size(Matrix_B)) %生成与矩阵Matrix_B 相同大小的全零阵
Y=eye(2) %生成2*2的单位阵
B=eye(size(B)) %生成与矩阵B相同大小的单位阵
Y = ones(n) %生成n×n全1阵
Y = ones(m,n) %生成m×n全1阵
Y = ones(size(A)) %生成与矩阵A相同大小的全1阵
6. 矩阵的加减运算
A=[1 2;3 4];B=[5,6;7,8];C=A+B,D=A-B
7. 矩阵的乘法
(1)矩阵相乘(*)
A=[1,2;-1,0];B=[1,2,3;4,5,6];C=A*B
(2)矩阵数乘(*)
A=[1,2,3;4,5,6];B=-2*A,C=A*(-2)
(3)向量点积(dot)
a=[1,2];b=[3,4];c=[3;4];d_1=dot(a,b),d_2=dot(a,c)
(4)向量叉乘(cross)
a=[1,0,-1];b=[0,1,2];c=cross(a,b),d=cross(b,a)
向量叉乘的计算:
a=(a1,b1,c1) b=(a2,b2,c2) 向量a×向量b= | i j k| |a1 b1 c1| |a2 b2 c2| =(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)8. 矩阵除法
MATLAB提供了两种除法运算:左除(\)和右除(/)。当矩阵A可逆时,X = A\B是方程A*X =B的解(这里当然还要求A的行数=B的行数),而X = C/A是方程X*A = C的解(这里当然还要求A的列数=C的列数)。
9. 矩阵乘方(^)
C=[1,2;2,1]^(-2)
要求[1,2;2,1]是可逆的。
10. 矩阵转置(’)
B=A’
若A为复数矩阵,则A’表示A的共轭转置。对于复数矩阵A,若仅希望转置,则用如下命令:A.’。
11. 方阵的行列式 (det)
det([1,2;3,4])
12. 方阵的逆矩阵(inv)
inv([1,2;3,4])
或者使用初等变换:
A=[1,2;3,4];B=[1,2,1,0;3,4,0,1];C=rref(B);C,X=X(:,3:4)
用format rat命令可以使输出格式为有理格式。
A=[2,1,-1;2,1,2;1,-1,1];format rat;D=inv(A) %可以用分数形式输出D矩阵
13. 方阵的迹(trace)
trace([1,2;-1,3])
14. 矩阵的秩(rank)
rank(A)
15. 求线性方程组的解
>> a_1=[5;1;0;0;0];a_2=[6;5;1;0;0];a_3=[0;6;5;1;0];a_4=[0;0;6;5;1];
>> a_5=[0;0;0;6;5];b=[1;0;0;0;1]; A=[a_1,a_2,a_3,a_4,a_5];D=det(A);
>> X=[]; %空矩阵
>> for i=1:5
A=[a_1,a_2,a_3,a_4,a_5];
A(:,i)=b; %把A的第i列换成b,下面一行的A的第i列就是b了
X=[X,det(A)/D]; %把det(A)/D的值(即x_i的值)添到原X后面
i=i+1;
end
>> format rat,X%这样得到的结果与图3.1.1中的结果是一样的
16. 二维曲线的简捷绘制
ezplot('x^2/4+y^2/5=1',[-3,3,-4,4]) %画出椭圆在区域[-3, 3]´[-4, 4]内的图形。
17. 在同一个坐标系内绘制多条曲线
命令格式:plot(x1,y1,'s1',x2,y2,'s2',…)
其中:'s1', 's2'等为可选参数,用来指定绘制曲线的线型、颜色、数据点形状等。
线型可选参数有:-(实线),:(虚线),-.(点划线)和- -(双划线)。
颜色可选参数有:y(黄色),m(品红色),c(青色),r(红色),g(绿色),b(蓝色),w(白色)和k(黑色)。
数据点可选参数有:.(实心点),o(圆圈),x(叉),+(十字),*(星号),s(方块),d(菱形),v(下三角),^(上三角),<(左三角),>(右三角),p(五角星)和h(六角星)。x = -pi:0.1:pi; %设置x的取值范围和取点间距
y1=exp(0.1*x).*sin(2*x); y2=x.*cos(x); %注意其中的.*
plot(x,y1,'* r',x,y2,'o b') %两条曲线用不同的数据点形状和颜色
18. 三维曲线的绘制
命令格式:plot3(x1,y1,z1,'s1',x2,y2,z2,'s2',…)
其中:'s1', 's2'等为可选参数,与plot中的用法完全相同,不选则使用默认设置。
如果只绘制一条三维曲线,也可以用简捷的绘制命令ezplot3,命令格式与ezplot类似。
t = 0:0.1:4*pi;
x = 2*cos(t);
y = 2*sin(t);
z = 1.5*t;
plot3(x,y,z), xlabel('x'), ylabel('y'),zlabel('z') % 标识坐标轴或者使用下面的命令,可以达到相同的效果:ezplot3('2*cos(t)','2*sin(t)', '1.5*t', [0,4*pi])
19. 三维网线图与表面图的绘制
命令格式:mesh(x,y,z)%绘制三维网线图
surf(x,y,z) %绘制三维表面图
也可以在调用命令时增加可选参数来改变图形的颜色和线型。
还可以用简捷的绘制命令ezmesh与ezsurf绘制三维网线图与表面图。
x = -2:0.1:2; y = -2:0.1:2; %设置x的取值范围和取点间距
[X,Y]=meshgrid(x,y); %用x和y产生“格点”矩阵
Z = sin(X.*Y); %计算“格点”矩阵的每个“格点”上的函数值
mesh(X,Y,Z) % 绘制网线图可以简单地使用下述命令绘制:ezsurf('x*exp(-x^2-y^2)')
x = -2:0.1:4; y = x; %设置x的取值范围和取点间距
[X,Y]=meshgrid(x,y); %用x和y产生“格点”矩阵
Z = X.^2+Y.^2; %计算“格点”矩阵的每个“格点”上的函数值
surf(X,Y,Z) %绘制曲面
20. 在同一个坐标系里绘制多个曲面
x=-20:1:20;y=x;
[X,Y]=meshgrid(x,y);
Z1=X+Y; %平面p1
Z2=2*X-Y+2*ones(size(X)); %平面p2
Z3=zeros(size(X));%平面p3
surf(X,Y,Z1),hold on,mesh(X,Y,Z2),mesh(X,Y,Z3)