一、 基本绘图命令

1.plot命令

执行plot命令时,系统会自动创建一个新的图形窗口,若已经存在旧的窗口,则会在原有基础上进行绘画(覆盖)。

plot(x,y)   

x,y必须是同维向量(都是列或行)。若x是向量,y是矩阵,则绘制多条曲线(列优先原则,即优先以列的数据对应

此处x与y是竖着对应,即x=[2,3]  <=> y=[1;3] y=[2;4]

若x是矩阵,y是向量,则以y为自变量。若x,y为同维矩阵,则两者列向量分别对应作图。

plot(x,y,LineSpec)

设置线的形状、颜色、标记等,类似于python,或者是python与其类似

plot(x1,y1,x2,y2,x3,y3…)

绘制多条曲线,每一对x,y后都可以加个LineSpec。等价于使用多个plot,每个plot后面加个hold on表示不进行覆盖。

plot(y,LineSpec)

若y为实数矩阵,则以每列元素的下标(从1开始)为横坐标。若y为复数矩阵,则以每个元素的实数部分为横坐标,等价于(plot(real(y),imag(y)))

plot(_,Name,Value)

可以对属性进行设置,如线条宽度等,具体Name属性有哪些

https://ww2.mathworks.cn/help/matlab/ref/matlab.graphics.chart.primitive.line-properties.html

注意2021a以前的版本语法是 "name",value   以后的版本是 name=value

plot修改属性

2.fplot命令

fplot专门用来绘制一元函数,因此图像比plot更加准确,且图像中平滑与陡峭处数据点分布也更加智能。

fplot(f)

一般写作 fplot(@(x) sin(x))这样,表示x是自变量,默认定义域为[-5,5],类似plot的也可以加上LineSpec

fplot(f,xinterval)

其实就是自己定义一个定义域,形如下:

定义域范围别加 “,”

3.ezplot命令

专门用于符号函数的绘图命令,但是不推荐用,完全可以用fplot

4.subplot命令

subplot(m,n,p)

将整个画板分割为m * n个小分区,然后在指定序号为p的区域画图。

subplot('Position',pos)

创建包含两个未与网格位置对齐的子图的图窗。为每个子图指定一个自定义位置

其中,pos的定义如下:

二、极坐标系下绘图

polarplot命令

polarplot(thea,rho)

thea表示弧度θ,rho表示每个点的半径值(其实就是ρ)

然后也当然可以设置Name,Value,LineSpec等

polarplot(rho)

不明确说明theta时,将自动等距分配。也就是这么多数据,一定要凑成360°

>>> polarplot(1:10:100,'-*')

注意:通过下面两条命令进行弧度与坐标的转换

  • [theta,rho]=cart2pol(x,y)
  • [x,y] = pol2cart(theta,rho)

三、半对数坐标下绘图

semilogx命令

semilogx用于绘制x为对数坐标,y为线性坐标的曲线

semilogx(x,y)

类似,什么LineSpec随便设置

semilogy命令

semilogy用于绘制x为线性坐标,y为对数坐标的曲线

semilogy(x,y)

类似,什么LineSpec随便设置

附:双对数坐标可以用函数loglog

四、两个纵坐标的图像

yyaxis命令

下设两个  yyaxis left   和   yyaxis right  分别用于画两个图像

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