1、對于三維圖形其有x、y、z三個坐標(biāo)軸,數(shù)據(jù)也要按三維確定,如圖所示,下面是部分單位數(shù)據(jù)樣例。 2、首先需要將數(shù)據(jù)讀取到MATLAB工作空間(workspace)中,使用xlsread()函數(shù)即可,使用絕對路徑讀取,因?yàn)椴辉贛ATLAB默認(rèn)路徑內(nèi)。 3、接著,需
不論是在科研工作中,還是在實(shí)際工程應(yīng)用中,常常會遇到三維或者更數(shù)據(jù)的處理,并且將處理的數(shù)據(jù)在圖形中顯示出來,MATLAB平臺也提供了很多關(guān)于三維圖形繪制的函數(shù),利用這些函數(shù)可以很方便的實(shí)現(xiàn)三維圖形的繪制,本文主要講解Matlab中關(guān)于三維圖形繪制相關(guān)的函數(shù)。
材料/工具
電腦
方法
調(diào)用plot3函數(shù)來繪制三維曲線圖,調(diào)用格式如下:
1、調(diào)用plot3函數(shù)來繪制三維曲線圖,調(diào)用格式如下: plot3(x1,y1,z1,’PropertyName’,’PropertyValue’); 其中PropertyName表示屬性名,可以是顏色,線型,線寬等屬性,PropertyValue表示屬性值,對應(yīng)屬性名所包含的各種屬性值。 該函數(shù)調(diào)用對
plot3(x1,y1,z1,’PropertyName’,’PropertyValue’...);
在matlab中可以利用三維數(shù)據(jù)等值面繪制函數(shù)isosurface來繪制三維隱函數(shù)的圖像 三維隱函數(shù)可以描述,為方程 f(x,y,z)=0; 如果我們定義函數(shù)v= f(x,y,z) 在一定的下x,y,z的定義域內(nèi)計算出一個三維區(qū)間中v的值 然后方程f(x,y,z)=0的圖像,其實(shí)就是
其中PropertyName表示屬性名,可以是顏色,線型,線寬等屬性,PropertyValue表示屬性值,對應(yīng)屬性名所包含的各種屬性值。
程序如下: [x,y]=meshgrid(-1:0.01:1);z1=2*x.^2+y.^2;mesh(x,y,z1)hold onz=1.*(x>=-1&x
該函數(shù)調(diào)用對應(yīng)的m文件如下:
1、打開matlab,在命令行窗口中輸入如下圖所示,繪制三維函數(shù)圖。 2、按回車鍵之后,可以看到繪制的三維函數(shù)圖。 3、接下來繪制三維餅圖,輸入“pie3([5 3 6 7 9])”。 4、按回車鍵之后,可以看到繪制的三維餅圖。 5、然后輸入相應(yīng)的代碼文件,如
clear all;%%表示清空所有變量及變量值%%
由于你沒有指定x,y坐標(biāo)的具體取值, 下面代碼就直接用整數(shù)序列代替了. x = 1:size(data,1); y = 1:size(data,2); [X,Y] = meshgrid(x,y); surf(X,Y,data);
t=0:pi/360:2*pi;
用isosurface繪制 例子:繪制x^2+y^2-z^2=1的圖像 [x,y,z]=meshgrid(linspace(-10,10)); val=x.^2+y.^2-z.^2; isosurface(x,y,z,val,1) axis equal
x=sin(t);
matlab中三維圖形的顏色的設(shè)置是輸入相關(guān)的字母代碼完成的。只需在繪圖的函數(shù)后加上相應(yīng)的字母代碼即可,具體字母代表的顏色如下: MATLAB在數(shù)學(xué)類科技應(yīng)用軟件中在數(shù)值計算方面首屈一指。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實(shí)現(xiàn)算法、創(chuàng)
y=cos(t);
畫平面完全可以啊,比如 >> x=-20:20; >> y=x; >> [x,y]=meshgrid(x,y); >> z1=x+y+100; >> z2=2x+y+39; .. >> surf(x,y,z1) >> hold on >> surf(x,y,z2) 但是我覺得你要算體積,表面積的話,我覺得還是用autoCAD比較方便吧,先在autoCAD
z=2*x.^2+y.^2;
解決方法: 1、根據(jù)y,z值,求出x值 2、分揀x>=1.5以上對應(yīng)的y,z值 disp('x y z'); %顯示x>=1.5,0
plot3(x,y,z,'Color','r','LineWidth',2);
畫平面完全可以啊,比如 >> x=-20:20; >> y=x; >> [x,y]=meshgrid(x,y); >> z1=x+y+100; >> z2=2x+y+39; .. >> surf(x,y,z1) >> hold on >> surf(x,y,z2) 但是我覺得你要算體積,表面積的話,我覺得還是用autoCAD比較方便吧,先在autoCAD
%%三維曲線坐標(biāo)軸和標(biāo)題的設(shè)置%%
看幫助中的mesh函數(shù),解釋的很清楚 希望你能多看help,勝過市面上的任何matlab編程書籍,并且例子很詳細(xì) 只有自己去想方法,你才能真掌握 謝謝
xlabel('x');
clc,cleara=-pi:0.05:pi;r=linspace(0,15,length(a));x=r.*sin(a);y=r.*cos(a);[X,Y]=meshgrid(x,y);Z=393+(X.^2+Y.^2)*107/225;mesh(Z)這個試試,希望可以幫到你
ylabel('y');
1. 雙縱坐標(biāo)函數(shù)plotyy 在Matlab中,如果需要繪制出具有不同縱坐標(biāo)標(biāo)度的兩個圖形,可以使用plotyy函數(shù),它能把具有不同量綱,不同數(shù)量級的兩個函數(shù)繪制在同一個坐標(biāo)中,有利于圖形數(shù)據(jù)的對比分析。使用格式為:plotyy(x1,y1,x2,y2) x1,y1對應(yīng)一
zlabel('z');
正在思考截面圖 其他的都寫好了 >> t=-3:pi/50:3; >> x=sin(3*t); >> y=cos(3*t); >> [X,Y]=meshgrid(x,y); >> Z=2.*X.^2+Y.^2; >> subplot(2,2,1); >> mesh(X,Y,Z) >> axis([-1.2 1.2 -1.2 1.2 0 3]); >> title('網(wǎng)格圖'); >> subplot(2,2,2);
title('三維曲線圖');
MATLAB繪圖北京科技大學(xué)數(shù)學(xué)實(shí)驗(yàn)三維曲線繪圖三維曲面繪圖北京科技大學(xué)數(shù)學(xué)實(shí)驗(yàn)二、MATLAB三維曲線繪圖plot3——三維曲線繪制指令plot3的調(diào)用格式:plot3(X,Y,Z)plot3(X,Y,Z,’String’)plot3(X1,Y1,Z1,’String1’,X2,Y2,Z2,’String2’,…)plot3與plot
axis([-1.2 1.2 -1.2 1.2 0.5 2.2];
需要源代碼的我也可以給你 源代碼: clear;clc; [a,d]=meshgrid(linspace(0,2*pi,100),linspace(0.1,1,100)); mx=sqrt(25+16*cos(a).^2+94*d.^2.*sin(a).^2); my=sqrt(25+16*sin(a).^2+94*d.^2.*cos(a).^2); mz=sqrt(66+94*d.^2); surf(a,d,mx)
m文件操作及運(yùn)行結(jié)果如下:
先將數(shù)據(jù)按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數(shù)值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點(diǎn)構(gòu)造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
調(diào)用surf、surfc(得到含有等高線的三維曲面圖)、surfl(帶燈光的三維曲面圖)三個函數(shù)來繪制三維曲面圖,調(diào)用格式如下:
方法/步驟 作為演示,以二元函數(shù)圖 z = xexp(-x^2-y^2) 為例講解基本操作,首先需要利用meshgrid函數(shù)生成X-Y平面的網(wǎng)格數(shù)據(jù),如下所示: % 生成二維網(wǎng)格數(shù)據(jù) xa = -2:0.2:2; ya = xa; [x,y] = meshgrid(xa,ya); 此外,需要計算縱軸數(shù)據(jù)(z軸),
surf(x,y,z,’PropertyName’,’PropertyValue’...)
給你一個具體的例子,說明如何用matlab繪制三維圖形。 函數(shù)方程: 運(yùn)行代碼: xi=-10:0.5:10;yi=-10:0.5:10; [x,y]=meshgrid(xi,yi); z=sin(sqrt(x.^2+y.^2))./sqrt(x.^2+y.^2); surf(x,y,z) 運(yùn)行結(jié)果:
調(diào)用該函數(shù)對應(yīng)m文件如下:
3.三維表面圖形的著色 三維表面圖實(shí)際上就是在網(wǎng)格圖的每一個網(wǎng)格片上涂上顏色。surf函數(shù)用缺省的著色方式對網(wǎng)格片著色。除此之外,還可以用shading命令來改變著色方式。 shading faceted命令將每個網(wǎng)格片用其高度對應(yīng)的顏色進(jìn)行著色,但網(wǎng)格線
t=-2:0.1:2;
matlab如何讀取excel里的數(shù)據(jù),并繪制出三維的圖形.解決方法: 將Excel導(dǎo)入matlab,這主要用到xlsread,詳細(xì)用法請查看help xlsread。 畫圖,這個要看看,你是畫線,還是畫面。 如果畫線,請查看help plot3。 如果是畫面,請查看help surf。 MA
[x,y] =meshgrid(t);%%表示區(qū)域網(wǎng)格控制,目地是為了讓x,y形成格點(diǎn)矩陣%%
X,Y = meshgrid(x,y); axis([55 75 0 1 0 200]); t1=0.90;%駕駛員反應(yīng)時間與制動器協(xié)調(diào)時間之和 t2=0.15;%減速度的增長時間 v0=50;%前車的速度 r=5/18;%速度轉(zhuǎn)換系數(shù),km/h轉(zhuǎn)換為m/s Z=X*r*t1+(X*r-v0*r)*t2*0.50+(X*r).^2./(2*10*Y)-(v0*r).^2.
z=5*x.^2+8*y^3;
大概給你編了個函數(shù),你參考一下: 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
surf(x,y,z);
求解思路: 1、用fmⅰncon最小值函數(shù),求出L、t2 mⅰn L表達(dá)式 2、用mesh三維曲面繪畫函數(shù),繪出其三維圖。 V0=[0:0.1:10] V1=[0:0.1:10] [ⅴ0,v1]=meshgrⅰd[V0,Ⅴ1] b=acos(L-387/1600.*ⅴ1.^2*t2^2/(t0*v0)) mesh(ⅴ1,v0,b)
%%設(shè)置三維曲面x軸,y軸,z軸,標(biāo)題對應(yīng)內(nèi)容及三個坐標(biāo)軸的取值范圍%%
plot3函數(shù)——繪制三維曲線 格式:plot3(x1,y1,z1,s1,x2,y2,z2,s2,…)%其中sn是字符串,用于指定顏色、標(biāo)記符號或線型。 t=0:0.1:3*pi; x=t.^3.*sin(3*t).*exp(-t); y=t.^3.*cos(3*t).*exp(-t); z=t.^2; plot3(x,y,z) grid on 2. 繪制三維曲面 格式
xlabel('X');
%說明下,下面的程序是已知三維坐標(biāo)并保存在txt文檔中,畫三維圖,和你的稍有不同,你參考下方法% clear all; clc close all temdat=load('F:test.txt'); x=temdat(:,1); y=temdat(:,2); z=temdat(:,3); minx = min(x); maxx = max(x); miny =
ylabel('Y');
% 畫法與控制 Y = cool(7); subplot(3,2,1) bar3(Y,'detached') title('Detached') subplot(3,2,2) bar3(Y,0.25,'detached') title('Width = 0.25') subplot(3,2,3) bar3(Y,'grouped') title('Grouped') subplot(3,2,4) bar3(Y,0.5,'grouped') t
zlabel('Z');
title('surf三維曲面圖');
axis([-2.5 2.5 -2.5 2.5 -5 25]);
m文件操作及運(yùn)行結(jié)果如下:
先將數(shù)據(jù)按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數(shù)值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點(diǎn)構(gòu)造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
調(diào)用mesh、meshc(得到含有等值線的三維網(wǎng)格圖)、surfz(用于繪制包含零平面的網(wǎng)格線)三個函數(shù)來繪制三維曲面圖,調(diào)用格式如下:
mesh(x,y,z,’PropertyName’,’PropertyValue’...)
t=-2:0.1:2;
matlab如何讀取excel里的數(shù)據(jù),并繪制出三維的圖形.解決方法: 將Excel導(dǎo)入matlab,這主要用到xlsread,詳細(xì)用法請查看help xlsread。 畫圖,這個要看看,你是畫線,還是畫面。 如果畫線,請查看help plot3。 如果是畫面,請查看help surf。 MA
[x,y] =meshgrid(t);%%表示區(qū)域網(wǎng)格控制,目地是為了讓x,y形成格點(diǎn)矩陣%%
X,Y = meshgrid(x,y); axis([55 75 0 1 0 200]); t1=0.90;%駕駛員反應(yīng)時間與制動器協(xié)調(diào)時間之和 t2=0.15;%減速度的增長時間 v0=50;%前車的速度 r=5/18;%速度轉(zhuǎn)換系數(shù),km/h轉(zhuǎn)換為m/s Z=X*r*t1+(X*r-v0*r)*t2*0.50+(X*r).^2./(2*10*Y)-(v0*r).^2.
z=5*x.^2+8*y^3;
大概給你編了個函數(shù),你參考一下: 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
mesh(x,y,z);
%%設(shè)置三維曲面x軸,y軸,z軸,標(biāo)題對應(yīng)內(nèi)容及三個坐標(biāo)軸的取值范圍%%
plot3函數(shù)——繪制三維曲線 格式:plot3(x1,y1,z1,s1,x2,y2,z2,s2,…)%其中sn是字符串,用于指定顏色、標(biāo)記符號或線型。 t=0:0.1:3*pi; x=t.^3.*sin(3*t).*exp(-t); y=t.^3.*cos(3*t).*exp(-t); z=t.^2; plot3(x,y,z) grid on 2. 繪制三維曲面 格式
xlabel('X');
%說明下,下面的程序是已知三維坐標(biāo)并保存在txt文檔中,畫三維圖,和你的稍有不同,你參考下方法% clear all; clc close all temdat=load('F:test.txt'); x=temdat(:,1); y=temdat(:,2); z=temdat(:,3); minx = min(x); maxx = max(x); miny =
ylabel('Y');
% 畫法與控制 Y = cool(7); subplot(3,2,1) bar3(Y,'detached') title('Detached') subplot(3,2,2) bar3(Y,0.25,'detached') title('Width = 0.25') subplot(3,2,3) bar3(Y,'grouped') title('Grouped') subplot(3,2,4) bar3(Y,0.5,'grouped') t
zlabel('Z');
title('mesh三維網(wǎng)格圖');
axis([-2.5 2.5 -2.5 2.5 -5 25]);
m文件操作及運(yùn)行結(jié)果如下:
先將數(shù)據(jù)按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數(shù)值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點(diǎn)構(gòu)造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
調(diào)用contour3函數(shù)繪制三維等高線圖,調(diào)用格式如下:
contour3(z,n);
contour3(x,y,z,n);
編寫該函數(shù)調(diào)用的m文件,如下:
[x,y]=meshgrid(-1.5:0.01:1.5);
z=x.*exp(-x.^2-2*y.^2);
contour3(x,y,z,15);
grid off;%%關(guān)閉網(wǎng)格%%
%%設(shè)置三維等高線x軸,y軸,z軸,標(biāo)題對應(yīng)內(nèi)容及三個坐標(biāo)軸的取值范圍%%
xlabel('X');
ylabel('Y');
zlabel('Z');
title('contour3三維等高線圖');
axis([-1.5 1.5 -1.5 1.5 -0.5 0.5]);
m文件操作及運(yùn)行結(jié)果如下:
先將數(shù)據(jù)按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數(shù)值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點(diǎn)構(gòu)造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
特殊三維圖形調(diào)用函數(shù):
cylinder:三維柱面圖,sphere:三維球體
pie3: 三維餅狀圖, ribbon:三維彩帶圖
特殊三維圖形繪制
對上面所講的四種特殊三維圖形進(jìn)行繪制,首先編寫對應(yīng)的m文件如下:
clear all;
t=0:pi/20:2*pi;
[x,y,z]=cylinder(1+cos(t));
subplot(2,2,1)
surf(x,y,z);
axis([-3 3 -3 3 0 1]);
title('三維柱面圖形');
subplot(2,2,2)
sphere;
axis([-1 1 -1 1 -1 1]);
title('三維球體圖形');
subplot(2,2,3)
a=[1 2 2.5 3 1.5];%%各部分所占的比例%%
b=[0 0 1 0 0];%%0,表示不單獨(dú)分離出來,1表示分離出來表示%%
pie3(a,b);
title('三維餅狀圖形')
subplot(2,2,4)
[X2,Y2]=meshgrid(-2:0.25:2);
Z2=peaks(X2,Y2);
ribbon(Y2,Z2);
title('三維彩帶圖形');
m文件操作及運(yùn)行結(jié)果如下:
先將數(shù)據(jù)按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數(shù)值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點(diǎn)構(gòu)造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
擴(kuò)展閱讀,以下內(nèi)容您可能還感興趣。
Matlab繪制三元(三維)函數(shù)圖像
解決方法:
1、根據(jù)y,z值,求出x值
2、分copy揀x>=1.5以上對應(yīng)的y,z值
disp('x y z'); %顯示x>=1.5,0<y<0.5,0<z<6.0的值
3、用polt3()函數(shù)繪制圖形百,即
plot3(x,y,z)
4、具體代碼見附件。也可以通過私信上傳。度
為什么 我這個不行
clear
xa = 1.5:0.3:3.0
ya = 0:0.1:0.5
[x,y]=meshgrid(xa,ya)
z = 1/4/y+14.4/36/x-1/12-7.8/36/x/y
mesh(x,y,z)追答
ya=linspace(0,0.5,50);
za=linspace(0,6.0,50);
[y,z]=meshgrid(ya,za)
。。。。。
x0=solve(9*xi-3*xi.*y(k)-36*xi.*y(k).*z(k)+46.8*z(k)-7.8)
。。。。。
mesh(x,y,z)
Matlab GUI 繪制三維圖形,并實(shí)現(xiàn)使用控件使圖形旋轉(zhuǎn)
畫平面完全可以啊,百比如
>> x=-20:20;
>> y=x;
>> [x,y]=meshgrid(x,y);
>> z1=x+y+100;
>> z2=2x+y+39;
........
>> surf(x,y,z1)
>> hold on
>> surf(x,y,z2)
但是我覺得你要算體積度,表面積的話,我覺得還是用autoCAD比較問方便吧,先在autoCAD的三維界面中畫一個大的立方體,然后答每三個點(diǎn)就能確定一個平面,用這些平面切削那個立方體,然后 點(diǎn)擊那個被切削完的圖形,“工具/查詢” 就能找到體積了
怎樣使用matlab繪制三維圖形,多個波峰與波谷
看幫助中的mesh函數(shù),解釋的很清楚
希望你能多看help,勝過市面上的任何matlab編程書籍,并且例子很詳細(xì)
只有自己去想方法,你才能真掌握
謝謝
matlab三維圖形繪制題目
clc,clear
a=-pi:0.05:pi;
r=linspace(0,15,length(a));
x=r.*sin(a);
y=r.*cos(a);
[X,Y]=meshgrid(x,y);
Z=393+(X.^2+Y.^2)*107/225;
mesh(Z)
這個試試,百希望可度以幫到你
matlab三維畫圖怎么設(shè)置顏色
1. 雙縱坐標(biāo)函數(shù)plotyy
在Matlab中,如果需要繪制出具有不同縱坐標(biāo)標(biāo)度的兩個圖形,知可以使用道plotyy函數(shù),它能把具有不同量綱,不同數(shù)量級的兩個函數(shù)繪制在同一個坐標(biāo)中,有利于圖形數(shù)據(jù)的對比分析。使用格專式為:plotyy(x1,y1,x2,y2)
x1,y1對應(yīng)一條曲線,x2,y2對應(yīng)另一條曲線。橫坐標(biāo)的標(biāo)度屬相同,縱坐標(biāo)有兩個,左邊的對應(yīng)x1,y1數(shù)據(jù)對,右邊的對應(yīng)x2,y2。追問是的,現(xiàn)在函數(shù)圖已經(jīng)做出來了,想重新設(shè)置顏色,不知道該怎么做
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com