MATLAB绘图

孤街浪徒 提交于 2021-02-20 02:57:05

一、直角坐标系中的连续函数

1.简单绘图

>>x=[0:0.1:5];

>>y=sin(x);

>>plot(x,y),xlabel('x')/*横坐标*/,ylabel('y')/**纵坐标/;

2.更精确的图

fplot('exp(-1.2*x).*sin(x)',[0,4])/*在(0,4)上绘制图像*//*这里必须是点乘(矩阵相乘),直接*会报错*/,title('y=exp(-1.2x)*sin(x)的图像')

3.更多绘图选项

plot(x,y),grid on/*绘制网格*/,axis equal/*间距相同*/

/*axis auto是让MATLAB自动选择*/

4.同时绘制多个函数

plot(x,y,t,f,'--')/*用默认实线绘制y=f(x),用'--'绘制f=f(t)*/    /*还有实线‘-’,虚线‘--’,虚点线‘-.’,点线‘:’*/

还可以在图像旁添加图例用‘legend‘,即plot(x,yt,f,'--'),legend('sinh(x)','cosh(x)'),如下图:

5.个性化设置

 (1)颜色   plot(x,y,'r--')  /*用红色虚线绘制图像*/

 (2)坐标比例   plot(x,y),axis([xmin xmax ymin ymax])

 (3)一次显示两个坐标系   subplot(1,2,1)  /*一行两列,当前函数在这行第一个*/  /*这条命令后会出来坐标系,再输入plot(x,y)以绘制图像*/

 (4)一个坐标系多个图用hold on

 (5)>>x=linspace(a,b,n)  /*在a到b之间取出均匀分布的100个点*/

 6.当给定函数在定义域的一个小范围内变化非常快速时,用plot画图并不明显,用loglog画得图像更精确

另外还可以用semilogx(x,y),他产生的图像x轴取对数值,semilogy(x,y)产生的图像y轴取对数值

二、极坐标

1.简单绘图

>>theta=linspace(0,2*pi,100);

>>r=2*theta;

>>polar(theta,r)   如下图:

/*一些颜色,线的种类的选型polar同样能用*/

三、离散绘图 

1.折线图

>>x=[1:5];

>>y=[50,98,75,80,98];

>>plot(x,y,'.'x,y),set(gca,'XTicklabel'),['001';'002';'003';'004';'005'],set(gca,'XTick',[1:5]),axis([1 5 0 100]),xlabel('学生'),ylabel('期末成绩'),title(‘2005年2月考试’)

                                  /*固定写法*/               /*x轴的坐标*/                       /*变化区间*/                 

如图:

2.条形图

bar(x,y),xlabel('学生'),ylabel('成绩')

3.针状图

stem(x,y),xlabel('x'),ylabel('y'),如图:

还可以改变图像中的圆和线 的颜色 ,用stem(t,f,'dg','fill')   /*'d'表示菱形,默认圆;‘g’是颜色*/

原文出处:https://www.cnblogs.com/xiaoxuexue/p/11275133.html

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