齐次弦振动方程的matlab解法,ode45求解振动微分方程
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求解振动微分方程相关推荐
- 齐次方程 matlab,齐次弦振动方程的MATLAB解法.docx
齐次弦振动方程的MATLAB解法 齐次弦振动方程的MATLAB解法[摘要]弦振动问题是一个典型的波动方程的建立与求解问题.本文通过利用MATLAB特有的方程求解与画图功能,有效地构造和求解了齐次弦振动 ...
- 【matlab】ode45求解二阶微分方程,绘制曲线图 | 使用函数句柄的方法
朋友问题: 有微分方程如下: md2ydt2+dydtexp(t)−y2=5m \frac{d^2y}{dt^2} + \frac{dy}{dt} exp(t) - y^2 = 5mdt2d2y+d ...
- matlab ode45 二阶微分,matlab关于ode45解二阶微分方程的困惑
matlab关于ode45解二阶微分方程的困惑 matlab关于ode45解二阶微分方程的困惑 一个二阶微分方程: y''+y'+y=sin(t) 初始条件为y(0)=5,y'(0)=6. 过程: 先 ...
- 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. ...
- ode45 matlab 出错,Matlab中ode45求解出错
ode45解微分方程组,结果数量级居然为10e304,请各位帮忙看看啊. 问题为求解一个7自由度系统(两个移动5个转动)在初始位移激励下个自由度的的位移和加速度. 目标函数 function dq=E ...
- ode45 matlab 出错,Matlab中ode45求解微分方程组出错。
ode45解微分方程组,结果数量级居然为10e304,请各位帮忙看看啊. 问题为求解一个7自由度系统(两个移动5个转动)在初始位移激励下个自由度的的位移和加速度. 目标函数 function dq=E ...
- Matlab中ode45求解时报错:必须返回列向量。
Matlab中使用ode45报错如下: 错误使用 odearguments (第 93 行) FUNC 必须返回列向量. 这是因为dydt没有被指定为列向量,只需加入一行代码,如图所示. 代码附在下方 ...
- matlab ode45设置步长,MATLAB中用ode45求解微分方程,如何设置最大步长?
如果你用过simulink里的ode45配置,我觉得你就会发现高赞就是在扯淡,你给的时间序列只是采样点,根本不是设置步长用的.我最近偷懒不想用simulink就研究了下ode45的函数配置项,在mat ...
- matlab中dde23求解时滞微分方程
微分方程求解在工科生这里想必不那么陌生吧,在科研中,求解微分方程是家常便饭.对于微分方程求解,大家首先可能想到的是常用的ode45,ode45适用性很强,不过我这里讲的是dde23. 首先有这么一个时 ...
最新文章
- 我从吴恩达 AI For Everyone 中学到的十个重要 AI 观
- NOIP2013pj车站分级[拓扑排序]
- 服务器显示rl112,【RL-TCPnet网络教程】第13章 RL-TCPnet之TCP服务器(下)
- GDB调试程序系列 (3)
- 案例:Redis 问题汇总和相关解决方案
- 热门话题“30岁还没结婚你会考虑将就么?”数据告诉你,网友们都如何做出抉择...
- CSDN 联合 18 家大厂招聘直播,10 小时突破百万热度!
- [Java] 蓝桥杯ALGO-12 算法训练 幂方分解
- 模糊查询是如何进行实现的_模糊查找,不是近似查找!在Excel中应该如何进行模糊匹配...
- Java线程 生产者--消费者模式总结(一)
- [我研究]看最新会议相关论文感想
- SpringBoot整合MybatisPlus
- verilog奇偶分频详解
- SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)
- 企业数字化进程中,商业智能 BI 如何降本增效
- 2014年英语专升本英语阅读「Part II 阅读专区」【文章(图片)、答案、词汇记忆】
- Netbackup8.0以上版本,服务端生成证书,客户端获取、更新证书方式(整理中)
- c语言put语句的作用,C语言中put()与puts()的区别?
- 苹果app商品定价_iOS 开发_2017苹果内购价格表
- 2023全新UI商业版ChatGPT网页版源码V4.7.7+支持Ai绘画
热门文章
- 计算机网络在广播电视工程中的应用,关于计算机在广播电视工程中的应用要点...
- 因式分解结合最近邻:多层面的协同过滤模型
- Linux动态库环境变量设置
- 基于jsp的校园二手物品交易网站
- 云服务ftp服务器搭建_如何在阿里云服务器搭建FTP服务器,在本地电脑连接并操作...
- 好文:华杉:我等用功,不求日增,但求日减。减一分人欲,则增一分天理,这是何等简易!何等洒脱!...
- 云电视和智能电视是什么,之间有什么区别?
- (转)当AI变成宣传武器:继续深扒大数据公司Cambrige Analytica
- 使用GifCam工具上传GIF动态图至CSDN博客
- spring boot +brave-5.8.0+zipkin 实现分布式链路监控