1、對于三維圖形其有x、y、z三個坐標軸,數據也要按三維確定,如圖所示,下面是部分單位數據樣例。 2、首先需要將數據讀取到MATLAB工作空間(workspace)中,使用xlsread()函數即可,使用絕對路徑讀取,因為不在MATLAB默認路徑內。 3、接著,需
不論是在科研工作中,還是在實際工程應用中,常常會遇到三維或者更數據的處理,并且將處理的數據在圖形中顯示出來,MATLAB平臺也提供了很多關于三維圖形繪制的函數,利用這些函數可以很方便的實現三維圖形的繪制,本文主要講解Matlab中關于三維圖形繪制相關的函數。
材料/工具
電腦
方法
調用plot3函數來繪制三維曲線圖,調用格式如下:
1、調用plot3函數來繪制三維曲線圖,調用格式如下: plot3(x1,y1,z1,’PropertyName’,’PropertyValue’); 其中PropertyName表示屬性名,可以是顏色,線型,線寬等屬性,PropertyValue表示屬性值,對應屬性名所包含的各種屬性值。 該函數調用對
plot3(x1,y1,z1,’PropertyName’,’PropertyValue’...);
在matlab中可以利用三維數據等值面繪制函數isosurface來繪制三維隱函數的圖像 三維隱函數可以描述,為方程 f(x,y,z)=0; 如果我們定義函數v= f(x,y,z) 在一定的下x,y,z的定義域內計算出一個三維區間中v的值 然后方程f(x,y,z)=0的圖像,其實就是
其中PropertyName表示屬性名,可以是顏色,線型,線寬等屬性,PropertyValue表示屬性值,對應屬性名所包含的各種屬性值。
程序如下: [x,y]=meshgrid(-1:0.01:1);z1=2*x.^2+y.^2;mesh(x,y,z1)hold onz=1.*(x>=-1&x
該函數調用對應的m文件如下:
1、打開matlab,在命令行窗口中輸入如下圖所示,繪制三維函數圖。 2、按回車鍵之后,可以看到繪制的三維函數圖。 3、接下來繪制三維餅圖,輸入“pie3([5 3 6 7 9])”。 4、按回車鍵之后,可以看到繪制的三維餅圖。 5、然后輸入相應的代碼文件,如
clear all;%%表示清空所有變量及變量值%%
由于你沒有指定x,y坐標的具體取值, 下面代碼就直接用整數序列代替了. 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中三維圖形的顏色的設置是輸入相關的字母代碼完成的。只需在繪圖的函數后加上相應的字母代碼即可,具體字母代表的顏色如下: MATLAB在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創
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、根據y,z值,求出x值 2、分揀x>=1.5以上對應的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
%%三維曲線坐標軸和標題的設置%%
看幫助中的mesh函數,解釋的很清楚 希望你能多看help,勝過市面上的任何matlab編程書籍,并且例子很詳細 只有自己去想方法,你才能真掌握 謝謝
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. 雙縱坐標函數plotyy 在Matlab中,如果需要繪制出具有不同縱坐標標度的兩個圖形,可以使用plotyy函數,它能把具有不同量綱,不同數量級的兩個函數繪制在同一個坐標中,有利于圖形數據的對比分析。使用格式為:plotyy(x1,y1,x2,y2) x1,y1對應一
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('網格圖'); >> subplot(2,2,2);
title('三維曲線圖');
MATLAB繪圖北京科技大學數學實驗三維曲線繪圖三維曲面繪圖北京科技大學數學實驗二、MATLAB三維曲線繪圖plot3——三維曲線繪制指令plot3的調用格式: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文件操作及運行結果如下:
先將數據按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點構造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
調用surf、surfc(得到含有等高線的三維曲面圖)、surfl(帶燈光的三維曲面圖)三個函數來繪制三維曲面圖,調用格式如下:
方法/步驟 作為演示,以二元函數圖 z = xexp(-x^2-y^2) 為例講解基本操作,首先需要利用meshgrid函數生成X-Y平面的網格數據,如下所示: % 生成二維網格數據 xa = -2:0.2:2; ya = xa; [x,y] = meshgrid(xa,ya); 此外,需要計算縱軸數據(z軸),
surf(x,y,z,’PropertyName’,’PropertyValue’...)
給你一個具體的例子,說明如何用matlab繪制三維圖形。 函數方程: 運行代碼: 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) 運行結果:
調用該函數對應m文件如下:
3.三維表面圖形的著色 三維表面圖實際上就是在網格圖的每一個網格片上涂上顏色。surf函數用缺省的著色方式對網格片著色。除此之外,還可以用shading命令來改變著色方式。 shading faceted命令將每個網格片用其高度對應的顏色進行著色,但網格線
t=-2:0.1:2;
matlab如何讀取excel里的數據,并繪制出三維的圖形.解決方法: 將Excel導入matlab,這主要用到xlsread,詳細用法請查看help xlsread。 畫圖,這個要看看,你是畫線,還是畫面。 如果畫線,請查看help plot3。 如果是畫面,請查看help surf。 MA
[x,y] =meshgrid(t);%%表示區域網格控制,目地是為了讓x,y形成格點矩陣%%
X,Y = meshgrid(x,y); axis([55 75 0 1 0 200]); t1=0.90;%駕駛員反應時間與制動器協調時間之和 t2=0.15;%減速度的增長時間 v0=50;%前車的速度 r=5/18;%速度轉換系數,km/h轉換為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;
大概給你編了個函數,你參考一下: 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最小值函數,求出L、t2 mⅰn L表達式 2、用mesh三維曲面繪畫函數,繪出其三維圖。 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)
%%設置三維曲面x軸,y軸,z軸,標題對應內容及三個坐標軸的取值范圍%%
plot3函數——繪制三維曲線 格式:plot3(x1,y1,z1,s1,x2,y2,z2,s2,…)%其中sn是字符串,用于指定顏色、標記符號或線型。 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');
%說明下,下面的程序是已知三維坐標并保存在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文件操作及運行結果如下:
先將數據按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點構造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
調用mesh、meshc(得到含有等值線的三維網格圖)、surfz(用于繪制包含零平面的網格線)三個函數來繪制三維曲面圖,調用格式如下:
mesh(x,y,z,’PropertyName’,’PropertyValue’...)
t=-2:0.1:2;
matlab如何讀取excel里的數據,并繪制出三維的圖形.解決方法: 將Excel導入matlab,這主要用到xlsread,詳細用法請查看help xlsread。 畫圖,這個要看看,你是畫線,還是畫面。 如果畫線,請查看help plot3。 如果是畫面,請查看help surf。 MA
[x,y] =meshgrid(t);%%表示區域網格控制,目地是為了讓x,y形成格點矩陣%%
X,Y = meshgrid(x,y); axis([55 75 0 1 0 200]); t1=0.90;%駕駛員反應時間與制動器協調時間之和 t2=0.15;%減速度的增長時間 v0=50;%前車的速度 r=5/18;%速度轉換系數,km/h轉換為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;
大概給你編了個函數,你參考一下: 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);
%%設置三維曲面x軸,y軸,z軸,標題對應內容及三個坐標軸的取值范圍%%
plot3函數——繪制三維曲線 格式:plot3(x1,y1,z1,s1,x2,y2,z2,s2,…)%其中sn是字符串,用于指定顏色、標記符號或線型。 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');
%說明下,下面的程序是已知三維坐標并保存在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三維網格圖');
axis([-2.5 2.5 -2.5 2.5 -5 25]);
m文件操作及運行結果如下:
先將數據按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點構造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
調用contour3函數繪制三維等高線圖,調用格式如下:
contour3(z,n);
contour3(x,y,z,n);
編寫該函數調用的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;%%關閉網格%%
%%設置三維等高線x軸,y軸,z軸,標題對應內容及三個坐標軸的取值范圍%%
xlabel('X');
ylabel('Y');
zlabel('Z');
title('contour3三維等高線圖');
axis([-1.5 1.5 -1.5 1.5 -0.5 0.5]);
m文件操作及運行結果如下:
先將數據按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點構造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
特殊三維圖形調用函數:
cylinder:三維柱面圖,sphere:三維球體
pie3: 三維餅狀圖, ribbon:三維彩帶圖
特殊三維圖形繪制
對上面所講的四種特殊三維圖形進行繪制,首先編寫對應的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,表示不單獨分離出來,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文件操作及運行結果如下:
先將數據按上面的方式載入,然后: p=randn(3,100);%在此我以這個p為例; x = p(1,:); y = p(2,:);z = p(3,:);%載入x,y,z的數值; xi=linspace(min(x),max(x),50); yi=linspace(min(y),max(y),50);%插值點構造; [Xi,Yi]=meshgrid(xi,yi); Zi=griddat
擴展閱讀,以下內容您可能還感興趣。
Matlab繪制三元(三維)函數圖像
解決方法:
1、根據y,z值,求出x值
2、分copy揀x>=1.5以上對應的y,z值
disp('x y z'); %顯示x>=1.5,0<y<0.5,0<z<6.0的值
3、用polt3()函數繪制圖形百,即
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 繪制三維圖形,并實現使用控件使圖形旋轉
畫平面完全可以啊,百比如
>> 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的三維界面中畫一個大的立方體,然后答每三個點就能確定一個平面,用這些平面切削那個立方體,然后 點擊那個被切削完的圖形,“工具/查詢” 就能找到體積了
怎樣使用matlab繪制三維圖形,多個波峰與波谷
看幫助中的mesh函數,解釋的很清楚
希望你能多看help,勝過市面上的任何matlab編程書籍,并且例子很詳細
只有自己去想方法,你才能真掌握
謝謝
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三維畫圖怎么設置顏色
1. 雙縱坐標函數plotyy
在Matlab中,如果需要繪制出具有不同縱坐標標度的兩個圖形,知可以使用道plotyy函數,它能把具有不同量綱,不同數量級的兩個函數繪制在同一個坐標中,有利于圖形數據的對比分析。使用格專式為:plotyy(x1,y1,x2,y2)
x1,y1對應一條曲線,x2,y2對應另一條曲線。橫坐標的標度屬相同,縱坐標有兩個,左邊的對應x1,y1數據對,右邊的對應x2,y2。追問是的,現在函數圖已經做出來了,想重新設置顏色,不知道該怎么做
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com