之前认为MATLAB的绘图功能并不好用,一直偏好用几何画板来进行计算机绘图。最近通过学习三维绘图之后,MATLAB在某些绘图方面确实有着不可比拟的优势。

1、离散点连接绘图

先展示一下命令代码:

x=1:0.1:10;y=sin(x);plot(x,y,'g');【解释】:第一行表示x的范围是1~10,精度0.1;第三行调用plot()函数进行绘图,其中'g'表示green,小伙伴想要红色的曲线也可以的,我想聪明的你已经知道答案了吧。

【Picture】:

看上去还算平滑。

可能有同学觉得正弦函数顶着边框,看得难受。这时候你可以点击“属性”,进入“坐标区属性”,然后调整x,y的取值范围。当然还有一些可更改的其它属性。

2、填充区域的绘制

【Introduction At first】:linspace(X1,X2,N)函数:linspace是MATLAB中的一个指令,用于产生X1,X2之间的N点行矢量。其中X1、X2、N分别为起始值、中止值、元素个数。若缺省N,默认将点数设置为100。

先取50 个点看看:

t=linspace(0,2*pi,50);x=sin(2*t);y=cos(2*t);area(x,y,'facecolor','g');

不怎么样啊,100个!

t=linspace(0,2*pi,100);x=sin(2*t);y=cos(2*t);area(x,y,'facecolor','g');

拿1000个试一把!

t=linspace(0,2*pi,1000);x=sin(2*t);y=cos(2*t);area(x,y,'facecolor','g');

有那么点意思了。

3、ezplot()函数绘制联连续曲线

(1)二维图形的绘制

ezplot(fun):绘制fun函数;

ezplot(fun,[minx,maxx]):绘制fun函数,[minx,maxx]为自变量范围;

ezplot(funx,funy,[mint,maxt]):绘制参数方程funx,funy函数,[mint,maxt]为变量t范围;

一般二维曲线的绘制较为简单,读者读完以下内容也将自然掌握,这里不再赘述。

【隐函数绘制】:

ezplot('x^2=y^8');图像如下:

这是一个没有网格的二维图,如何拥有网格呢?

ezplot('x^2=y^8');grid;"grid;"语句的作用就是使图在有无网格之间进行切换。同时还有命令:"gird on;"、"grid off;",也拥有类似功能。

【参数方程绘制】:

syms x y t;x=t*cos(t);y=t*sin(t);ezplot(x,y);grid;

图像如下:

(2)三维图形的绘制

这里将用到ezplot3()函数,调用方式见代码即可了解。

以等距螺线的绘制为例:

syms x y z t;x=cos(t);y=sin(t);z=t;ezplot3(x,y,z,[0,10]);grid;

该图形的立体感不够鲜明,借助旋转工具可以有更加直观的感受。

此外,MATLAB还提供了ezmesh、ezsurf、ezmeshc、ezsurfc来绘制三维曲面,第一个是绘制网格曲面,第二个则是表面图,后两者则是在此同时绘制三维曲面的等高线。

下面是例子:

syms x y;z=x*exp(-x^2-y^2);subplot(1,2,1);ezmeshc(z);subplot(1,2,2);ezsurfc(z);

其中的subplot()函数的作用是将窗口分割成含两个图像的的界面。

内容不多,欢迎读者提出宝贵建议,互相交流学习!