function dy=order22(t,y);%用积分形式定义函数;

dy=zeros(16,1);

mc=854.97;mp=745.26;ms=332.69;m1=2135.1;m2=94.23;m3=580.72;m4=37.68;%质量赋值;

a=22.5*pi/180;ksp1=4.3313E9;ksp2=4.313e9;ksp3=4.3313E9;krp1=3.2989E9;krp2=3.2989E9;krp3=3.2989E9;ks1=5.045E7;K34=2.4276E9;K12=2.7783e9;kc=6E11;%刚度赋值

rbs=174.782e-3;rb1=503.2e-3;rb2=105.71e-3;rb3=348.625e-3;rbc=704.69e-3;rb4=88.801e-3;%基圆半径赋值;

cs1=2.476E3;csp=6.3211E3;crp=25.657E3;C12=1.6547E3;C34=0.3024E3;%阻尼赋值;

Tin=8.22E6+8.22E6*sin((38*pi)*t);Tout=Tin/94;%输入输出转矩;

F=[Tin/rbc,0,0,0,0,0,0,Tout/rb4];%F矩阵;

M_1=[mc+mp+mp+mp,mp,mp,mp,ms,m1,m2+m3*(rb3^2)/(rb2^2),m4];%质量矩阵

M=diag(M_1);

k11=[kc+(krp1+ksp1)*(cos(a)^2)+(krp2+ksp2)*(cos(a)^2)+(krp3+ksp3)*(cos(a)^2)];

k12=[(krp1-ksp1)*cos(a)];

k21=[(krp1-ksp1)*cos(a)];

k31=[(krp2-ksp2)*cos(a)];

k41=[(krp3-ksp3)*cos(a)];

k13=[(krp2-ksp2)*cos(a)];

k14=[(krp3-ksp3)*cos(a)];

k22=krp1+ksp1;

k33=krp2+ksp2;

k15=[-ksp1*cos(a)-ksp2*cos(a)-ksp3*cos(a)];

k51=k15;

k44=krp3+ksp3;

k55=[ksp1+ksp2+ksp3+ks1/(rbs)^2];

k56=[-ks1/(rbs*rb1)];

k65=k56;

k66=[K12+ks1/(rb1)^2];

k77=[K12+K34*(rb3)^2/(rb2)^2];

k78=[K34*rb3/rb2];

k87=k78;

k=[k11,k12,k13,k14,k15,0,0,0;

k21,k22,0,0,ksp1,0,0,0;

k31,0,k33,0,ksp2,0,0,0;

k41,0,0,k44,ksp3,0,0,0;

k51,ksp1,ksp2,ksp3,k55,k56,0,0;

0,0,0,0,k65,k66,K12,0;

0,0,0,0,0,K12,k77,k78;

0,0,0,0,0,0,k87,K34];%刚度矩阵;

c11=3*(crp+csp)*(cos(a)^2);

c12=[(crp-csp)*cos(a)];

c13=[(crp-csp)*cos(a)];

c14=[(crp-csp)*cos(a)];

c15=-3*csp*cos(a);

c21=[(crp-csp)*cos(a)];

c22=crp+csp;

c25=csp;

c31=[(crp-csp)*cos(a)];

c33=crp+csp;

c35=csp;

c41=c14;

c44=c33;

c45=c35;

c51=c15;

c52=c35;

c53=c35;

c54=c35;

c55=3*csp+cs1/(rbs)^2;

c56=-cs1/(rbs*rb1);

c65=c56;

c66=C12+cs1/(rb1)^2;

c67=C12;

c76=c67;

c77=C12+C34*(rb3)^2/(rb2)^2;

c78=C34*rb3/rb2;

c87=c78;

c88=C34;

c=[c11,c12,c13,c14,c15,0,0,0;

c21,c22,0,0,c25,0,0,0;

c31,0,c33,0,c35,0,0,0;

c41,0,0,c44,c45,0,0,0;

c51,c52,c53,c54,c55,c56,0,0;

0,0,0,0,c65,c66,c67,0;

0,0,0,0,0,c76,c77,c78;

0,0,0,0,0,0,c87,c88];%阻尼矩阵

M1=inv(M);

