我用此程序验算书上的算例(闻邦椿的《转子动力学》),结果相差很大,我反复检查过很多遍程序实在发现不了新的问题,如果前辈对此方面有所研究,请不吝赐教啊,很困惑,完整程序如下:
clear;
l=[1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,1.3,0];
m=[2940,5880,5880,5880,5880,5880,5880,5880,5880,5880,5880,5880,2940];
Jp=[0,0,0,0,0,0,0,0,0,0,0,0,0];
Jd=[0,0,0,0,0,0,0,0,0,0,0,0,0];
I=[100,100,100,100,100,100,100,100,100,100,100,100,100];
E=4393;
v=[0,0,0,0,0,0,0,0,0,0,0,0,0];
k=[1.96*10^9,0,0,1.96*10^9,0,0,1.96*10^9,0,0,1.96*10^9,0,0,1.96*10^9];
kb=[2.7048*10^9,0,0,2.7048*10^9,0,0,2.7048*10^9,0,0,2.7048*10^9,0,0,2.7048*10^9];
mb=[3577,3577,3577,3577,3577,3577,3577,3577,3577,3577,3577,3577,3577];
S=[0,0;0,0];
s=1;
x=[];
for n=1864:1864
for i=1:13
K=k(i)*(kb(i)-mb(i)*n^2)/(k(i)+kb(i)-mb(i)*n^2)
%l(i)/(E*I(i))
u11=[1,l(i);0,1];
u12=[l(i)*(m(i)*n^2-K),(Jp(i)-Jd(i))*n^2;m(i)*n^2-K,0];
u21=(l(i)/(E*I(i))).*[l(i)/2,l(i)^2*(1-v(i))/6;1,l(i)/2];
u22=[1+l(i)^3*(1-v(i))*(m(i)*n^2-K)/(6*E*I(i)),l(i)+l(i)^2*(Jp(i)-Jd(i))*n^2/(2*E*I(i));l(i)^2*(m(i)*n^2-K)/(2*E*I(i)),1+l(i)*(Jp(i)-Jd(i))*n^2/(E*I(i))];
%s=sign(det(u21*S+u22))*s;
S=[u11*S+u12]*inv([u21*S+u22])
end
D=det(S);
x=[x,D];
end
n=1864:1:1864;
grid on
plot(n,x) |