高手速度matlab怎麼讓二維(x,y)座標計算的值賦給三維平面 x,y,1 ,並儲存,方便呼叫

時間 2021-08-30 09:46:34

1樓:匿名使用者

matlab好像只能畫曲線和曲面,不能畫三維實體,你試試這個樣子的圖你能不能接收吧。

for i=linspace(-pi/6,pi/6,20)

for j=linspace(-pi/6,pi/6,10)

for k=linspace(-pi/6,pi/6,10)

x=cos(i)*cos(j)*cos(k)-cos(i)*sin(j)*sin(k)+cos(i)*cos(j)+cos(i);

y=sin(i)*cos(j)*cos(k)-sin(i)*sin(j)*sin(k)+sin(i)*cos(j)+sin(i);

z=sin(j)*cos(k)+cos(j)*sin(k)+sin(j);

plot3(x,y,z,'o');hold on;

endendend

2樓:

做2個for迴圈

for i=1:xx

for j=1:xx

b(i,j,1)=a(i,j);

endend

3樓:天上的一條龍

比如原來的矩陣為a

s=size(a);

b=reshape(a,[s(1),s(2),1]);

請教高手,怎麼用matlab畫以下函式的三維圖(以x,y,z為座標)?

4樓:匿名使用者

matlab好像只能畫曲線和曲面,不能畫三維實體,你試試這個樣子的圖你能不能接收吧。

for i=linspace(-pi/6,pi/6,20)

for j=linspace(-pi/6,pi/6,10)

for k=linspace(-pi/6,pi/6,10)

x=cos(i)*cos(j)*cos(k)-cos(i)*sin(j)*sin(k)+cos(i)*cos(j)+cos(i);

y=sin(i)*cos(j)*cos(k)-sin(i)*sin(j)*sin(k)+sin(i)*cos(j)+sin(i);

z=sin(j)*cos(k)+cos(j)*sin(k)+sin(j);

plot3(x,y,z,'o');hold on;

endendend

5樓:匿名使用者

x=cos(t1)*cos(t2)*cos(t3)-cos(t1)*sin(t2)*sin(t3)+cos(t1)*cos(t2)+cos(t1);

y=sin(t1)*cos(t2)*cos(t3)-sin(t1)*sin(t2)*sin(t3)+sin(t1)*cos(t2)+sin(t1);

z=sin(t2)*cos(t3)+cos(t2)*sin(t3)+sin(t2);

三個自由變數,不能確定x,y,z

6樓:匿名使用者

n=30;

for k=linspace(-pi/6,pi/6,n)

[i,j]=meshgrid(linspace(-pi/6,pi/6,n),linspace(-pi/6,pi/6,n));

x=cos(i).*cos(j).*cos(k)-cos(i).*sin(j).*sin(k)+cos(i).*cos(j)+cos(i);

y=sin(i).*cos(j).*cos(k)-sin(i).*sin(j).*sin(k)+sin(i).*cos(j)+sin(i);

z=sin(j).*cos(k)+cos(j).*sin(k)+sin(j);

plot3(x,y,z,'.')

end修改了一下樓上的。

如果電腦夠快,把n=30個值改稱60或以上,效果就是立體曲面圖。

ps:matlab迴圈很慢,儘量減少迴圈,實在的情況下實在沒辦法,可以用c等語言寫迴圈,與之混合程式設計。

用matlab作圖,知球面上一些點的座標(x,y,z)和相應的值p,怎樣畫出三維立體圖 10

7樓:

matlab中可以用到的函式有:

surf,su***ce等

呼叫語法:

surf(z)surf(z,c)surf(x,y,z)surf(x,y,z,c)

su***ce(z) su***ce(z,c) su***ce(x,y,z) su***ce(x,y,z,c)

su***ce示例:

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

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

figure

su***ce(x,y,z);

view(3)

上述**可得到如下圖:

注意;surf(x,y,z,c)

su***ce(x,y,z,c)

這兩個函式中的c代表的是對這個面上色所使用的顏色值,可以進行指定,比如用你的p值來指定。

