1樓:匿名使用者
phi=1;%你說的常數,根據需要自己改
[f d]=meshgrid(linspace(30,200,20),linspace(2,20,20));
dx2=abs((phi^2/4-phi*f).*d./(2*f.^2-phi*f));
mesh(f,d,dx2);
xlabel('f');ylabel('d');zlabel('\deltax^_');
2樓:匿名使用者
首先考慮了用隱函式生成影象,函式如下
>> ezsurf('(abs(x)+abs(y)-1).*((abs(x)+abs(y))<1)',[-1 1 -1 1 ])
>> hold on
>> ezsurf('-(abs(x)+abs(y)-1).*((abs(x)+abs(y))<1)',[-1 1 -1 1 ])
>> axis equal
>> view(-30,10);
>>**如圖所示,不過存在乙個沒法解決的問題,就是顯示範圍,這個隱函式在
[-1 1 -1 1]整個範圍內都能算出值,雖然在我把xy超出範圍的值都置0了,不過0也能畫出來。
想了半天也想不出來怎麼把篩選矩陣abs(x)+abs(y))<1的0都變成nan,因為不能直接乙個語句就表達出來。
畫這個東西還有個方法,就是用patch,這個函式是能畫出一系列的多邊形,你可以直接用這個函式畫8個三角形出來。
用patch的方法我寫了乙個m函式,很簡單
function point
p=[1 0 0;0 -1 0;-1 0 0;0 1 0;0 0 1 ;0 0 -1];
v=[1 2 6;1 4 6;2 3 6;3 4 6;1 2 5;1 4 5;2 3 5;3 4 5];
clf;
patch('faces',v,'vertices',p,'facevertexcdata',jet(8),'facecolor','flat');
axis equal;
axis([-1 1 -1 1 -1 1]);
grid on;
view(-20,10);
matlab繪製三元(三維)函式影象
matlab 畫圖 三元函式
3樓:匿名使用者
首先考慮了用隱函式生成影象,函式如下
>> ezsurf('(abs(x)+abs(y)-1).*((abs(x)+abs(y))<1)',[-1 1 -1 1 ])
>> hold on
>> ezsurf('-(abs(x)+abs(y)-1).*((abs(x)+abs(y))<1)',[-1 1 -1 1 ])
>> axis equal
>> view(-30,10);
>>**如圖所示,不過存在乙個沒法解決的問題,就是顯示範圍,這個隱函式在
[-1 1 -1 1]整個範圍內都能算出值,雖然在我把xy超出範圍的值都置0了,不過0也能畫出來。
想了半天也想不出來怎麼把篩選矩陣abs(x)+abs(y))<1的0都變成nan,因為不能直接乙個語句就表達出來。
畫這個東西還有個方法,就是用patch,這個函式是能畫出一系列的多邊形,你可以直接用這個函式畫8個三角形出來。
用patch的方法我寫了乙個m函式,很簡單
function point
p=[1 0 0;0 -1 0;-1 0 0;0 1 0;0 0 1 ;0 0 -1];
v=[1 2 6;1 4 6;2 3 6;3 4 6;1 2 5;1 4 5;2 3 5;3 4 5];
clf;
patch('faces',v,'vertices',p,'facevertexcdata',jet(8),'facecolor','flat');
axis equal;
axis([-1 1 -1 1 -1 1]);
grid on;
view(-20,10);
4樓:匿名使用者
先用meshgrid形成xyz三軸的矩陣,然後用slice(x,y,z,a,b,c)abc分表表示xyz所且的橫截面,只要切的細一點,看起來就是個完整的圖,比如abc都取1:0.01:
2,就表示資料從1到2,步長0.01切乙個橫截面,這麼多面放在一起就是乙個完整的圖;
參考如下:
[k,h,e] = meshgrid(-1:.25:1,2:-.25:0,5:1:30);
v = k.*exp(-k.^2-h.^2-e.^2);
xslice = [1];
yslice = [ ];
zslice = [5,20];
hx=slice(k,h,e,v,xslice,yslice,zslice);
set(hx,'facecolor','interp','edgecolor','none')
%colormap hsv;
%shading interp;
xlabel('k');
ylabel('h');
zlabel('e');
%grid off
whitebg('w')
5樓:匿名使用者
%定義函式f(x,y,z)=|x|+|y|+|z|-1f=@(x,y,z)abs(x)+abs(y)+abs(z)-1;
%生成網格
t=linspace(-1,1,25);
[x,y,z]=meshgrid(t,t,t);
v=f(x,y,z);
%用isosu***ce繪製隱函式
h=isosu***ce(x,y,z,v,0);
p=patch(h);
set(p,'facevertexcdata',jet(size(h.vertices,1)),'edgecolor','flat','facecolor','w');
view(3);axis equal
6樓:郟星司空悠
這明顯是乙個曲面方程
所以二三樓的plot用錯了
至少應該用surf
不過我們可以分析該式子的幾何意義:
在空間中某一點到原點o的距離r的5次方即:[(r^2)^2.5]等於該點的z座標的3次方,z>0有意義
r^5=z^3
應該想象得到該曲面應該是乙個z為軸的旋轉曲面可以得到旋轉母線的方程
r=sqrt(z^(3/5)-z^2);
%%%%%%%%%%%%%%%%%%%%
z=0:0.1:10;
r=sqrt(z.^.(3./5)-z.^2);
然後用cylinder函式一部搞定
具體的引數寫法查一下help,因為我很久沒用這個函式了%%%%%%%%%%%%%%%%%%%%%>>z=0:0.1:10;
>>r=sqrt(z.^(3/5)-z.^2);
>>[x,y,z]=cylinder(r);
>>surf(x,y,z)
>>axis([-11-110.1])
matlab 畫多元函式影象
7樓:k打醬油
a=21.2;b=34.7;
x=a+(b-a)*rand(1,100);
c=78;d=165;
y=c+(d-c)*rand(1,100);
[x,y]=meshgrid(x,y);
z=3*x+4*y;
surf(z);
shading interp
樓主你說
bai的「三維du平面圖」我沒看懂,zhi到底三維還是dao平面?上面是畫的曲面專圖,如果你要的屬是畫三維曲線,那就用plot3(x,y,z)
8樓:手機使用者
這個非常簡單,用meshgrid就行了,建議樓主多使用help ,閱讀相關公式資訊。光套用別人的公式,是不能真正搞懂的!
9樓:匿名使用者
x=linspace(21.2,34.7);
y=linspace(78,165);
[x,y]=meshgrid(x,y);
z=3*x+4*y;
mesh(x,y,z);
10樓:匿名使用者
x = 21.2 + 13.5*rand(1,1000);
y = 78+87*rand(1,1000);
z = 3*x+4*y;
plot3(x,y,z,'o');
11樓:匿名使用者
n=100;
x = unifrnd(21.2,34.7,1,n);
y = unifrnd(78,165,1,n);
[x,y]=meshgrid(x,y);
z=3*x+4*y;
surf(z);
shading interp
rotate3d on
view(-84,38)
怎麼用matlab繪製顯函式三元函式影象?
12樓:我行我素
z=0.42a+0.3b可改為z=0.42*x+0.3*y,程式設計可這樣:
x=linspace(0,5);y=linspace(1,8);
[x,y]=meshgrid(x,y);
z=0.42*x+0.3*y;
surf(x,y,z)
你試試看。
什麼是三元催化,都包括哪三元
書中某頁 三元催化 是指將汽車尾氣排出的co hc和nox等有害氣體通過氧化和還原作用轉變為無害的二氧化碳 水和氮氣的催化。主要是用三元催化器,是安裝在汽車排氣系統中最重要的機外淨化裝置。三元催化器的工作原理 當高溫的汽車尾氣通過淨化裝置時,三元催化器中的淨化劑將增強co 碳氫化合物和nox三種氣體...
matlab程式設計求解三元一次非齊次線性方程組,所有係數是使用者自己輸入,最後顯示所有解。求具體的m檔案
酈秋奚綸 你的方程有問題,不太是很用matlab進行計算。因為我們知道,任何數值解法都是有誤差的,你的方程由於係數相差太大,因此略為一點數值誤差就會導致結果又很大的不同。舉個簡單的例子,比如以下方程組 1000x 0.1y 2.1 0.1x 0.1y 0.0001.2 聯立求解就能得到答案。x 0....
好順三元催化清洗劑三元清潔劑三元催化器清洗劑500ml
好用啊 但是需要專用工具清洗 一 何為三元催化?發動機尾氣中含有一氧化碳 c0 碳氫化合物 hc 和氮氧化合物 nox 等有害氣體,三元催化轉換器就是一種能將這三種有害氣體轉化為無害物質的轉化裝置。三元催化轉換器安裝在排氣管道中,外形類似消聲器。其外 筒用雙層不鏽鋼板製成,夾層中裝有絕熱材料 石棉纖...