虚拟激励法程序求助.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟激励法程序求助

虚拟激励法程序求助 hustdd 发表于: 2008-12-14 11:34 来源: 振动资讯 学习林家浩教授和张亚辉教授的专著《随机振动的虚拟激励法》时,编制的程序和书上的结果对不上,请大家帮忙看看。 clear; clc; n=4; II=sqrt(-1); %主结构质量、阻尼、刚度矩阵 M=eye(n)*1.0e+4; K=eye(n)*1.6*1.0e+7; %主结构刚度矩阵聚合 zk=zeros(n); for j=1:(n-1) zk(j,j)=K(j,j)+K(j+1,j+1); zk(j,j+1)=-K(j+1,j+1); zk(j+1,j)=-K(j+1,j+1); end zk(n,n)=K(n,n); k=zk; m=M; %求解各阶模态频率 [tzxl,tzz]=eig(k,m); d=diag(sqrt(tzz)); %振型规一化 for i=1:n ? ?[tzz1(i),j]=min(d); ? ?tzxl1(:,i)=tzxl(:,j); ? ?d(j)=max(d)+1; end %振型归一化取第一层振型为1 for j=1:n ? ?tzxl1(:,j)=tzxl1(:,j)/tzxl1(1,j); end w0=tzz1; w=tzz1/(2*pi); zhx=tzxl1; 广义阻尼矩阵? ? 各阶模态阻尼比都取 %阻尼比 ks0=0.05; ks=ones(n,1)*ks0; 第n阶广义质量:? ? %求广义质量 Mn=zhx*m*zhx; 阻尼矩阵为: %求阻尼矩阵 C=zeros(n); for i=1:n ? ?C(i,i)=2*ks(i)*w0(i)*Mn(i,i); end c=(zhx)\C/zhx; 参数 eg即 %过滤白噪声参数 eg=0.6; wg=15.708; S0=0.001574; %按照书上的要求,取频率和时间的最大值和步长 %频率间隔 dw=0.3; %最大频率范围 maxw=45; %最大时间值 maxt=40; %时间间隔 dt=0.2; %各层各时间点频率点的功率谱密度,循环变量:层数,时间点,频率点 Pwt=zeros(n,maxt/dt,maxw/dw); %频率点数循环变量wn wn=1; %对频率进行循环,求解各频率点的时间历程 for w=0:dw:maxw x1=1+4*eg^2*(w/wg)^2; x2=(1-(w/wg)^2)^2+4*eg^2*(w/wg)^2; Sgw=x1*S0/x2; s=sqrt(Sgw); %采用精细积分法进行求解时间历程,得到位移和速度时程 [disp,velp]=JINGXI67(M,zk,c,dt,maxt,w,s,n); Ywt=disp; for kkk=1:maxt/dt %求确定频率下各时间点的功率谱 Yw=Ywt(:,kkk); ??每一时刻和频率点的位移向量,对其进行求共轭和装置得到协方差矩阵,对角上的元素即是每一时刻的各层的功率谱 y1=conj(Yw); y2=transpose(Yw); %确定时间点确定频率下的功率谱Yw,取对角线元素 Syyw=y1*y2; ? ?for kk=1:n ? ?Pwt(kk,kkk,wn)=Syyw(kk,kk); ? ?end end wn=wn+1; end %求解完成后实际上wn为maxw/dw+2,实际频率点个数为maxw/dw+1 %各层的时变方差,循环变量为:层数,时间点 Fangcha=zeros(n,maxt/dt); for tn=1:maxt/dt %求解各层的时变方差 for kk=1:n xx1=zeros(wn-1,1); %每一个时刻的方差对各频率点进行积分,频率点数取maxw/dw+1,即wn-1 ? ?for wn0=1:wn-1 ? ?xx1(wn0)=Pwt(kk,tn,wn0); ? ?end %采用复合梯形求积公式对功率谱进行积分得到方差 Fangcha(kk,tn)=(xx1(1)+xx1(wn-1)+2*sum(xx1(2:wn-1-1)))*dw; end end %画图 c1=(1:maxt/dt)*dt; d1=Fangcha(1,:)/S0; d2=Fangcha(2,:)/S0; d3=Fangcha(3,:)/S0; d4=Fangcha(4,:)/S0; figure(3) plot(c1,d1,k,c1,d2,r,c1,d3,m,c1,d4,r-) 精细积分的程序 function [disp,velp]=JINGXI67(m,k,c,dt,maxt,w,s,n) %虚数单位 II=sqrt(-1); %??中的 IIW=II*w; I=eye(n

文档评论(0)

tangtianbao1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档