matlab 三維 作圖 坐標軸_MATLAB學習——MATLAB中的三維繪圖指令

d5858efc80d5a0c9140bf2600c912b04.png

98d4d9e4a3418f2e6277f62ae7b2573d.png

2 基本XYZ立體繪圖命令

  • mesh和plot是三度空間立體繪圖的基本命令,mesh可畫出立體網狀圖,plot則可畫出立體曲面圖,兩者產生的圖形都會依高度而有不同顏色。下列命令可畫出由函數

dc7cd35131e7ebb35507d928ecd4946a.png

形成的立體網狀圖:

x=linspace(-2, 2, 25); % 在x軸上取25點

y=linspace(-2, 2, 25); % 在y軸上取25點

[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩陣

zz=xx.*exp(-xx.^2-yy.^2); % 計算函數值,zz也是21x21的矩陣

mesh(xx, yy, zz); % 畫出立體網狀圖

5153aa2acb625c9bad253f23791cad36.png
  • surf和mesh的用法類似:

x=linspace(-2, 2, 25); % 在x軸上取25點

y=linspace(-2, 2, 25); % 在y軸上取25點

[xx,yy]=meshgrid(x, y); % xx和yy都是25x25的矩陣

zz=xx.*exp(-xx.^2-yy.^2); % 計算函數值,zz也是25x25的矩陣

surf(xx, yy, zz); % 畫出立體曲面圖

512567a4da60ae34098ef8fcf271b9e0.png
  • peaks

為了方便測試立體繪圖,MATLAB提供了一個peaks函數,可產生一個凹凸有致的曲面,包含了三個局部極大點及三個局部極小點,其方程式為:

c502a8f7428388fda95e836729349881.png

要畫出此函數的最快方法即是直接鍵入peaks:

peaks

z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) - 1/3*exp(-(x+1).^2 - y.^2)

7c2d4a0d6162ac7f960e068b24d0ee32.png
  • 我們亦可對peaks函數取點,再以各種不同方法進行繪圖。meshz可將曲面加上圍裙:

[x,y,z]=peaks;

meshz(x,y,z);

aee3b2f1dba64038b5b9a8c553ccdccc.png
  • waterfall可在x方向或y方向產生水流效果:

[x,y,z]=peaks;

waterfall(x,y,z);

c6dc28d13019c8a43b07b583e3b62c0c.png
  • 下列命令產生在y方向的水流效果:

[x,y,z]=peaks;

waterfall(x',y',z');

4cb8022cb07c78aec58d976d1610aede.png
  • meshc同時畫出網狀圖與等高線:

[x,y,z]=peaks;

meshc(x,y,z);

652318e78a1e8df680ecc178ced1f524.png
  • surfc同時畫出曲面圖與等高線:

[x,y,z]=peaks;

surfc(x,y,z);

34ce1bc290156304ae3962ff85366298.png
  • contour3畫出曲面在三度空間中的等高線:

contour3(peaks, 20);

b06bb0d2e5ae69d7e15a8f3ea0d3d855.png
  • contour畫出曲面等高線在XY平面的投影:

contour(peaks, 20);

63aaa9e1f78ef4b3180fd0ceaddb4158.png
  • plot3可畫出三度空間中的曲線:

t=linspace(0,20*pi, 501);

plot3(t.*sin(t), t.*cos(t), t);

416337eb1be7f8cc7db77577283201f6.png

亦可同時畫出兩條三度空間中的曲線:

t=linspace(0, 10*pi, 501);

plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);

040071970627a3979622606e04500d61.png

3 三維繪圖的主要功能

繪制三維線圖繪制等高線圖繪制偽彩色圖繪制三維網線圖 繪制三維曲面 圖、柱面圖和球面圖 繪制三維多面體并填充顏色

(一)三維線圖

plot3 —— 基本的三維圖形指令
調用格式:
plot3(x,y,z) —— x,y,z是長度相同的向量
plot3(X,Y,Z) —— X,Y,Z是維數相同的矩陣
plot3(x,y,z,s) —— 帶開關量
plot3(x1,y1,z1,’s1’, x2,y2,z2,’s2’, …)
二維圖形的所有基本特性對三維圖形全都適用。 定義三維坐標軸大小
axis([xmin xmax ymin ymax zmin zmax ])
grid on(off) 繪制三維網格
text(x,y,z,‘string’) 三維圖形標注
子圖和多窗口也可以用到三維圖形中
例:繪制三維線圖
t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),’r:’)

(二)三維餅圖

pie3([4 3 6 8 9])

(三)三維多邊形

fill3 = fill —— 三維多邊形的繪制和填色與二維多邊形完全相同調用格式
fill3(x,y,z,‘s’) —— 與二維相同
例: 用隨機頂點坐標畫出5個粉色的三角形,并用黃色的○表示頂點
y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);
fill3(y1,y2,y3,’m’);hold on;plot3(y1,y2,y3,’yo’)

