clear all;
E=30;
v=0.4;
kappa=3-4*v;
mju=E/(2*(1+v));
E11=80;
E22=12;
E33=20;
v12=0.28;
v13=0.24;
v23=0.08;
G12=6;
v21=(E22/E11)*v12;
v31=(E33/E11)*v13;
v32=(E33/E22)*v23;
w=(1-v13*v31)*(1-v23*v32)-(v21+v23*v31)*(v12+v32*v13);
c11=E11*(1-v23*v32)/w;
c12=E11*(v21+v23*v31)/w;
c22=E22*(1-v13*v31)/w;
c66=G12;
a=c22*c66;
b=c11*c22-c12^2-2*c12*c66;
c=c11*c66;
s1=sqrt((b+sqrt(b^2-4*a*c))/(2*a));
s2=sqrt((b-sqrt(b^2-4*a*c))/(2*a));
alpha1=(c11-c66*s1^2)/(c12*s1+c66*s1);
alpha2=(c11-c66*s2^2)/(c12*s2+c66*s2);
lmd=0.0:0.01:1.0;
N=length(lmd);
for m=1:N
lambda=lmd(N);
a1=2*mju*(lambda+1)*(s1^lambda);
a2=2*mju*(lambda+1)*(s2^lambda);
b1=-(lambda+1)*c66*(1+alpha1/s1)*(s1^lambda);
b2=-(lambda+1)*c66*(1+alpha2/s2)*(s2^lambda);
t=tan(lambda*pi/2);
g1=(((lambda+1)*(1-kappa)*alpha1-(lambda-1)*(1+kappa))*a1+((lambda-kappa)*(1-kappa)*s1+(lambda+kappa)*(1+kappa)*b1))/((1-kappa^2)*(t+1/t));
g2=(((lambda+1)*(1-kappa)*alpha2-(lambda-1)*(1+kappa))*a2+((lambda-kappa)*(1-kappa)*s2+(lambda+kappa)*(1+kappa)*b2))/((1-kappa^2)*(t+1/t));
l1=(a1*(alpha1+1)+b1*(s1-1))/((1+kappa)*(t+1/t));
l2=(a2*(alpha2+1)+b2*(s2-1))/((1+kappa)*(t+1/t));
x1=(-((lambda-1)*(1+kappa)+(lambda+1)*(1-kappa)*t^2*alpha1)*a1+((lambda+kappa)*(1+kappa)-(lambda-kappa)*(1-kappa)*t^2*s1)*b1)/((1-kappa^2)*(1+t^2));
x2=(-((lambda-1)*(1+kappa)-(lambda+1)*(1-kappa)*t^2*alpha2)*a2+((lambda+kappa)*(1+kappa)-(lambda-kappa)*(1-kappa)*t^2*s2)*b2)/((1-kappa^2)*(1+t^2));
y1=-(a1*(t^2*alpha1-1)+b1*(t^2*s1+1))/((1+kappa)*(1+t^2));
y2=-(a2*(t^2*alpha2-1)+b2*(t^2*s2+1))/((1+kappa)*(1+t^2));
k1=(g1+(lambda+1)*l1)*sin(lambda*pi)+(x1+(lambda+1)*y1)*cos(lambda*pi);
k2=(g2+(lambda+1)*l2)*sin(lambda*pi)+(x2+(lambda+1)*y2)*cos(lambda*pi);
k3=(x1+(lambda-1)*y1)*sin(lambda*pi)+(g1+(lambda-1)*l1)*cos(lambda*pi);
k4=(x2+(lambda-1)*y2)*sin(lambda*pi)+(g2+(lambda-1)*l2)*cos(lambda*pi);
eq(m)=k1*k4-k2*k3;
solve('eq(m)','lambda')
end
请问有没有哪位大侠能够看出程序有没有什么错误的地方?或者求出lambda的值~谢啦