matlab基础——二维绘图

一、 基本绘图命令

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  分别用于画两个图像

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值