matlab 画图基本介绍

1.在命令窗口输入命令时,可以不必每输入一条命令就按enter键执行,可以在输入几行后一同运行。方法是:换行时,只要在按住<shift>键的同时按<enter>键即可,否则matlab就会执行上面输入的所有语句。

2.如何将数据文件导入matlab中并画图:点击fileimport 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     %onoff之间切换,即在增加图形和覆盖图形之间切换。

  <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)     %绘制双纵坐标二维图形,x1y1所对应的图形的纵坐标标注在图形的左边,x2y2所对应图形的纵坐标标注在图形的右边。

>> 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) 简易函数绘图

     格式:ezplot(f)   %对于显函数f=f(x),-pi<=x<=pi(默认)上绘制f(x)的图形;对于隐函数f=f(x,y),在[-2pi<=x<=2pi,-2pi<=y<=2pi](默认)上绘制函数f(x,y)的图形。

      ezplot(f,[min,max])   %在指定的范围min<=x<=max绘制函数f=f(x)的图形。

     ezplot(f,[xmin,xmax],fign)  %在指定标号fign的窗口中,指定的范围。[xmin,xmax]内绘制函数f=f(x)的图形。

     ezplot(f,[xmin,xmax,ymin,ymax])  %[xmin<=x<=xmax, ymin<=y<=ymax]绘制f(x,y)=0的图形。

11.matlab 的注释

  点击ctrl+R,注释程序;可多次点击,多次注释同一次选中的代码;

  点击ctrl+T,取消注释程序。

12.3维图形的绘制

 1meshgrid

      Meshgrid是将向量转换成网络坐标的矩阵函数。

      格式:[X,Y]=meshgrid(x,y)  %生成二元函数z=f(x,y)XY平面上的矩阵定义域数据点矩阵XY

[X,Y,Z]=meshgrid(x,y,z)      %生成三元函数u=f(x,y,z)中立方体定义域中的数据点矩阵X,Y,Z.

 (2) plot3

     %X,Y,Z为同维向量组,分别表示曲线上点集的横坐标,纵坐标,和函数值。

plot3(X,Y,Z,LineSpec) %LineSpec表线性、标记符号、和颜色的字符串。

说明:常用来绘制单变量的参数曲线x=x(t),y=y(t)z=z(t)的三维函数图形。

(3) mesh 画网格曲面

   mesh(X,Y,Z,C)    %X,Y为坐标轴取值向量,ZXY平面上的函数值矩阵,C为色彩向量,当C固定时,网格图的色彩随Z的高度而改变。

   例如:

x=-3:0.1:3;y=1:0.1:6;

[X,Y]=meshgrid(x,y);

Z=(X+Y).^2;

mesh(X,Y,Z)

 

4)表面图 surf

 格式:surf(X,Y,Z)  %X,Y,Z为同维向量组,分别表示曲线上点集的横坐标、纵坐标和函数值,绘制出数据点(X,Y,Z)表示的曲面。

例如:

 t=linspace(0,pi/2,25);p=linspace(0,pi/2,25);

 [theta,phi]=meshgrid(t,p);

 x=cos(theta).*cos(phi);y=cos(theta).*sin(phi);z=sin(theta);

 surf(x,y,z);

 

 

5set函数

   set函数就是给一些图像设置属性的。

1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-'':''-.''--''none'
2.属性的操作
    set函数的调用格式为:
    set(句柄,属性名1,属性值1,属性名2,属性值2,…)

[fia,theta]=meshgrid([linspace(0,pi/2,5),pi/2])

x=cos(theta).*cos(fia);

y=cos(theta).*sin(fia);

z=sin(theta);

shading interp

% mesh(x,y,z)

set(mesh(x,y,z),'FaceColor','k','EdgeColor','none');

shading interp;

alpha(0.2);

hold on

 

 

(6)alpha函数

     alpha函数就是控制色彩的浓稠度的,

  如:alpha(0.5)  色彩的浓稠度就减少了一半。默认情况下是1.

 

 

 


  • 13
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值