[cx, cy] = size(c);

[M1x, M1y] = size(M1);

for i=1:cx

for j=1:M1y

w11(i,j) =-M1(i,j)*c(i,j);

end                        %  -(M的逆矩阵)*C矩阵;

end

[kx, ky] = size(k);

[M1x, M1y] = size(M1);

for i=1:kx

for j=1:M1y

w12(i,j) =-M1(i,j)*k(i,j);

end

end                       %  -(M的逆矩阵)*K矩阵;

q1=eye(8);

q2=zeros(8,8);

q3=zeros(8,1);

V1=zeros(8,1);

V1(1)=M(1,1)*F(1)+M(1,2)*F(2)+M(1,3)*F(3)+M(1,4)*F(4)+M(1,5)*F(5)+M(1,6)*F(6)+M(1,7)*F(7)+M(1,8)*F(8);

V1(2)=M(2,1)*F(1)+M(2,2)*F(2)+M(2,3)*F(3)+M(2,4)*F(4)+M(2,5)*F(5)+M(2,6)*F(6)+M(2,7)*F(7)+M(2,8)*F(8);

V1(3)=M(3,1)*F(1)+M(3,2)*F(2)+M(3,3)*F(3)+M(3,4)*F(4)+M(3,5)*F(5)+M(3,6)*F(6)+M(3,7)*F(7)+M(3,8)*F(8);

V1(4)=M(4,1)*F(1)+M(4,2)*F(2)+M(4,3)*F(3)+M(4,4)*F(4)+M(4,5)*F(5)+M(4,6)*F(6)+M(4,7)*F(7)+M(4,8)*F(8);

V1(5)=M(5,1)*F(1)+M(5,2)*F(2)+M(5,3)*F(3)+M(5,4)*F(4)+M(5,5)*F(5)+M(5,6)*F(6)+M(5,7)*F(7)+M(5,8)*F(8);

V1(6)=M(6,1)*F(1)+M(6,2)*F(2)+M(6,3)*F(3)+M(6,4)*F(4)+M(6,5)*F(5)+M(6,6)*F(6)+M(6,7)*F(7)+M(6,8)*F(8);

V1(7)=M(7,1)*F(1)+M(7,2)*F(2)+M(7,3)*F(3)+M(7,4)*F(4)+M(7,5)*F(5)+M(7,6)*F(6)+M(7,7)*F(7)+M(7,8)*F(8);

V1(8)=M(8,1)*F(1)+M(8,2)*F(2)+M(8,3)*F(3)+M(8,4)*F(4)+M(8,5)*F(5)+M(8,6)*F(6)+M(8,7)*F(7)+M(8,8)*F(8);   %  M矩阵  *  K矩阵(不太会使用循环,说以逐一写的语句)

W1=[w11,w12];

W2=[q1,q2];

W=[W1;W2];

V=[V1;q3];%矩阵合并

dy(1)=W(1,1)*y(1)+W(1,2)*y(2)+W(1,3)*y(3)+W(1,4)*y(4)+W(1,5)*y(5)+W(1,6)*y(6)+W(1,7)*y(7)+W(1,8)*y(8)+V(1);

dy(2)=W(2,1)*y(1)+W(2,2)*y(2)+W(2,3)*y(3)+W(2,4)*y(4)+W(2,5)*y(5)+W(2,6)*y(6)+W(2,7)*y(7)+W(2,8)*y(8)+V(2);

dy(3)=W(3,1)*y(1)+W(3,2)*y(2)+W(3,3)*y(3)+W(3,4)*y(4)+W(3,5)*y(5)+W(3,6)*y(6)+W(3,7)*y(7)+W(3,8)*y(8)+V(3);

dy(4)=W(4,1)*y(1)+W(4,2)*y(2)+W(4,3)*y(3)+W(4,4)*y(4)+W(4,5)*y(5)+W(4,6)*y(6)+W(4,7)*y(7)+W(4,8)*y(8)+V(4);

dy(5)=W(5,1)*y(1)+W(5,2)*y(2)+W(5,3)*y(3)+W(5,4)*y(4)+W(5,5)*y(5)+W(5,6)*y(6)+W(5,7)*y(7)+W(5,8)*y(8)+V(5);

