数学建模中如何用 matlab画漂亮的图(二)

数学建模中如何用 matlab画漂亮的图(二维图形)

2 fplot绘图命令***
上次我们说到,可以plot用来画二维图形,利用plot的原理就是我们常用的:描点作图。然而描点作图有一个缺点,就是可能无法完全描述清楚我们的需求,比如,我们想要画一个函数图像,y=x^2;

 x=[1 2 3 4 5 6 7];
 y=[1 4 9 16 25 36 49];
 plot(x,y)

数学建模中如何用 matlab画漂亮的图(二)_第1张图片
仔细来看的话,不难发现,这个曲线不够平滑,也就是说,我们的计算机没有完全理解我们的需求,那我们应该怎么做呢?接下来我会提供三种方法:
(1)利用fplot
fplot是一个专门用于绘制一元函数图像的命令,相比较plot的优点就是作出的图像更加光滑准确。
调用格式如下:

fplot(f,lim,s);

其中,f为调用函数,lim为函数定义域,s同样表示线性颜色。
那么我们用这种方法来画y=x^2;

syms x;
fplot(@(x)x^2,[0,7],'r')

数学建模中如何用 matlab画漂亮的图(二)_第2张图片
这个图像是不是更加平滑了呢?
然而,在matlab种,利用fplot作图的方法却并不常用,因为当你原函数实在太复杂的时候,matlab会提醒你函数过于复杂,做不出来,这时候,还是我们的plot最为实用了。
(2)plot函数优化
极限的思想大家应该都了解,plot画图的原理是描点作图也应该不需要多说,那么,如果我们描绘无数个点出来,这个图像是不是一定会非常平滑了?
依然是y=x^2;

x=0:0.001:10;%取点10001个
y=x.^2;%描绘函数模样
plot(x,y)

数学建模中如何用 matlab画漂亮的图(二)_第3张图片
可以看出,当我们描绘上万个点之后,图像非常平滑,效果很好了!
数学建模中如何用 matlab画漂亮的图(二)_第4张图片
以上是江苏省2017年高考数学的第20题,题目怎么做我们就不深究了(因为实在想不出来画什么函数我就翻了一下高考题),我们直接使a=3,b=2,画出这个图看看如何:

x=-10:0.001:10;
y=x.^3+3*x.^2+2*x+1;
plot(x,y)

数学建模中如何用 matlab画漂亮的图(二)_第5张图片
有人可能就觉得这个也是很简单啊,那我们再复杂一些,上面的式子再乘上一个e^x看看如何:

 x=-10:0.001:10;
 y=(x.^3+3*x.^2+2*x+1).*exp(x);
 plot(x,y)

数学建模中如何用 matlab画漂亮的图(二)_第6张图片
无论函数如何复杂,plot基本全部可以完成任务,然而fplot有时可能完成不了,建议大家完全可以抛弃fplot选择plot,描点作图yyds!!!!
(3)插值法
最后一种方法就是利用拉格朗日插值,最小二乘法,样条插值等方法使得函数图像平滑,这种方法后续会在最小二乘法中介绍。

你可能感兴趣的:(matlab)