matlab 初级画图

微笑、不失礼 提交于 2021-02-14 22:53:44

matlab 初级画图

1.plot()

  plot(x,y)   plots each vector pairs (x,y)

  画图函数画出每个点   每组变量

  plot (y)   plots each vector pairs(x,y),where x=[1...n],n=length(y)

  仅有一个变量时  仅画出  当x=整数点时的对应y值得点

example:

  plot (cos(0:pi/20:2*pi));

  从0-2π   间隔为pi/20的  那些cos值

  x=0:1/1000:2*pi;     1/1000为步进值  越小越光滑     

  y=sin(x);         

  plot(x,y);

  

保持当前图的基础上再另加其他的图   需要用到指令   hold on   

  关闭功能为hold off
例如  hold on

  plot(sin(0:2pi));

  plot(cos(0:2pi));

  hold off

  

 plot style

 

 

hold on

plot (cos(0:pi/20:2*pi),'or');    对照上表中   or表示红色的圆圈

plot(sin(0:pi/20:2*pi).'xg');      xg 表示绿色的XX

hold off

如下图所示

 

 

legend()   图例

  1.add legend to graph 

    legend('L1',....)

  1.position adjustment   位置调节

  例如:

    x=0:0.05:4*pi;

    y=sin(x);

    h=cos(x);

    w=1./(1+exp(-x));

    g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));

    plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');

    legend('sin(x)','cos(x)','Sigmoid','Gauss function');

    如下图所示

      

title()  and  ?label()     标题和坐标轴

 title()      xlabel()     ylabel()    zlabel()

  xlabel('str');

  ylabel('str');

  title('str');

  str中的转义字符  例如pi   表示成π  则需要 输入\pi

    表示e的-x次方  需要输入   e^{-x}   大括号表示特殊的字元

 

text() and  annotation()

  text with mathematical expression using LaTex

x=linspace(0,3);  

X=[1:1:100]

y=x.^2.*sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str='$$ \int_{0}^{2} x^2\sin(x) dx $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);

 

1.

linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若默认N,默认点数为100。 X=linspace(1,100)

将产生从1到100步长为1的 数组。类似于在命令窗口中输入:X=[1:1:100]。
2.
line([起点横坐标,终点横坐标],[起点纵坐标,终点纵坐标]),
例line([1,2],[3,4])将画出(1,3)到(2,4)的一条直线,而不是(1,2)到(3,4)。

3.\int   就是积分符号       _{0}为下标     ^{2}  表示上标   ,x^2\sin(x)dx   为内容为x的平方sin(x)dx    ,$$为语法格式

4.'arrow','X',[0.32,0.5],'Y',[0.6,0.4]   其中的0.32和0.5为箭头的坐标

 

练习

plot f as a black line and g as aseries of red circles for the range t=1 to 2 in on figure

  f=t^2   and g=sin(2πt)

Label each axis, and add title and legend

 

 

hold on
t=linspace(1,2);
f=t.^2;
g=sin(2*pi*t);
plot(t,f,'k-',t,g,'ro');

xlabel('Time(ms)');
ylabel('f(t)');
title('Mini Assignment \#1');
legend('t^{2}','sin(2\pit)');
hold off

图示如下

 

Figure Adjustment

several properties: 

  font       font size  line width  axis limit  tick position  tick label

  字体  大小    线条宽度    轴的极限       步进位置           步进标签

first  step   what kinds of objects in the graph?

  a figure is composed of many objects?

  figure object        axes object       line object

层级关系

    hierarchy--》figure--》axes----》(line;text;surface;....)   对象的层级关系  分别是   图形    坐标轴    (线   文本  表面...)

    figure 的属性   编辑---》图形属性  调出界面

    

 

modifying properties of an  object

  strategy:

   1. identify the handle of an object     定义对象的句柄(变量实例);

   2. fetch or modify the object 's properties    获取或修改对象的属性

  example   

    1.upon creantion:

      h=plot(x,y);

      get(h);

        

        

  例子中的h指向line

  utility functions   工具函数

    gca     return handle of current axes   当前的坐标轴实例句柄

    gcf    return handle of the current figure  当前图像的实例句柄

    allchild  find all children of specified objects  所有特殊指定对象的孩子

    ancestor  find  ancestor of graphics object  图像中对象的祖先

    delete   delete an object

    findall   find all graphics  objects

  fetching modifying properties

    to fetch properties ,

      get()

    to modify properties

      set()

