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

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

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三維圖的做法,怎麼把多個二維圖做成三維圖

翔飛呀 應該要的是三維瀑布圖。一般mesh,surf三維繪圖都是曲面圖,而不是曲線圖。plot3函式可以實現瀑布圖繪製,x 125 25 5 1 2 3 5 7 10 20 30 y 2.57 3.18 3.453.34 3.12 3.13 3.52 3.77 4.11 4.56 4.51 注意,僅...

matlab中怎樣將三維陣列的維賦給二維如A1)賦給二維的B

1,直接賦值 b a 1 試了一下可以。2.先用次sum求每行元素和,因為要求 每個元素都除以每列之和 所以得用1次for迴圈 酷呆愛死呆 1 三維陣列中的各個為也是二維陣列,所以賦值可以直接賦即可!假設a是三維陣列,b是二維陣列 b a 1 b a 2 b a 3 分別把a的三維中的 一 二 三維...

matlab中怎樣將二維矩陣轉成灰度影像顯示出來

楊好巨蟹座 matlab中怎樣將二維矩陣轉成灰度影像 相關的問題,對 matlab中怎樣將二維矩陣轉成灰度影像 相關的解決方案進行了整理,使用者詳細問題包括 rt,matlab中怎樣將二維矩陣轉成灰度影像顯示出來,解決方案1 a r俯稜碘谷鄢咐碉栓冬兢andint 300,300,0 255 二維矩...