1樓:匿名使用者
看幫助中的mesh函式,解釋的很清楚
希望你能多看help,勝過市面上的任何matlab程式設計書籍,並且例子很詳細
只有自己去想方法,你才能真掌握謝謝
2樓:匿名使用者
假設你的資料為
x=[1 2 3 4 5 6 7 8];%當然你的資料可能很複雜
y=[2 3 4 5 6 7 8 9];
z = 2 12 36 80 150 252 392 576
%我隨意取的滿足z=x.^2*y,當然你的z不是很有規律,或者有你不知!
即有(x,y,z)共八組點,你想畫出曲面圖z=f(x,y)
可是你用mesh畫網格圖必須是對於x y交叉的所有z值都得已知,才可以畫出!
>> [xx,yy]=meshgrid(x,y)
xx =
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
yy =
2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9
即你應該知道所有的z值,而不僅僅是(x,y)=(1,2),(2,3),(3,4),(4,5),(5,6),(6,7),(7,8),(8,9)點處對應的z值,只有這樣才能畫出你的曲面圖
即想方法測出其他點的z值,只有獲得了這些以後,才可以用插值函式interp2進行插值獲得更精細的曲面圖
即縮小區域及間隔
[x0,y0]=meshgrid(1:0.1:10,2:0.1:10)%當然你可以自己取範圍與間隔
z0=interp2(x,y,zz,x0,y0)%x,y為你自己的資料,zz為我告訴你要獲得的length(y)行length(x)列的矩陣,得到的z0也為矩陣
mesh(x0,y0,z0)%即畫出你要的網格圖
希望我的回答能幫助你!
3樓:
plot3(x,y,z)
surf(x,y,z)
mesh(x,y,z)
4樓:
給我你郵箱,我發給你教程!
matlab三維圖形繪製,多個波峰波谷,求**啊!!!!急用,謝謝了,我只需上半部分,-z的不要
5樓:劉賀
clear all;clc;
x=-6*pi:pi/5:6*pi;
y=-6*pi:pi/5:6*pi;
[x,y]=meshgrid(x,y);
z=15*(sin(x/2+pi/3)+cos(y/2+pi/3));
z=z.*(z>0)+(z<0)*0;
surf(x,y,z);grid on;
求助用matlab畫多個三維曲面圖! 100
6樓:書宬
^clear;clc
i=[0.3 0.6 1.2]; % 你的 x範圍來取值太
源小了,這樣exp(23251./x)就是無窮大了畫不出來[x,y]=meshgrid(100000:10000:
1300000,0.000001:0.
0005:0.05);
for n=1:3
z=1.0686*i(n)*exp(23251./x).*y.^2;
mesh(x,y,z)
hold onend
7樓:匿名使用者
樓主給的表示式和資料範圍是不是有問題?
1、就現在給的表示式來說,i是直接作專為係數乘到屬z裡面的,曲面無非值大小不同而已,不可能有別的區別。
2、表示式中有23251/x,x不能從0開始。
3、對於比較小的x,23251/x很大,再求e^(23251/x)就很容易超出浮點數範圍而成為數值表示的「無窮大」(inf)。
程式供參考:
x=linspace(100,1300,50);
y=linspace(eps,0.05,50);
[x,y]=meshgrid(x,y);
for i=[0.3 0.6 1.2]
z=1.0686*i*(exp(23251./x)).*(y.^2);
mesh(x,y,z)
hold on
endset(gcf,'renderer','painters');
8樓:我行我素
可這樣:
i=[0.3 0.6 1.2];
for k=1:3
x=linspace(0,1300,50);y=linspace(0,0.05,50);[x,y]=meshgrid(x,y);z=1.0686*i(k)*exp(23251.
/x).*y.^2;
mesh(x,y,z),hold onend
matlab繪製三維圖形 10
9樓:匿名使用者
繪製圓臺可以用cylinder()函式命令得到。其**為
t = 0:pi/10:2*pi;
[x,y,z] = cylinder(10-t);
surf(x,y,z)
xlabel('x'),ylabel('y'),zlabel('z');
title('圓臺')
關於matlab通過矩陣畫三維圖
輕煙談生活 1 對於三維圖形其有x y z三個座標軸,資料也要按三維確定,如圖所示,下面是部分單位資料樣例。2 首先需要將資料讀取到matlab工作空間 workspace 中,使用xlsread 函式即可,使用絕對路徑讀取,因為不在matlab預設路徑內。3 接著,需要將x1 y1 z1資料分別從...
CAD如何繪製三維圖,CAD如何生成立體圖
悸末 花開 理解ucs座標系的概念。ucs座標的轉換就相當於三維軟體裡的前視 右視 上視等基準面之間的參照轉換。注意的是在cad裡不管是拉伸 旋轉或是掃描,所定義的線必須是封閉的,所以通常會用到多段線 pl 命令,當然也可以用直線命令,最後用 pe 命令來合成。定義成塊也是一種方法。 amw無名火 ...
如何用matlab畫z 1 x y 2的三維圖
x和y之間要有函式關係,如果是實際資料則x和y元素之間要一一對應,使用mesh z 或surf z 函式。 mesh命令是網格圖 surf命令是表面圖,具體可以help一下 二中混過 x,y meshgrid 10 0.5 10 z 1.x y.2 surf x,y,z 怎樣用matlab畫出 x ...