2D绘图基础
从这一章开始,我们就要正式进入matlab的主要任务:绘图了。我们从绘制最基本的图形开始——只有一个变量的函数图形。在matlab中绘图包含下面三个步骤:
1.定义函数
2.指定要绘制的函数图形的值范围
3.调用MATLAB的plot(x,y)函数。
当指定函数值的范围时,我们必须告诉matlab函数使用的变量增量。使用较少的增量可以使得图形显示更加平滑。如果增量较少,matlab会计算更多的函数值,不过通常不需要取得那么小。接下来我们用个例子来看看具体要怎么做。
假设我们要绘制0<=x<=10之间的y = cos(x)函数的图形。绘制之前,我们要定义这个区间并告诉matlab我们所使用的增量。区间使用方括号括起来,比如:
[初始值:增量:末值]
比如,在上面的例子中,初始值为0,末值为10,增值假设为0.1,那么我们应该写成这样:
[0:0.1:10]
我们需要给他个变量,假设为x,现在我们看看走到哪一步了
第一步,定义函数,有了,就是y = cos(x)
第二步,指定值的范围,有了,就是x = [0:0.1:10]
第三步,在matlab里面输入plot(x,y),ok,接下来就是去matlab里面实践了
记得无论敲入哪一步的时候后面都一定要加分号,不然……
如果一切正确,那么你的matlab会卡顿一下(视电脑配置而定),然后出现这个画面:
到这就可以说明我们成功了
如果我们更改一下x的值,企图新建一个新的图会怎么样
为什么会出现这个问题呢 ,原来是因为我们只改了x的值,而y的值还是原来的,这就导致这个问题的出现
如果我们想要重新画一次图,那就得重新算一次y的值,就像这样:
现在我们知道如何在窗口中直接地绘图了。下一件事你可能就想要绘制一个带有标签的坐标轴了,这种事可以通过xlabel和ylabel函数做到。这两个函数中括号里的部分你需要用双引号包起来,而你包起来的部分,就是坐标轴的标签,当然啦,matlab允许你将这些东西写在同一行里,不过需要用逗号隔开,就像这样:
更多2D绘图选项
到目前为止,我们知道如何输出函数的一半图像,让我们再看点其他的,更加有趣的选项。比如标题?
对于这方面,我们可以使用title函数,用法跟xlabel和ylabel一样
现在我们来试试手。假如你突然想画一个力的图像,其函数表达式为y = (e^-2x)*sinx,有范围x = [0:0.02:4],标题就为阻尼弹力,现在让我们在matlab上实现出来:
然后就……出问题了
为了应对这种问题,我们可以使用fplot函数来处理。他的格式如下:
fplot('函数表达式',[x开始值,x结束值]
现在让我们返回刚刚那个没解决的问题:
如果你足够细心,你就会发现,我们刚刚引发的报错和我们之前学向量时引发的某个报错特别像。对,就是那个两个向量之间不能直接用*去进行计算,否则就会报的错。我们借用一下这个思路,如果我也带个点会怎么样呢
有的时候,我们会想对画出来的图加个网格线,我们只需要加个grid on就行了,也是利用逗号直接加在plot函数的后面,就像这样:
行啦,今天就先到这吧