誰能告訴我matlab程式裡的這句mesh X,Y,Z3 是什麼意思

2021-05-19 19:13:10 字數 3174 閱讀 3783

1樓:匿名使用者

z是x和y的函式。一般來說x和y是n*n的,而你這裡的必然z是一個n*n*m的三維矩陣,因而直接mesh(x,y,z)肯定是錯誤的,matlab的mesh

函式要求x,y,z的size是一樣的。因此只能用類似mesh(x,y,z(:,:,i))來進行作圖,如果寫成迴圈的話,還能做成動畫。例如

for i = 1:m

mesh(x,y,z(:,:,i));

pause(0.01);end

2樓:

mesh函式中x是一個(n維)向量表示在x軸方

向的選取的所有格點值。相應的,y也是一個(n維)向量表示在y軸方向的選取的所有格點值。第三個輸入z應該是一個n乘n的方陣,代表在這個曲面上對應某個(x,y)的z值。

但是在你的程式中,z並不是一個n乘n的方陣,而是一個n乘n乘m(根據程式,你應該知道m是多少)的一個立方矩陣。由於維度不相符,所以我們不能直接用mesh(x,y,z),而是要選擇z的某一層資料,比如這裡選的是第三層(即m=3),使得mesh命令中的第三個輸入是個符合要求的n乘n的方陣,而不是一個n乘n乘m的立方矩陣。所以,將3換成2或者1都是可以的,只是取決於你想畫z的哪一層的資料了。

3樓:流星日食

在數學上,函式z=f(x,y)的圖形是三位的空間曲面,在matlab中。總是假設函式z=f(x,y)定義在一個矩形d的區域上。為了繪製在區域d上的三位曲面,matlab的方法是首先將[x0,xm]在x方向上分成m份,將在[y0,yn]y方向上分成n份,由各分劃點分別作平行於座標軸的直線,將區域d分成m×n個小矩形,計算出網點的函式值。

對於每個小矩形,在空間**決定四個點(xi,yi,f(xi,yi)),連線四個點得到一個空間的四邊形片。而所有這些四邊形片連在一起構成函式z=f(x,y)定義在區域d上的空間網格曲面。

在用mesh畫二元函式影象前必須進行一個「預處理」——生成笛卡爾乘積空間。

例子%要畫z=x^2+y^2在[-5,5]×[-5,5]的影象。

%首先定義

x=-5:.1:5;y=x;

%然後要生成一個笛卡爾乘積的空間

[x,y]=meshgrid(x,y);

%然後再是

z=x.^2+y.^2;

%最後畫的是

mesh(x,y,z);

matlab求高人,[x,y,z]meshgrid(linspace(-1.3,1.3));是什麼意思啊。

4樓:匿名使用者

linspace(a,b,c)均勻生成介於a到b的c個值,c預設為100

如linspace(0,100,5)即[0 25 50 75 100]

linspace(-1.3,1.3)就是生成介於-1.3到1.3的100個值

meshgrid是生成網格的函式,一般是生成二維網格矩陣資料,但這裡生成的是三維網格矩陣資料。

先以二維資料為例,

比如要繪製函式z=f(x,y)的影象

x方向在[1,2,3,4,5]五個點上取樣,即x=1:5

y方向在[10 20 30 40]四個點上取樣,即y=10:10:40

那麼就一共有5*4=20個取樣點。

分別為(1,10) (2,10) (3,10) (4,10) (5,10)

(1,20) (2,20) (3,20) (4,20) (5,20)

(1,30) (2,30) (3,30) (4,30) (5,30)

(1,40) (2,40) (3,40) (4,40) (5,40)

命令[x,y]=meshgrid(x,y)

生成的x就是這20個取樣點的橫座標,y既是其縱座標,即

x=1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

y=10 10 10 10 10

20 20 20 20 20

30 30 30 30 30

40 40 40 40 40

然後再對這20個取樣點計算z的值,即z=f(x,y),最後用mesh(x,y,z)即可繪製影象

三維網格資料與此類似,現在xyz三個方向都是取-1.3到1.3的100個資料,總共就是100^3即一百萬個取樣點,[x,y,z]=meshgrid(linspace(-1.

3,1.3));中的x,y和z就分別是這一百萬個取樣點的三個維度上的座標。

而s=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2.*z.^3;

就得到了函式s=f(x,y,z)=(x.^2 + (9/4)*y.^2 + z.

^2 - 1).^3 - x.^2.

*z.^3 - (1/9)*y.^2.

*z.^3在這一百萬個取樣點中的值

本人初學matlab,請問這句[xx, yy] = meshgrid(x, y);什麼意思???

5樓:匿名使用者

meshgrid是matlab中用於生成bai網格取樣點的

du函式。

這裡是matlab給的例子

zhi[x,y] = meshgrid(-2:.2:2, -2:.2:2);

z = x .* exp(-x.^2 - y.^2);

mesh(z)

執行後dao生成一個內z的3d網格圖形

容help函式是個好函式,不懂的東西打「help 某函式」會有解釋與例子的

[x,y]=meshgrid(-3:0.1:3); >> z=sqrt(1-(x.^2+y.^2)); >> mesh(z) matlab請問**出錯了,給出正確答案

6樓:我行我素

^>> [x,y]=meshgrid(-3:0.1:3);z=sqrt(1-(x.^2+y.^2));mesh(z)

錯誤使用 mesh (line 79)

x、y、z 和 c 不能是複數

說明:z是複數,而mesh不允許有復

回數輸入,只答能是實數。

7樓:匿名使用者

**無錯誤。最大的可能是**前有非法字元,如空格符。消除空格符就行了。

[x,y]=meshgrid(-3:0.1:3);

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

mesh(z)

誰能告訴我,誰能告訴我

一個已婚的人,是沒有權力去愛 指愛情 除自己妻子外的女人。因為他受到中國法律的制約。當然你有權力。我不知道你們的事,但我覺得這個男人軟弱,沒有責任感,他要對孩子負責,更要對你負責。男人不該讓女人難過。一個不能給自己愛的女人承諾的男人,不值得愛。如果不和他結婚,你永遠不能完全屬於他,更不可能完全擁有他...

誰能告訴我,誰能告訴我???

幫小夥送了朋友一朵花 我有車有房,我還會連請女朋友遊玩的錢也沒有?開玩笑。我說不想讓女友跟著他一起捱苦。我也接受不了和女友出去還要女友出錢。是真的沒錢,那我的車和房是怎來的?這個問題很重要不能告訴你。不過直說,就是打腫臉充胖子,為了面子搞個車來玩。因為我愛面子,虛榮心強。為什麼我會對身邊這麼多美女不...

誰能告訴我這些都是劍三裡的誰,誰能告訴我筆記本旁邊的孔都是幹嘛的嗎?

大俠您好 第一個是明教,特色是隱身 跟喵喵。第二個是純陽,四象輪迴是典型技能。第三個是萬花,太素九針特色。第四個是唐門,四川口音。第五個是大師,阿米豆腐。如幫助到您,還望採納 這個就是劍三裡的門派成男,依次是明教,純陽,萬花,五毒,少林 誰能告訴我筆記本旁邊的孔都是幹嘛的嗎?右邊第一也有可能是個鎖孔...