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啦啦 我做了兩個,一個是運用路徑陣列,一個是成塊定距等分,紅框中的成虛線的就是...