马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
下面为形成实例模块参数的主程序 qdzb; %产生地震波,即dzb模块中的参数 % 输入结构参数 k=[1,1,1,1,1]*4.2e+7; m0=[1,1,1,1,1]*2.0e+5; % 输入粘弹性阻尼器参数 g1=1.5e+7; g2=2.01e+7; nn=2; cn=5; as=3e-2; t=1.3e-2; O=zeros(cn); I=eye(cn); k0= matrixju (k,cn); m=diag(m0); [x,d]=eig(k0,m); d=sqrt(d); w=sort(diag(d)); a=2*w(1)*w(2)*(0.05*w(2)-0.07*w(1))/(w(2)^2-w(1)^2);b=2*(0.07*w(2)-0.05*w(1))/(w(2)^2-w(1)^2); c0=a*m+b*k0; nd=[1,1,1,1,1]; kd1=nn*g1*as/t; cd1=nn*g2*as/w(1)/t; kd=matrixju (kd1*nd,cn); cd=matrixju (cd1*nd,cn); A=[O I;-inv(m)*k0 -inv(m)*c0]; % 模块A中的参数 B=[O;I]; % 模块B中的参数 R=inv(m)*[kd cd]; % 模块RA中的参数 II=diag(I); % 模块B2中的参数 Ca=zeros(cn,2*cn); Ca(cn,2*cn)=1; % 模块CA中的参数 Cw=zeros(cn,2*cn); Cw(cn,cn)=1; % 模块CW中的参数 D=diag(O) %子程序:形成刚度或阻尼矩阵的聚合矩阵function [kcju]=matrixju(korc,cn) % matrix aggregation of system kcju=zeros(cn); for i=1:cn-1 kcju(i,i)=korc(i)+korc(i+1); kcju(i,i+1)=-korc(i+1); kcju(i+1,i)=-korc(i+1); end kcju(cn,cn)=korc(cn) 第一行就有问题,qdzb不知道什么东西,程序运行不出已知的图形,请学习这本书的大神指导一下!!!灰常感谢!
|