一个超级简单的程序,但是总报错,请高手给看一下~
function HW4()sum=0;
for d=0:6.28/360:6.28
v=(-u0(d)*cos(d)-XTraction(d)*du(d)-YTraction(d)*dv(d))*0.01*(6.28/360);
sum=sum+v;
end
function U=u0(d)
%calculate energy according to stresses.
U=(sigemax(d)^2+sigemay(d)^2+5*tau(d)^2)/(4*100*10^9);
function sigema=sigemax(d)
%calculate x stress
sigema=10*cos(d/2)*(1-sin(d/2)*sin(3*d/2))/sqrt(2*3.14);
function sigema=sigemay(d)
%calculate y stress
sigema=10*cos(d/2)*(1+sin(d/2)*sin(3*d/2))/sqrt(2*3.14);
function tau=tau(d)
%calculate tau stress
tau=10*cos(d/2)*sin(d/2)*cos(3*d/2)/sqrt(2*3.14);
function x=du(d)
%calculate derivative of u to x
%du=2.5*cos(d/2)*(1+2*sin(d/2)^2)/(4*100000)/cos(d)+0.25/(4*100000*sqrt(2*3.14))*(-sin(d/2)*(1+2*sin(d/2)^2)+4*cos(d/2)*sin(d/2)*cos(d/2))/(-0.01*sin(d));
=solve('2.49e-5*cos(d/2)*(1+2*sin(d/2)^2)=cos(d)*x+y*sin(d)','0.0249e-5*(-sin(d/2)*(1+2*sin(d/2)^2)+4*cos(d/2)*sin(d/2)*cos(d/2))=-x*0.01*sin(d)+y*0.01*cos(d)','x,y');
x=subs(x);
function x=dv(d)
%calculate derivative of v to x
=solve('2.49e-5*sin(d/2)*(3-2*cos(d/2)^2)=x*cos(d)+y*sin(d)','0.0249e-5*(cos(d/2)*(3-2*cos(d/2)^2))+4*sin(d/2)*cos(d/2)*sin(d/2)=-x*0.01*sin(d)+y*0.01*cos(d)','x,y');
x=subs(x);
function tx=XTraction(d)
%claculate traction of x-direction
tx=-sigemax(d)*cos(d)-tau(d)*sin(d);
function ty=YTraction(d)
%claculate traction of y-direction
ty=-tau(d)*cos(d)-sigemay*sin(d); do循环的参数能不是正整数么 hongtianwenduo 发表于 2013-4-12 22:16 static/image/common/back.gif
do循环的参数能不是正整数么
我没用do循环,用的for循环。出错提示
Error using HW4>sigemay (line 29)
Not enough input arguments.
Error in HW4>YTraction (line 59)
ty=-tau(d)*cos(d)-sigemay*sin(d);
Error in HW4 (line 6)
v=(-u0(d)*cos(d)-XTraction(d)*du(d)-YTraction(d)*dv(d))*0.01*(6.28/360); ty=-tau(d)*cos(d)-sigemay*sin(d);应更改为
ty=-tau(d)*cos(d)-sigemay(d)*sin(d); hongtianwenduo 发表于 2013-4-13 20:58 static/image/common/back.gif
ty=-tau(d)*cos(d)-sigemay*sin(d);应更改为
ty=-tau(d)*cos(d)-sigemay(d)*sin(d);
啊啊啊,捂脸
页:
[1]