dy(6)=W(6,1)*y(1)+W(6,2)*y(2)+W(6,3)*y(3)+W(6,4)*y(4)+W(6,5)*y(5)+W(6,6)*y(6)+W(6,7)*y(7)+W(6,8)*y(8)+V(6);

dy(7)=W(7,1)*y(1)+W(7,2)*y(2)+W(7,3)*y(3)+W(7,4)*y(4)+W(7,5)*y(5)+W(7,6)*y(6)+W(7,7)*y(7)+W(7,8)*y(8)+V(7);

dy(8)=W(8,1)*y(1)+W(8,2)*y(2)+W(8,3)*y(3)+W(8,4)*y(4)+W(8,5)*y(5)+W(8,6)*y(6)+W(8,7)*y(7)+W(8,8)*y(8)+V(8);

dy(9)=W(9,1)*y(1)+W(9,2)*y(2)+W(9,3)*y(3)+W(9,4)*y(4)+W(9,5)*y(5)+W(9,6)*y(6)+W(9,7)*y(7)+W(9,8)*y(8)+V(9);

dy(10)=W(10,1)*y(1)+W(10,2)*y(2)+W(10,3)*y(3)+W(10,4)*y(4)+W(10,5)*y(5)+W(10,6)*y(6)+W(10,7)*y(7)+W(10,8)*y(8)+V(10);

dy(11)=W(11,1)*y(1)+W(11,2)*y(2)+W(11,3)*y(3)+W(11,4)*y(4)+W(11,5)*y(5)+W(11,6)*y(6)+W(11,7)*y(7)+W(11,8)*y(8)+V(11 );

dy(12)=W(12,1)*y(1)+W(12,2)*y(2)+W(12,3)*y(3)+W(12,4)*y(4)+W(12,5)*y(5)+W(12,6)*y(6)+W(12,7)*y(7)+W(12,8)*y(8)+V(12);

dy(13)=W(13,1)*y(1)+W(13,2)*y(2)+W(13,3)*y(3)+W(13,4)*y(4)+W(13,5)*y(5)+W(13,6)*y(6)+W(13,7)*y(7)+W(13,8)*y(8)+V(13);

dy(14)=W(14,1)*y(1)+W(14,2)*y(2)+W(14,3)*y(3)+W(14,4)*y(4)+W(14,5)*y(5)+W(14,6)*y(6)+W(14,7)*y(7)+W(14,8)*y(8)+V(14);

dy(15)=W(15,1)*y(1)+W(15,2)*y(2)+W(15,3)*y(3)+W(15,4)*y(4)+W(15,5)*y(5)+W(15,6)*y(6)+W(15,7)*y(7)+W(15,8)*y(8)+V(15);

dy(16)=W(16,1)*y(1)+W(16,2)*y(2)+W(16,3)*y(3)+W(16,4)*y(4)+W(16,5)*y(5)+W(16,6)*y(6)+W(16,7)*y(7)+W(16,8)*y(8)+V(16);% dy=W*y+V;

end

y0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];tspan=[0 10];[t,y]=ode45(@order22,tspan,y0);

我的程序和你的类似,有的地方比较繁琐,跪求指点啊,困扰很久了

