MATLAB图形绘制--更多2D绘图选项

更多2D绘图选项

使用title命令可以给绘出的图形加上合适的标题,假设我们要绘制某个力的图像,力的表达式遵循:
在这里插入图片描述
其中t是时间,单位是秒,范围在0~4之间,每0.02秒取一个数据,另外我们还要给图像添加一个名字:‘阻尼弹力’

 t = [0:0.02:4];

其次我们定义函数:

>> f = exp(-2*t)*sin(t);

但当你这样做的时候,我们得到了一条错误消息:

错误使用  * 
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用
'.*'。

这时候我们可以用fplot()函数来替代,fplot()函数会自动绕过绘图的时间间隔,为我们自动决定绘图的点数。
而且它可以为你选择尽可能精确的图像,同时也避免了以上的错误。
调用fplot()函数的一般形式如下:

>> fplot('function string',[xstart,xtend])
  • 参数function string告诉你所要绘制的函数图象
  • xstart和xend告诉了区间的长度

示例:

>> fplot('exp(-2*t)*sin(t)',[0,4])

图像:

在这里插入图片描述
给图像加上标题:
在这里插入图片描述
以上我们用的是fplot()函数,那么回到之前的错误例子,我们也可以找到解决方法:

>> f = exp(-2*t)*sin(t);

MATLAB的正确做法是在乘号之前带上一个圆点,类似数量积,下面是正确的使用方法:

>> f = exp(-2*t).*sin(t);
>> plot(t,f)

所以但有两个函数相乘时,不要忘了在两个函数之间加上"."以便告诉MATLAB这是两个数组在相乘。

给图像添加网格

下面的例子是绘制一个双曲函数

tanh(x)

我们先定义间隔:

>> x = [-6:0.01:6];

接着我们定义函数:

>> y = tanh(x);

绘图并产生网格:

>> plot(x,y),grid on

在这里插入图片描述

发布了84 篇原创文章 · 获赞 18 · 访问量 5805

猜你喜欢

转载自blog.csdn.net/qq_44486550/article/details/105184413