(四)三維網格圖

mesh —— 三維網線繪圖函數調用格式:
mesh(z) —— z為n×m的矩陣,x與y坐標為元素的下標
mesh(x,y,z) —— x,,y,z 分別為三維空間的坐標位置
例,矩陣的三維網線圖
z=rand(6);
0.8808 0.0729 0.4168 0.7694 0.3775 0.4776
0.3381 0.7101 0.0964 0.6352 0.3826 0.7086
0.1895 0.8791 0.6747 0.8965 0.6876 0.2380
0.7431 0.3594 0.5626 0.8784 0.1217 0.3910
0.7189 0.0899 0.8130 0.4865 0.0768 0.9759
0.8792 0.1610 0.8782 0.1131 0.1433 0.6288
z=round(z)
1 0 0 1 0 0
0 1 0 1 0 1
0 1 1 1 1 0
1 0 1 1 0 0
1 0 1 0 0 1
1 0 1 0 0 1
mesh(z);
例:8階hadamard矩陣的網線圖
h2=[1 1;1 -1];h4=[h2 h2;h2 -h2]
h8=[h4 h4;h4 -h4]
1 1 1 1 1 1 1 1
1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1
mesh(h8)
生成坐標 —— [X,Y]=meshgrid(x,y)
表達式點運算 —— Z=X.^2+Y.^2
X,Y是n×m的矩陣,維數可任 定
X— n
Y— m
Z—
默認方位角:37。5o,俯角30o。
meshgrid—— 網線坐標值計算函數
z=f(x,y) — 根據x,y坐標找出z的高度
例:繪制z=x2+y2的三維網線圖形
x=-5:5; y=x;
[X,Y]=meshgrid(x,y)
Z=X.^2+Y.^2
mesh(X,Y,Z)
colormap( [R,G,B])—— 色圖設定函數
matlab 的顏色數據集合為紅、綠、蘭三顏色矩陣[R,G,B],維數 m×3
r,g,b在[0 1]區間連續取值,理論上顏色種類可達無窮多種
matlab使用三維向量表示一種顏色,常用顏色數據見下表? 飽和色
[0 0 0] — 黑色
[0 0 1] — 蘭色
[0 1 0] — 綠 色
[0 1 1] — 淺蘭
[1 0 0] — 紅色
[1 0 1] — 粉紅
[1 1 0] — 黃 色
[1 1 1] — 白色? 調和色
[0.5 0.5 05] — 灰色
[0.5 0 0] — 暗 紅色
[1 0.62 0.4] — 銅色
[0.49 1 0.8] — 淺綠
[0.49 1 0.83] —寶石蘭

(五)三維曲面圖

