传递矩阵-matlab程序

%main_critical.m
%该程序使用Riccati传递距阵法计算转子系统的临界转速及振型
%本函数中均采用国际单位制
%      第一步:设置初始条件(调用函数shaft_parameters)
%初始值设置包括:轴段数N,搜索次数M
%输入轴段参数:内径d,外径D,轴段长度l,支撑刚度K,单元质量mm,极转动惯量Jpp[N,M,d,D,l,K,mm,Jpp]=shaft_parameters;
%      第二步:计算单元的5个特征值(调用函数shaft_pra_cal)
%单元的5个特征值:
%m_k::质量
%Jp_k:极转动惯量
%Jd_k:直径转动惯量
%EI:弹性模量与截面对中性轴的惯性矩的乘积
%rr:剪切影响系数
[m_k,Jp_k,EI,rr]=shaft_pra_cal(N,D,d,l,Jpp,mm);
%      第三步:计算剩余量(调用函数surplus_calculate),并绘制剩余量图
%剩余量:D1
for i=1:1:M
  ptx(i)=0;
  pty(i)=0;
空气弹簧
end
for ii=1:1:M
  wi=ii/1*2+50;
  [D1,SS,Sn]=surplus_calculate(N,wi,K,m_k,Jp_k,JD_k,l,EI,rr);
  D1;
pty(ii)=D1;
ptx(ii)=w1
end
ylabel(‘剩余量’);
plot(ptx,pty)
xlabel(‘角速度red/s’);
grid on
%      第四步:用二分法求固有频率及振型图
%固有频率:Critical_speed
wi=50;
for  i=1:1:4
order=i
  [D1,SS,Sn]=surplus_calculate(N,wi,k,m_k,Jp_k,Jd_k,l,EI,rr);
  Step=1;
D2=D1;
kkk=1;
事件驱动理论while kkk<5000
  if  D2*D1>0
      wi=wi+step;
      D2=D1;
      [D1,SS,Sn]=surplus_calculate(N,wi,K,m_k,Jp_k,Jd_k,l,EI,rr);
  end
  if  D1*D2<0
民国时期学生装    wi=wi-step;
    step=step/2;
    wi=wi+step;
    [D1,SS,Sn] =surplus_calculate(N,wi,K,m_k,Jp_k,Jd_k,l,EI,rr);
  End
D1;
赵安近况Wi;
If  atep<1/2000
    Kkk=5000;
end
  end
Critical_speed=wi/2/pi*60
    figure;
plot_mode(N,l,SS,Sn)
wi=wi+2;
end
%surplus_calculate,.m
%计算剩余量
%(1)计算传递矩阵
%(2)计算剩余量
function [D1,SS,Sn]= surplus_calculate(N,wi,K,m_k,Jp_k,Jd_k,l,EI,rr);
%                (1)计算传递矩阵
%===============
%(a)初值设为0
%===============
for i=1:1:N+1
  for j=1:1:2
    for k=1:1:2
          ud11(j,k.i)=0;
          ud12(j,k.i)=0;
          ud21(j,k.i)=0;
          ud22(j,k.i)=0;
      end
  end
end
for i=1:1:N
for j=1:1:2
    for k=1:1:2
          us11(j,k.i)=0;
          us12(j,k.i)=0;
          us21(j,k.i)=0;
          us22(j,k.i)=0;
      end
  end
end
for i=1:1:N
for j=1:1:2
      for k=1:1:2
          u11(j,k.i)=0;
          u12(j,k.i)=0;
          u21(j,k.i)=0;
          u22(j,k.i)=0;
      end
  end
end
%============
%(b)计算质点上传递矩阵―――点矩阵的一部分!
%============
for i=1:1:N+1
  ud11(1,1,i)=1; ud11(1,2,i)=0; ud11 (2,1,i)=0; ud11(2,2,i)=1;
  ud21(1,1,i)=0; ud21(1,2,i)=0; ud21 (2,1,i)=0; ud21(2,2,i)=0;
  ud22(1,1,i)=1; ud22(1,2,i)=0; ud22 (2,1,i)=0; ud22(2,2,i)=1;
