matlab 三維繪製

2022-03-11 10:12:32 字數 2386 閱讀 9868

1. mesh(z)語句

mesh(z)語句可以給出矩陣z元素的三維消隱圖,網路表面由z座標點定義,與前面敘述的x-y平面的線格相同,圖形由鄰近的點連線而成.它可用來顯示用其它方式難以輸出的包含大量資料的大型矩陣,也可用來繪製z變數函式.

顯示兩變數的函式z=f(x,y),第一步需產生特定的行和列的x-y矩陣.然後計算函式在各網格點上的值.最後用mesh函式輸出.

下面我們繪製sin(r)/r函式的圖形.建立圖形用以下方法:

x=-10:1:10;

y=x';

x=ones(size(y))*x;

y=y*ones(size(y))';

r=sqrt(x.^2+y.^2)+eps;

z=sin(r)./r;

mesh(z)       %%試執行mesh(x,y,z),看看與mesh(z)有什麼不同之處?

各語句的意義是:首先建立行向量x,列向量y;然後按向量的長度建立1-矩陣;用向量乘以產生的1-矩陣,生成網格矩陣,它們的值對應於x-y座標平面;接下來計算各網格點的半徑;最後計算函式值矩陣z.用mesh函式即可以得到圖形.

第一條語句x的賦值為定義域,在其上估計函式;第三條語句建立乙個重複行的x矩陣,第四條語句產生y的響應,第五條語句產生矩陣r(其元素為各網格點到原點的距離).用mesh方法結果如上.

[x, y]=meshgrid(-10:1:10)

2 meshc用法

meshc與函式mesh的呼叫方式相同,只是該函式在mesh的基礎上又增加了繪製相應等高線的功能.下面來看乙個meshc的例子:

[x,y]=meshgrid([-4:.5:4]);

z=sqrt(x.^2+y.^2);

meshc(z)       %%試執行meshc(x,y,z),看看與meshc(z)有什麼不同之處?

函式meshz與mesh的呼叫方式也相同,不同的是該函式在mesh函式的作用之上增加了遮蔽作用,即增加了邊界面遮蔽.例如:

[x,y]=meshgrid([-4:.5:4]);

z=sqrt(x.^2+y.^2);

meshz(z)       %%試執行meshz(x,y,z),看看與meshz(z)有什麼不同之處?

3 surf函式也是matlab中常用的三維繪圖函式.其呼叫格式如下:

surf(x,y,z,c)

輸入引數的設定與mesh相同,不同的是mesh函式繪製的是一網格圖,而surf繪製的是著色的三維表面.matlab語言對表面進行著色的方法是,在得到相應網格後,對每一網格依據該網格所代表的節點的色值(由變數c控制),來定義這一網格的顏色.若不輸入c,則預設為c=z.

我們看下面的例子:

%繪製地球表面的氣溫分布示意圖.

[a,b,c]=sphere(40);

t=abs(c);    %求絕對值

surf(a,b,c,t);

axis equal

colormap('hot')

座標軸的控制函式axis,呼叫格式如下:

axis([xmin,xmax,ymin,ymax,zmin,zmax])

用此命令可以控制座標軸的範圍.

axis auto              自動模式,使得圖形的座標範圍滿足圖中一切圖元素

axis equal                   嚴格控制各座標的分度使其相等

axis square           使繪圖區為正方形

axis on                恢復對座標軸的一切設定

axis off               取消對座標軸的一切設定

axis manual         以當前的座標限制圖形的繪製

(2)grid on在圖形中繪製座標網格.

grid off取消座標網格.

(3)xlabel, ylabel, zlabel分別為x軸, y軸, z軸新增標註.title為圖形新增標題.

以上函式的呼叫格式大同小異,我們以xlabel為例進行介紹:

xlabel('標註文字','屬性1','屬性值1','屬性2','屬性值2',…)

這裡的屬性是標註文字的屬性,包括字型大小、字型名、字型粗細等.

例如:[x, y]=meshgrid(-10:1:10);

r=sqrt(x.^2+y.^2);

z=-cos(r);

mesh(x,y,z)

xlabel('x\in[-4,4]','fontweight','bold');

ylabel('y\in[-4,4]','fontweight','bold');

zlabel('z=-cos(sqrt(x^2+y^2))','fontweight','bold');

學習了這幾個函式的使用,我想應該就夠了,其他的函式可以到用的時候查閱。

matlab 三維繪製

1.mesh z 語句 mesh z 語句可以給出矩陣z元素的三維消隱圖,網路表面由z座標點定義,與前面敘述的x y平面的線格相同,圖形由鄰近的點連線而成 它可用來顯示用其它方式難以輸出的包含大量資料的大型矩陣,也可用來繪製z變數函式 顯示兩變數的函式z f x,y 第一步需產生特定的行和列的x y...

Matlab之三維曲面的繪製

在繪製曲面之前,需要先將資料點生成平面資料網格,其生成的資料是網格的座標。生成的方式有兩種 1 利用矩陣運算生成 示例 x 2 6 y 3 8 x ones size y x y y ones size x 其中,x,y為生成的網格資料,下圖為網格資料的示意圖。2 利用meshgrid函式生成 x,...

matlab之連續 離散的三維曲面繪製

連續 其實也不算連續,但為了和離散區分,定義為連續,與下面離散點的不同就是,連續表示z可以用x,y來表示,而離散是純的散點。z沒有乙個確定的關於x,y的函式形式 一般採用surf x,y,z 命令。注意x於y是同維數還是不同維數,均需要採用meshgrid 函式將其變為同維數的矩陣。z為以x與y作為...