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 二維矩...