哪位大神可以解讀一下,為什麼畫不出來呀?
clear
EM = 30000;EA = 70000;a1M=9.4*10^(-6);
a2M=11.4*10^(-6);vA = 0.33;vM =0.33;S=(1/EM)-(1/EA);
As = 22;Af = 42;Ms =18;Mf = 3;H =0.05;
PS0 =(-0.35);aM=3.14/(Ms-Mf);CM=-PS0/H;b=a1M-a2M;syms x y;
ezplot(0.5*(cos(aM*(x-3)-(aM/CM*H)*(y*H+0.5*y^(2)*(1/EM-1/EA)+y*(a2M-a1M)*x))+1),[0,100,0,600])
姜宇:如何高效的提問?zhuanlan.zhihu.com菡姐:為什麼我不回答你的MATLAB提問??zhuanlan.zhihu.com
你的這個圖像應該是一個三維的圖像,而你繪圖時繪製的是二點陣圖像,所以沒有用結果,你的程序結果:
clear
EM = 30000;
EA = 70000;
a1M=9.4*10^(-6);
a2M=11.4*10^(-6);
vA = 0.33;
vM =0.33;
S=(1/EM)-(1/EA);
As = 22;
Af = 42;
Ms =18;
Mf = 3;
H =0.05;
PS0 =(-0.35);
aM=3.14/(Ms-Mf);
CM=-PS0/H;
b=a1M-a2M;
syms x y;
f(x,y) = 0.5*(cos(aM*(x-3)-(aM/CM*H)*(y*H+0.5*y^(2)*(1/EM-1/EA)+y*(a2M-a1M)*x))+1)
figure
ezplot(f,[0,100,0,600])
把你的程序稍微改動了一下,結果:
xx = 0:1:100;
yy = 0:10:600;
[xx,yy] = meshgrid(xx,yy);
zz = 0.5.*(cos(aM.*(xx-3)-(aM/CM.*H).*(yy.*H+0.5.*yy.^(2).*(1/EM-1/EA)+yy.*(a2M-a1M).*xx))+1);
figure
surf(xx,yy,zz)
你這個很簡單的圖像,沒有必要使用函數來畫圖。
推薦閱讀:
※使用MATLAB數據分析工具鏈進行實戰: 看電影真的是男女有別
※Matlab編程實踐(二)
※MATLAB數據可視化[2]:heatmap
※如何實現多維數組的行 / 列按照 index 訪問都得到連續內存?
TAG:MATLAB | Matlab2013A |