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)
誰能告訴我,誰能告訴我
一個已婚的人,是沒有權力去愛 指愛情 除自己妻子外的女人。因為他受到中國法律的制約。當然你有權力。我不知道你們的事,但我覺得這個男人軟弱,沒有責任感,他要對孩子負責,更要對你負責。男人不該讓女人難過。一個不能給自己愛的女人承諾的男人,不值得愛。如果不和他結婚,你永遠不能完全屬於他,更不可能完全擁有他...
誰能告訴我,誰能告訴我???
幫小夥送了朋友一朵花 我有車有房,我還會連請女朋友遊玩的錢也沒有?開玩笑。我說不想讓女友跟著他一起捱苦。我也接受不了和女友出去還要女友出錢。是真的沒錢,那我的車和房是怎來的?這個問題很重要不能告訴你。不過直說,就是打腫臉充胖子,為了面子搞個車來玩。因為我愛面子,虛榮心強。為什麼我會對身邊這麼多美女不...
誰能告訴我這些都是劍三裡的誰,誰能告訴我筆記本旁邊的孔都是幹嘛的嗎?
大俠您好 第一個是明教,特色是隱身 跟喵喵。第二個是純陽,四象輪迴是典型技能。第三個是萬花,太素九針特色。第四個是唐門,四川口音。第五個是大師,阿米豆腐。如幫助到您,還望採納 這個就是劍三裡的門派成男,依次是明教,純陽,萬花,五毒,少林 誰能告訴我筆記本旁邊的孔都是幹嘛的嗎?右邊第一也有可能是個鎖孔...