clear
n=1;
syms y
rou1=2000;
rou2=800;
l=6;
E=5e11;
mE=2000;
A=@(y)0.1*(8-y/l);
Af=@(y)0.05*(10-(y/l)-(y/l)^2-(y/l)^3);
I=@(y)0.0001*(5-y/l-(y/l)^2);
for i=1:n
for j=1:n
Phi1=@(y)(y/l)^(i+1)*(2+i-i*(y/l))/i/(i+1)/(i+2);
Phi2=@(y)(y/l)^(j+1)*(2+j-j*(y/l))/j/(j+1)/(j+2);
M(i,j)=int(rou1*A(y)*Phi1(y)*Phi2(y),0,l)+int(rou2*Af(y)*Phi1(y)*Phi2(y),l/5,l*4/5)+mE*(Phi1(l/5)*Phi2(l/5)+Phi1(3*l/5)*Phi2(3*l/5));
K(i,j)=int(E*I(y)*(1/l^2)*(1-y/l)*(y/l)^(i-1)*(1/l^2)*(1-y/l)*(y/l)^(j-1),0,l);
end
end
syms W
w=eval(solve(det(K-W^2*M)))
n为1和2的时候能解出答案,n为3的时候就出了bug,有人能给debug吗
n=1;
syms y
rou1=2000;
rou2=800;
l=6;
E=5e11;
mE=2000;
A=@(y)0.1*(8-y/l);
Af=@(y)0.05*(10-(y/l)-(y/l)^2-(y/l)^3);
I=@(y)0.0001*(5-y/l-(y/l)^2);
for i=1:n
for j=1:n
Phi1=@(y)(y/l)^(i+1)*(2+i-i*(y/l))/i/(i+1)/(i+2);
Phi2=@(y)(y/l)^(j+1)*(2+j-j*(y/l))/j/(j+1)/(j+2);
M(i,j)=int(rou1*A(y)*Phi1(y)*Phi2(y),0,l)+int(rou2*Af(y)*Phi1(y)*Phi2(y),l/5,l*4/5)+mE*(Phi1(l/5)*Phi2(l/5)+Phi1(3*l/5)*Phi2(3*l/5));
K(i,j)=int(E*I(y)*(1/l^2)*(1-y/l)*(y/l)^(i-1)*(1/l^2)*(1-y/l)*(y/l)^(j-1),0,l);
end
end
syms W
w=eval(solve(det(K-W^2*M)))
n为1和2的时候能解出答案,n为3的时候就出了bug,有人能给debug吗