surf —— 三維曲面繪圖函數,與網格圖看起來一樣
與三維網線圖的區別:
網線圖:線條有顏色,空擋是黑色的(無顏色)
曲面圖:線條是黑色的,空擋有顏色(把線條之間的空擋填充顏色,沿z軸按每一網格變化調用格式:
surf(x,y,z) —— 繪制三維曲面圖,x,y,z為圖形坐標向量
例:
[X,Y,Z]=peaks(30)
※peaks為matlab
自動生成的三維測
試圖形
surf(X,Y,Z)
三維網線圖作圖要領
surfc(X,Y,Z) — 帶等高線的曲面圖
[X,Y,Z]=peaks(30);surfc(X,Y,Z)
surfl(X,Y,Z) —— 被光照射帶陰影的曲面圖
[X,Y,Z]=peaks(30);surfl(X,Y,Z)
cylinde(r,n) — 三維柱面繪圖函數
r 為半徑;n為柱面圓周等分數
例:繪制三維陀螺錐面
t1=0:0.1:0.9;
t2=1:0.1:2;
r=[t1 -t2+2];
[x,y,z]=cylinder(r,30);
surf(x,y,z);
grid
? 為球面等分數,缺省為20
例:繪制三維球面
[x,y,z]=sphere(30);surf(x,y,z);

(六)圖形修飾方法

a. 圖形顏色的修飾
matlab 有極好的顏色表現功能,其顏色數據又構成了一維新的數據集合,也可稱為四維圖形
colormap(MAP) —— 色圖設定函數,MAP為m×3維色圖矩陣
圖形顏色可根據需要任意生成,也可用matlab配備的色圖函數matlab 的色圖函數:
hsv —— 飽和值色圖
gray —— 線性灰度色圖
hot —— 暖色色圖
cool —— 冷色色圖
bone —— 蘭色調灰色圖
copper —— 銅色色圖
pink —— 粉紅色圖
prism —— 光譜色圖
jet —— 飽和值色圖II
flag —— 紅、白、藍交替色圖
shading faceted — 網格修飾,缺省方式
shading flat —— 去掉黑色線條,根據小方塊的值確定顏色
shading interp —— 顏色整體改變,根據小方塊四角的值差補過度點的值確定顏色b. 圖形效果修飾
透視與消隱—— 用于網線圖
裁剪修飾 ——用于網線圖、曲面圖
視角修飾 —— 觀察不同角度的三維視圖其它修飾:
i. 水線修飾
ii. 等高線修飾
透視與消隱
p=peaks(30); mesh(p);hidden on
視角修飾(函數view(az,el))
az ----方位角;el ---- 俯視角
省缺值為:az=-37.5; el=30
例。觀察不同視角的波峰圖形
z=peaks(40);
subplot(2,2,1);mesh(z);
subplot(2,2,2);mesh(z);view(-15,60);
subplot(2,2,3);mesh(z);view(-90,0);
subplot(2,2,4);mesh(z);view(-7,-10);其它修飾:
i. 水線修飾 (waterfall)
waterfall(peaks(30))
ii. 等高線修飾
二維
contour(Z,n)-------- 繪制n條等高線
C= contourc(Z,n)------計算n條等高線的坐標
Clable(c)------給等高線加標注
例、 在二維平面上繪制peaks函數的10條等高線
contour(peaks,10);
C=contourc(peaks,10);clabel(C)

(七)偽彩色圖

pcolor —— 常用于以二維平面圖表現三維圖形的效果,用顏色表示三維圖形的高度。

(八)動畫效果

動畫生成的步驟
創建幀矩陣 —— moviein
對動畫中的每一幀生成圖形,并把它們放到幀矩陣中 —— getframe
從幀矩陣中回放動畫

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534083.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534083.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534083.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

說說python程序的執行過程_表示說的詞語

展開全部1、奉勸 [ fng qun ] 釋義:敬辭。鄭重勸說62616964757a686964616fe58685e5aeb931333365653331。 造句:我們厭惡那些陰險的惡人,奉勸他們改惡為善,才能得到社會的原諒! 2、勸告 [ qun go ] 釋義:拿道…

HTML4基本編譯原理,Stanford公開課《編譯原理》學習筆記(1~4課)

課程里涉及到的內容講的還是很清楚的,但個別地方有點脫節,任何看不懂卡住的地方,請自行查閱經典著作《Compilers——priciples, Techniques and Tools》(也就是大名鼎鼎的龍書)的對應章節。一. 編譯的基本流程完整的編譯的5個基本步驟包括lex…

rocketmq 消息指定_SpringBoot 整合 RocketMQ 如何實現消息生產消費?

有時候我們在使用消息隊列的時候,往往需要能夠保證消息的順序消費,而RocketMQ是可以支持消息的順序消費的。RocketMQ在發送消息的時候,是將消息發送到不同的隊列中,然后消費端從多個隊列中讀取消息進行消費,很明顯&…

mysql怎么看實例名_南方“中看不中吃”的前4名水果,蓮霧只是墊底,你怎么看?...

水果很多人都喜歡吃,南方人可以說是最幸福的,因為南方的水果種類有很多種,而且水果的價格也很便宜,一年四季都能吃到便宜又好吃的水果,南方的很多水果,北方人可能都沒有吃過,雖然南方的水果種類…

html頁面怎么加向下滾動,如何使用jQuery向上或向下滾動頁面到錨點?

如何使用jQuery向上或向下滾動頁面到錨點?我正在尋找一種方法來包含幻燈片效果,當您單擊頁面上或下的本地錨點鏈接時。我想要一個你有這樣一個鏈接的東西:link text, img etc.也許添加了一個類,所以你知道你希望這個鏈接是一個滑動…

vuex中的值變化 頁面重新渲染_淺談瀏覽器的渲染過程,重繪與回流

瀏覽器的渲染過程 首先,我們先來了解一下瀏覽器的渲染過程是什么樣的,也就是說瀏覽器把一堆代碼呈現到頁面上的過程是什么樣子的,瀏覽器采用流式布局模型(Flow Bsaed Layout),根據下圖,我們可以總結出瀏覽器的渲染步驟…

vc 將已有項目打包成dll 并應用于其他項目_.NET混淆器 Dotfuscator使用教程:保護你的應用之存檔報告文件...

Dotfuscator是一款.NET混淆器和壓縮器,防止你的應用程序被反編譯。本篇文章將繼續上一篇文章與大家分享保護應用程序的后續三個部分:存檔報告文件、加強保護和替代方法。存檔報告文件作為構建的一部分,Dotfuscator會生成報告文件(在Dotfuscat…

html文件內容搜索,html讀出文本文件內容

html讀出文本文件內容更新時間:2007年01月22日 00:00:00 作者:Function bytes2BSTR(vIn)strReturn ""For i 1 To LenB(vIn)ThisCharCode AscB(MidB(vIn,i,1))If ThisCharCode strReturn strReturn & Chr(ThisCharCode)ElseNextCharC…

python 定義變量_python-003-變量

1.變量的定義python中,在程序運行時,可以隨著程序的運行更改的量成為變量.簡單理解: 變量就是用來臨時存儲數據的容器.可以認為好比是 逛超市 買面條 使用購物車 裝面條變量 -> 購物車數據 -> 面條2.變量的使用# 第一次輸入一個10 num1 10 # 第二次輸入一個20 num2 20 …

蘋果11是高通基帶嗎_最強對抗!小米11對抗三星、蘋果華為等最高旗艦|喜歡小米嗎?...

哈嘍,您好!我是原呵呵,點點關注吧,更多精彩內容等著您小米很快就會展示了2021年的手機,該公司通常會在2月份推出該季節的首個旗艦,但新的小米米11已向前推進了幾個月,并成為了首個采用驍龍888處…

html 圖片墻效果,基于html5實現的圖片墻效果

溫馨提示:本信息由【金聰采編】搜集整理發布,版權歸原作者及發布者所有,您如有異議請 舉報 或者 版權申訴。本文實例講述了基于html5實現的圖片墻效果,分享給大家供大家參考。具體實現方法如下:這里有一組數據需要用圖…

python split函數 空格_python上手--10行代碼讀懂紅樓夢

取名10行代碼看懂紅樓夢,是將介紹使用python代碼來讀紅樓夢獲取其主要人物。這里的思想就是詞頻統計,通過分析紅樓夢小說文字中出現最多的詞語,來概括說明紅樓夢的核心人物和事情。實際上如果你能跟著往下看,就開始進入了自然語言…

計算機主機溫度,計算機的理想工作溫度和濕度分別是多少

電腦理想的工作溫度在10~35度,相對濕度為30%~80%。說明一點:這個溫濕度是沒有嚴格界定的。日常可以這樣理解:只要人待在那里感覺舒服,電腦也會覺得合適的。電腦對電源也有要求&#…

k8s 安裝nfs_K8s--06 K8s數據持久化

K8s數據持久化數據持久化 Volume介紹Volume介紹:Volume是Pad中能夠被多個容器訪問的共享目錄Kubernetes中的Volume不Pad生命周期相同,但不容器的生命周期丌相關Kubernetes支持多種類型的Volume,并且一個Pod可以同時使用任意多個VolumeVolume類…

matlab為自定義后綴文件設置圖標_【V3.0更新】| 這可能是全網最好用的文件管理神器了......

?點擊關注Excel表哥公眾號使用Excel制作自帶超鏈接的文件目錄索引確實可以很好地幫忙大家管理電腦里的文件。在此分享幾個各行各業朋友們的使用截圖:▲一個硬件工程師朋友的使用截圖▲一個醫院工作人員的數據統計文件管理▲學生朋友用來管理論文文獻▲VBA編程愛好者…

html dom透明度,HTML DOM Style overflow 屬性

Style overflow 屬性Style 對象定義和用法overflow 屬性設置或返回如何處理呈現在元素框外面的內容。語法設置 overflow 屬性:Object.style.overflow"visible|hidden|scroll|auto|inherit"返回 overflow 屬性:Object.style.overflow值描述visi…

#中隊列的數據結構_數據結構與算法拓展(一)

棧與隊列申明:由于篇幅限制,文章可能有些簡略,如果大家想要詳細了解,請一定要百度一下,并閱讀例題,完成習題緒言:計算機科學在過去的數十年內發展飛速,各種新穎的技術紛至沓來&#…

display屬性_Numpy知識點(1)講解實操安裝/屬性/數組創建/運算

# 1、安裝包# pip install numpy #原生python安裝# conda install numpy #Anaconda的安裝# 使用Numpyimport numpy as np a np.arange(15) #生成0-14的一維數組display(a)display( )和print( )都是打印,在大多數編程軟件上都使用print,jupyter notebook中我們可以使用d…

計算機英語短文互譯,中英文互譯的英語短文

在英語學習中,閱讀能力是學習者發展其它語言能力(聽、說、寫、譯)的基礎。閱讀能力的高低,不僅決定了學習者獲取知識和信息的水平,而且在一定程度上也反映出學習者綜合運用英語的能力。小編精心收集了中英文互譯的英語短文,供大家欣賞學習!中英文互譯的英語短文&…

springboot怎么設置多個路徑全部跳轉首頁_SpringBoot(四)—Web開發(二)

這篇文章準備來記錄一下一個restful風格小項目的流程,上篇文章為它做了一個基礎,如果有什么錯誤希望大家能夠指出。目錄首頁國際化登錄攔截器CRUD一、首頁在訪問localhost:8080/的時候,默認訪問首頁在自己配置的SpringMVC的配置類中Configura…