齐次弦振动方程的matlab解法,ode45求解振动微分方程相关推荐

  1. 齐次方程 matlab,齐次弦振动方程的MATLAB解法.docx

    齐次弦振动方程的MATLAB解法 齐次弦振动方程的MATLAB解法[摘要]弦振动问题是一个典型的波动方程的建立与求解问题.本文通过利用MATLAB特有的方程求解与画图功能,有效地构造和求解了齐次弦振动 ...

  2. 【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法

    朋友问题: 有微分方程如下: md2ydt2+dydtexp(t)−y2=5m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y​+d ...

  3. matlab ode45 二阶微分,matlab关于ode45解二阶微分方程的困惑

    matlab关于ode45解二阶微分方程的困惑 matlab关于ode45解二阶微分方程的困惑 一个二阶微分方程: y''+y'+y=sin(t) 初始条件为y(0)=5,y'(0)=6. 过程: 先 ...

  4. Matlab中用ode45求解速率方程,一直显示输入参量太多,什么原因呢?

    脉冲泵浦时的m文件为: function dy = rate_eq(t,y,T0,N_T,d) P_in=80; R=0.8; sigma = 8e-25; %铒离子受激发射截面 sigma_y=1. ...

  5. ode45 matlab 出错,Matlab中ode45求解出错

    ode45解微分方程组,结果数量级居然为10e304,请各位帮忙看看啊. 问题为求解一个7自由度系统(两个移动5个转动)在初始位移激励下个自由度的的位移和加速度. 目标函数 function dq=E ...

  6. ode45 matlab 出错,Matlab中ode45求解微分方程组出错。

    ode45解微分方程组,结果数量级居然为10e304,请各位帮忙看看啊. 问题为求解一个7自由度系统(两个移动5个转动)在初始位移激励下个自由度的的位移和加速度. 目标函数 function dq=E ...

  7. Matlab中ode45求解时报错:必须返回列向量。

    Matlab中使用ode45报错如下: 错误使用 odearguments (第 93 行) FUNC 必须返回列向量. 这是因为dydt没有被指定为列向量,只需加入一行代码,如图所示. 代码附在下方 ...

  8. matlab ode45设置步长,MATLAB中用ode45求解微分方程,如何设置最大步长?

    如果你用过simulink里的ode45配置,我觉得你就会发现高赞就是在扯淡,你给的时间序列只是采样点,根本不是设置步长用的.我最近偷懒不想用simulink就研究了下ode45的函数配置项,在mat ...

  9. matlab中dde23求解时滞微分方程

    微分方程求解在工科生这里想必不那么陌生吧,在科研中,求解微分方程是家常便饭.对于微分方程求解,大家首先可能想到的是常用的ode45,ode45适用性很强,不过我这里讲的是dde23. 首先有这么一个时 ...

最新文章

  1. 我从吴恩达 AI For Everyone 中学到的十个重要 AI 观
  2. NOIP2013pj车站分级[拓扑排序]
  3. 服务器显示rl112,【RL-TCPnet网络教程】第13章 RL-TCPnet之TCP服务器(下)
  4. GDB调试程序系列 (3)
  5. 案例:Redis 问题汇总和相关解决方案
  6. 热门话题“30岁还没结婚你会考虑将就么?”数据告诉你,网友们都如何做出抉择...
  7. CSDN 联合 18 家大厂招聘直播,10 小时突破百万热度!
  8. [Java] 蓝桥杯ALGO-12 算法训练 幂方分解
  9. 模糊查询是如何进行实现的_模糊查找,不是近似查找!在Excel中应该如何进行模糊匹配...
  10. Java线程 生产者--消费者模式总结(一)
  11. [我研究]看最新会议相关论文感想
  12. SpringBoot整合MybatisPlus
  13. verilog奇偶分频详解
  14. SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)
  15. 企业数字化进程中,商业智能 BI 如何降本增效
  16. 2014年英语专升本英语阅读「Part II 阅读专区」【文章(图片)、答案、词汇记忆】
  17. Netbackup8.0以上版本,服务端生成证书,客户端获取、更新证书方式(整理中)
  18. c语言put语句的作用,C语言中put()与puts()的区别?
  19. 苹果app商品定价_iOS 开发_2017苹果内购价格表
  20. 2023全新UI商业版ChatGPT网页版源码V4.7.7+支持Ai绘画

热门文章

  1. 计算机网络在广播电视工程中的应用,关于计算机在广播电视工程中的应用要点...
  2. 因式分解结合最近邻:多层面的协同过滤模型
  3. Linux动态库环境变量设置
  4. 基于jsp的校园二手物品交易网站
  5. 云服务ftp服务器搭建_如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作...
  6. 好文:华杉:我等用功,不求日增,但求日减。减一分人欲,则增一分天理,这是何等简易!何等洒脱!...
  7. 云电视和智能电视是什么,之间有什么区别?
  8. (转)当AI变成宣传武器:继续深扒大数据公司Cambrige Analytica
  9. 使用GifCam工具上传GIF动态图至CSDN博客
  10. spring boot +brave-5.8.0+zipkin 实现分布式链路监控