哪位大神可以解讀一下,為什麼畫不出來呀?

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 |