用matlab畫出一個三維圖,如何給其中一個座標賦值,畫出二維圖

8樓:真

clear

clc[x,y,z]=peaks;

mesh(x,y,z);

xlabel('x');ylabel('y');zlabel('z');

%繪製x=-1.55時y隨z變化曲線

[x,y,z]=meshgrid(linspace(min(x(:)),max(x(:))),linspace(min(y(:

)),max(y(:))),linspace(min(z(:)),max(z(:

))));

v=x;

h=contourslice(x,y,z,v,x,y,z,[0 0]-1.55);

set(h,'edgecolor','k')

%二維圖

figure

contourslice(x,y,z,v,x,y,z,[0 0]-1.55);

ylabel('y');zlabel('z');view(90,0);grid on

matlab已知一個二維陣列(x,y)和一個點的位置座標(x,y),怎樣確定這一點離哪一行哪一列最近 5

9樓:追神的孩子

最簡單的方法可能也是最慢的

在for迴圈中,依次取出一個陣列元素(x,y),求到你點的距離,然後求出最小值就行了。

10樓:匿名使用者

有個定義叫做距離有個函式叫做find

matlab已知(x,y,z)怎麼畫三維曲面圖?謝謝!

11樓:匿名使用者

如果不是網bai格點資料,那麼du請用griddata函式插值到網格zhi點dao資料,然後再版surf

如:data=[

1 1 5.14

1 2 9.56

1 3 8.66

2 1 12.55

2 2 10.51

2 3 2.7

3 1 22.03

3 2 22.97

3 3 32.94

4 2 55.58

4 3 24.55

]; %第一列為x,第二權

列為y,第三列為z

[xx,yy]=meshgrid(1:4,1:3); %生成網格點zz=griddata(data(:

,1),data(:,2),data(:,3),xx,yy,'v4');%你的資料得插值成網格型資料。

surf(xx,yy,zz)

shading interp

12樓:匿名使用者

如果不是bai網格點資料,那麼請用griddata函式du插值到zhi網格點資料,dao然後再surf如:data=[

1 1 5.14

1 2 9.56

1 3 8.66

2 1 12.55

2 2 10.51

2 3 2.7

3 1 22.03

3 2 22.97

3 3 32.94

4 2 55.58

4 3 24.55

]; %第一列為

x,第二列版為y,第三權列為z

[xx,yy]=meshgrid(1:4,1:3); %生成網格點zz=griddata(data(:

,1),data(:,2),data(:,3),xx,yy,'v4');%你的資料得插值成網格型資料。

surf(xx,yy,zz)

shading interp

13樓:匿名使用者

採用插值

法bai

du參考

知道了一些點zhi(x,y,z)座標

dao,怎樣用

版matlab繪製出三維曲權面?

14樓:匿名使用者

plot3(x.y.z)

如何在MATLAB中繪製二維多座標圖

gplot a,b a 關係矩陣,b 各點座標 用plot x,y x y包含要畫的所有x點和y點 或者用scatter 然後用text這個函式插入座標。座標值可通過x y取得 text x,y,string text x,y,z,string text propertyname propertyv...

二維二值矩陣用平面圖顯示出來,matlab命令是什麼

淚之夢幻 對於一個二值矩陣,你可以用 pcolor x,y,c 一般x,y是一個二維矩陣 或者一維矩陣,但是一個是行向量,一個是列向量 c的行數和列數與x,y相同。如果是一維矩陣,c的行數等於x的行數,列數等於y的列數 就是在 x i,j y i,j 座標點輸出c i,j 顏色。形象地可以這樣理解。...

cad畫二維螺旋線怎麼畫如圖,cad畫二維螺旋線怎麼畫,如圖

愚人談娛樂 1 啟動cad,要畫二維的圖,推薦經典模式。2 在繪圖選單欄裡找到螺旋,也可以用命令列 helix來啟動螺旋命令。3 指定底面的中心點,單擊某一點作為螺旋線的中心點。4 輸入圈數3,回車,得到螺旋線。 1209啦啦 我做了兩個,一個是運用路徑陣列,一個是成塊定距等分,紅框中的成虛線的就是...