之前認為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範圍;
一般二維曲線的繪製較為簡單,讀者讀完以下內容也將自然掌握,這裡不再贅述。
【隱函數繪製】:
圖像如下:
這是一個沒有網格的二維圖,如何擁有網格呢?
"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()函數的作用是將窗口分割成含兩個圖像的的界面。
內容不多,歡迎讀者提出寶貴建議,互相交流學習!