geting object properties  

  获取对象的属性

   get(h);

  get(gca);

setting axes limites

  set(gca,'XLim',[0,2*pi]);

  set(gca,'YLim',[-1.2,1.2]);

  alternative:

    xlim({0,2*pi});

    ylim({-1.2,1.2});

setting font and tick of axes

  set(gca,'FontSize ',25);

 

  set(gca,'XTick',0:pi/2:2*pi);     给定范围和步进

  set(gca,'XTickLabel',0:90:360);     以角度的形式替代上面的pi值

 

  set(gca,'FontName','symbol');      设置显示字类型   符号(字符串显示)

  set(gca,'XTickLabel',{0",'p/2','p','3p/2','2p'});    将坐标数值用字符显示   将字符列出

line specification

   line style and width

    set(h,'LineStyle','-.',...'LineWidth',7.0,'Color','g');   其中 ...表示 其余的参数可以输入   如果没有其余参数  则...去掉 

   alternative:

    plot(x,y,'-.g','LineWidth',7.0);

 删除delete(h);

Marker specification

  face and edge colors of the markder

    x=rand(20,1);      随机生成矩阵    数值大于等于0   20个数

    set(gca,'FontSize',18);

    plot(x,'-md','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);     k为黑色  markeredgecolor   黑色边框  ;markerfacecolor   边框范围内的颜色为g  绿色   如图所示

    xlim([1,20]);

  

 exercise:

  

 

 图1代码如下

set(gca,'XTick',1:1/5:2);

set(gca,'YTick',-1:1/2:4);
t=linspace(1,2);
y=t.^2;
f=sin(2*pi*t);
plot(t,y,'k-',t,f,'ro');
xlabel('Time(ms)');
ylabel('f(t)');
title('Mini Assignment #1');
legend('t^2','sin(2\pi t)','Location','northwest');

 

 

图2代码如下

 


set(gca,'XTick',1:1/5:2,'YTick',-1:1:4,'FontSize',15);

t=linspace(1,2);
y=t.^2;
f=sin(2*pi*t);

hold on
m=plot(t,y,'k-');
n=plot(t,f,'ro');
set(n,'MarkerEdgeColor','r','MarkerFaceColor','b');
set(m,'LineWidth',4);
xlabel('Time(ms)');
ylabel('f(t)');
title('Mini Assignment #1');
legend('t^2','sin(2\pi t)','Location','northwest');
hold off

 

 

Multiple  Figures

  Create a figure  windows by calling figure     调用函数  创建图像

  example:

    x=-10:0.1:10;

    y1=x.^2-8;

    y2=exp(x);

    figure, plot(x,y1);

    figure,plot(x,y2);

  分别画出两个图像

    

  be careful when using the gcf handle where there exists multiple figures

    存在多个figure  注意 gcf函数时调用的那个句柄

 

Figure Position and Size

  figure('Position',[left,bottom,width,height]);

    

    example:

      

x=-10:0.1:10;
y1=x.^2-8;
figure('position',[10,10,1000,700]);     窗口在屏幕中的位置会变化

plot(x,y1); 

Several Plots in One Figure    一个窗口中多个图像

 

  Several small plots "in a figure"

    subplot(m,n,1);   其中的m   n为矩阵中的行数和列数    1为位置

    

      example:

        t=0:0.2:2*pi;

        x=3*cos(t);

        y=sin(t);

        subplot(2,2,1);plot(x,y);axis normal

        subplot(2,2,2);plot(x,y);axis square

        subplot(2,2,3);plot(x,y);axis equal

        subplot(2,2,4);plot(x,y);axis equal tight

        如图所示

          

      

 Control of Grid,Box,and Axis

  

 Saving Figures into Files

  命令:saveas(gcf,'<filename>','<formattype>');

  选项

    

 

 

 

 

 

    

 

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!