1.在命令窗口输入命令时,可以不必每输入一条命令就按enter键执行,可以在输入几行后一同运行。方法是:换行时,只要在按住<shift>键的同时按<enter>键即可,否则matlab就会执行上面输入的所有语句。
2.如何将数据文件导入matlab中并画图:点击file中import data,然后就可以导入文件,然后再workspace里面,点击该数据文件,就可以出现以下图形:
选择该两列,就可以看到在上面有一个scatter然后点击,就可以出现以下图形:
3.分号“;”的作用:用做矩阵(数组)的行间分隔符,用做不显示计算结果的命令。
4.稀疏矩阵
定义:矩阵大部分元素是0,少部分元素是非零元素,这种矩阵是稀疏矩阵。
S=sparse(A);
full(S);
nnz(S);
spy(S);
spy(s,,‘*’,16) 表示用’*’号显示,大小为16。如图:
5.注意矩阵的乘法A*B和A.*B的区别:A*B就是A与B的直接相乘,如果是A.*B就是A与B中的对应项相乘。 “./”也是一样的,就是对应项相除。
6.奇异矩阵就是方阵并且行列式为0的矩阵。
7.二维图像绘制
(1)基本函数绘制 plot 既可以绘制实线,也可以绘制点线。
<1> plot(X,Y) %X,Y为同维向量时,绘制以X、Y元素为横,纵坐标的一条线;X为列向量,Y为矩阵时,按Y列绘制多条不同颜色的曲线,X为这些曲线共同的横坐标。
<2> plot(X,Y,LineSpec) %参数LineSpec用于指出线条的类型,标记符号和颜色。
<3> plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2...) %当Xi和Yi成对出现时,将分别按顺序取两数据Xi和Yi进行画图。
<4> plot(..., ‘PropertyName’,PropertyValue,...)%对图形对象中指定的属性进行设置。
For example:
x=0:0.1:2;
y=1+exp(x);
Plot(x,y, ‘-+b’)
其中,‘-’表示实线,‘+’表示点类型,b表示蓝色。
t=[-pi:pi/100:2*pi]’;k=1:6; y=sin(t)*k;
Plot(t,y) %y是矩阵形式
(2)图形标注
<1> 坐标轴名
格式:xlabel(‘string’)
Ylabel(‘string’)
分别给x轴和y轴添加标签
<2> 图名
格式:title(‘string’) 在当前坐标轴上方正中央放置字符串string做为标题。
<3> 图例
格式:legend(‘string1’,’string2’,...)
用指定文字给当前坐标轴添加图例。
For example:
t=0:pi/100:pi;
y1=sin(t);y2=sin(-t);
y3=sin(t).*sin(5*t);
plot(t,y1, ‘-.r’,t,y2, ‘-.k’,t,y3, ‘-bo’)
xlabel(‘时间’);ylabel(‘幅度’);
Title(‘波形及包络线’);
Legend(‘y=sint’, ‘y=-sint’, ‘y=sinsin5t’)
上面的图形标注都是使用标注函数直接写在程序中的,当执行程序后,图形中会自动添加图形标注。但是我们也可以根据图形菜单进行标注,打开图形窗口(Figure)菜单栏中的insert菜单,这时候就可以在图像上添加标注。
(3)图像控制命令
<1>clf %清除所有当前图像窗口
(4)迭加绘图
<1>hold on %保留当前图像与当前坐标轴的属性值,使用后面的图形命令只能在当前存在的坐标轴中增加图形。
<2>hold off %在绘制新图形之前,重新设置坐标轴的属性为默认值,关闭hold on功能。
<3>hold %在on和off之间切换,即在增加图形和覆盖图形之间切换。
<4>hold all %保留当前颜色和线型,在绘制随后的图形时使用当前颜色和线型。
For example:
x=linspace(0,2*pi,60);y=sin(x);
plot(x,y,’b’);
xlabel(‘自变量’),ylabel(‘因变量’);
Hold on;
z=0.5*sin(x);
plot(x,z,’k:’);
legend(‘y=sin(x)’,’z=0.5*sin(x)’);
hold off
(5)多子图
在同一图形框内布置几幅独立的子图。
格式:subplot(m,n,k) %将一个图形窗口分成m*n个小窗口(子图),k是子图的编号。序号原则是:左上方的为第一幅,然后向右、向下依次排好。
subplot(‘Position’,[left bottom width height]) %在由4个元素指定的位置上创建坐标轴。
x=-4:0.1:4;
subplot(2,2,1);
y1=1/sqrt(2*pi)*exp(-1/2*x.^2),plot(x,y1);
xlabel('变量x'),ylabel('变量密度y'),title('正太分布N(0,1)');
subplot(2,2,2);
y2=1/sqrt(2*pi)/2*exp(-1/2/4*x.^2),plot(x,y2);
xlabel('变量x'),ylabel('概率密度y')
title('正太分布N(0,4)');
subplot(2,2,3);
y3=1/sqrt(2*pi)/0.5*exp(-1/2/(0.5^2)*(x-1).^2),plot(x,y3);
xlabel('变量x'),ylabel('概率密度y'),title('正太分布N(1,1/4)');
subplot(2,2,4);
y4=1/sqrt(2*pi)/0.5*exp(-1/2/(0.5^2)*(x+1).^2),plot(x,y4)
xlabel('变量x'),ylabel('概率密度y'),title('正太分布N(-1,1/4)')
(6)多个图形窗口
格式: Figure(n) %创建新的图形窗口或显示当前图形窗口。n是这个窗口的编号,figure(1)是默认值,不需要声明。
>> t=-4:0.1:4;x=sin(t);plot(t,x,'b^')
>> t=-4:0.1:4;x=sin(t);plot(t,x,'b^')
>> xlabel('t');ylabel('x');title('函数x=sint的图形');
>> figure(2)
>> y=cos(t);plot(t,y,'kp');
>> xlabel('t');ylabel('y');title('函数y=cost的图形');
>> figure(3)
>> z=sin(t).*cos(t);plot(t,z,'kh')
>> xlabel('t');ylabel('z');title('函数z=sincost的图形')
(7)对数比例坐标轴
loglog(x,y) %双对数坐标,在x轴,y轴按对数比例绘制二维图形。
Semilogx %半对数坐标,在x轴按对数比例,y轴按线型比例绘制二维图形。
Semilogy %半对数坐标,在y轴按对数比例,x轴按线型比例绘制二维图形。
x=linspace(0,5,20);y=exp(x);
>> subplot(2,2,1),plot(x,y),xlabel('x'),ylabel('y');
>> subplot(2,2,2),loglog(x,y),xlabel('logx'),ylabel('logy');
>> subplot(2,2,3),semilogx(x,y),xlabel('logx'),ylabel('y');
>> subplot(2,2,4),semilogy(x,y),xlabel('x'),ylabel('logy');
>>
(8)双纵坐标图
格式:plotyy(x1,y1,x2,y2) %绘制双纵坐标二维图形,x1和y1所对应的图形的纵坐标标注在图形的左边,x2和y2所对应图形的纵坐标标注在图形的右边。
>> x=0:0.1:4;y=x.*sin(x);s=sin(x)-x.*cos(x);
>> plotyy(x,y,x,s);
>> text(0.5,0,'fontsize{14}ity=xsinx')
>>text(2.5,3.5,['fontsize{14}its=','{fontsize{16} int_{fontsize{8}0}^{ x}}','fontsize{14}itxsinxdx'])
(9) 泛函绘图
泛函函数fplot(‘function’,limits,LineSpec)
fplot(‘function’,limits,LineSpec,tol)
说明:
(1)在指定的范围limits内绘制出函数名为function的一元函数图像,其中limits是一个指定x轴的向量[xmin xmax],或者是x轴和y轴的范围向量[xmin xmax ymin ymax]。Tol为相对允许误差,默认值为2e-3.
(2)函数function必须是M函数文件或者只包含一个变量x的函数字符串。
(3)用指定的线型LineSpec绘制出函数function.
For example:
fplot('exp(2*x)',[0 2],'o')
图像为:
fplot(‘[sin(x),cos(x)]’,[0 2*pi-1.2 1.2],’-*’,1e-3)
(10) 简易函数绘图