end
%============
%(c)计算质点上传递矩阵―――点矩阵的一部分!
%============
for i=1:1:N+1
ud12(1,1,i)=0;
ud12(1,2,i)=(Jp_k(i)-Jd_k(i))*wi^2; %%%考虑陀螺力矩
ud12(2,1,i)=m_k(i)*wi^2-k(i);
2012北京高考作文ud12(2,2,i)=0;
end
%============
%(d)以下计算的是无质量梁上的传递矩阵―――场矩阵
%计算的锥轴的us是不对的,是随便令的,在后面计算剩余量时,zhui中会把错误的覆盖掉
%============
for i=1:1:N
  us11(1,1,i)=1; us11(1,2,i)=1(i); us11 (2,1,i)=0; us11(2,2,i)=1;
  us12(1,1,i)=0; us12(1,2,i)=0; us12 (2,1,i)=0; us12(2,2,i)=0;
  us21(1,1,i)=1(i)^2/(2*EI(i)); us21(1,2,i)=(1(i)^3*(1-rr(i))/(6*EI(i)); us21(2,1,i)=1(i)/EI(i);
            us21(2,2,i)=1(i)^2/(2*EI(I));
  us22(1,1,i)=1; us22(1,2,i)=1(i); us22 (2,1,i)=0; us22(2,2,i)=1;
end
%============
%此处全为计算中间量
%============
for i=1:1:N+2
  Su (1,1,i)=0; Su (1,2,i)=0; Su (2,1,i)=0; Su (2,2,i)=0;
  Sn(1,1,i)=0; Sn (1,2,i)=0; Sn (2,1,i)=0; Sn(2,2,i)=0;
  SS (1,1,i)=0; SS (1,2,i)=0; SS (2,1,i)=0; SS (2,2,i)=0;
end
for i=1:1:2
  for j=1:1:2
        SS1(i,j)=0;
        Ud11(i,j)=0; Ud12(i,j)=0; Ud21(i,j)=0; Ud22(i,j)=0;
        Us11(i,j)=0; Us12(i,j)=0; Us21(i,j)=0; Us22(i,j)=0;
      end
end
%============
%(e)调用函数cone_modify修改锥轴的传递矩阵
%============
cone_modify(4,wi);
cone_modify(5,wi);
cone_modify(6,wi);
cone_modify(7,wi);
cone_modify(8,wi);
cone_modify(16,wi);
cone_modify(17,wi);
cone_modify(18,wi);
cone_modify(19,wi);
cone_modify(22,wi);
cone_modify(24,wi);
%============济宁pm2.5
%(f)形成最终传递矩阵
%============
%Ud11 Ud12 Ud21 Ud22 为最终参与计算的传递矩阵
for i=1:1:N
  u11(:,:,i)=us11(:,:,i)*ud11(:,:,i)+us12(:,:,i)*ud21(:,:,i);
  u12(:,:,i)=us11(:,:,i)*ud12(:,:,i)+us12(:,:,i)*ud22(:,:,i);
  u21(:,:,i)=us21(:,:,i)*ud11(:,:,i)+us22(:,:,i)*ud21(:,:,i);
  u22(:,:,i)=us21(:,:,i)*ud12(:,:,i)+us22(:,:,i)*ud22(:,:,i);
end
u11(:,:,N+1)=ud11(:,:,N+1); u12(:,:,N+1)=ud12(:,:,N+1);
u21(:,:,N+1)=ud21(:,:,N+1); u22(:,:,N+1)=ud22(:,:,N+1);
for i=1:1:2
  for j=1:1:2
      SS1(i,j)=0;
  end
end
for i=1:1:N+1
ud11= u11(:,:,i); ud12= u12(:,:,i); ud21= u21(:,:,i); ud22= u22(:,:,i);
SS(:,:,:i+1)=( ud11* SS1+ ud12)*inv(ud21* SS1+ ud22);
Su(:,:,i)= ud21* SS1+ ud22;
Sn(:,:,i)= inv(ud21* SS1+ ud22);      %计算振型时用到
SS1=SS(:,:,i+1);
end
%======(2)计算剩余量======

本文发布于:2024-09-21 16:25:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/359573.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算   传递   矩阵   轴段   内径   惯性矩   中性
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议