ode45解微分方程组,结果数量级居然为10e304,请各位帮忙看看啊。

问题为求解一个7自由度系统(两个移动5个转动)在初始位移激励下个自由度的的位移和加速度。

目标函数

function dq=Est(t,q)

global  H I1 I4 I5 tha10 tha20 tha30 tha40 tha50 q0 dq0 m1 m2 m3 m4 m5 I2 I3 r1 r2 r3 rc4 k1f c1f k1v c1v k4f c4f k4v c4v kt1 ct1 kt2 ct2 kt3 ct3 kt4 ct4 g;

%global value,accounting for different mass ,height and sitting postures

stha10=sind(tha10);stha20=sind(tha20);stha30=sind(tha30);stha40=sind(tha40);stha50=sind(tha50);

ctha10=cosd(tha10);ctha20=cosd(tha20);ctha30=cosd(tha30);ctha40=cosd(tha40);ctha50=cosd(tha50);

ctha1020=cosd(tha10-tha20);ctha1030=cosd(tha10-tha30);ctha2030=cosd(tha20-tha30);ctha4050=cosd(tha40-tha50);

l1=0.06*H;l2=0.06*H;l4=0.2*H;l5=0.21*H;r4=0.4278*l4;r5=0.4284*l5;

%q=[q1,q2,q3,q4,q5,q6,q7,q1dot,q2dot,q3dot,q4dot,q5dot,q6dot,q7dot];

dq=zeros(14,1);

dq(1)=q(8);

dq(2)=q(9);

dq(3)=q(10);

dq(4)=q(11);

dq(5)=q(12);

dq(6)=q(13);

dq(7)=q(14);

dq(8)=((m1*r1*stha10+m2*l1*stha10+m3*l1*stha10)*dq(10)+(m2*r2*stha20+m3*l2*stha20)*dq(11)+m3*r3*stha30*dq(12)...

-(m4*r4*stha40+m5*l4*stha40)*dq(13)-m5*r5*stha50*dq(14)+(c1f+c4f)*q(8)+(k1f+k4f)*q(1)-k4f*rc4*stha40*q(6)-c4f*rc4*stha40*q(13))/(m1+m2+m3+m4+m5);

dq(9)=g+((-m1*r1*ctha10-m2*l1*ctha10-m3*l1*ctha10)*dq(10)-(m2*r2*ctha20+m3*l2*ctha20)*dq(11)-m3*r3*ctha30*dq(12)...

+(m4*r4*ctha40+m5*l4*ctha40)*dq(13)+m5*r5*ctha50*dq(14)+(c1v+c4v)*q(9)+(k1v+k4v)*q(2)+k4v*rc4*ctha40*q(6)+c4v*rc4*ctha40*q(13)...

-k1v*q0(1)-c1v*dq0(1)-k4v*q0(2)-c4v*dq0(2))/(m1+m2+m3+m4+m5);

dq(10)=((m1*r1*stha10+m2*l1*stha10+m3*l1*stha10)*dq(8)-(m1*r1*ctha10+m2*l1*ctha10+m3*l1*ctha10)*dq(9)+(m2*r2*l1*ctha1020+m3*l1*l2*ctha1020)*dq(11)+m3*r3*l1*ctha1030*dq(12)...

+kt1*(q(3)+q(6))+ct1*(q(10)+q(13))-(m2+m3)*g*l1*ctha10-m1*g*r1*ctha10)/(I1+m1*r1^2+m2*l1^2+m3*l1^2);

dq(11)=((m2*r2*stha20+m3*l2*stha20)*dq(8)-(m2*r2*ctha20+m3*l2*ctha20)*dq(9)+(m2*r2*l1*ctha1020...

+m3*l1*l2*ctha1020)*dq(10)+m3*r3*l2*ctha2030*dq(12)+kt2*q(4)+ct2*q(11)-m3*g*l2*ctha20-m2*g*r2*ctha20)/(I2+m2*r2^2+m3*l2^2);

dq(12)=(m3*r3*stha30*dq(8)-m3*r3*ctha30*dq(9)+m3*r3*l1*ctha1030*dq(10)+m3*r3*l2*ctha2030*dq(11)+kt3*q(5)+ct3*q(12))/(I3+m3*r3^2);

dq(13)=((m4*r4*stha40+m5*l4*stha40)*dq(8)-(m4*r4*ctha40+m5*l4*ctha40)*dq(9)+m5*r5*l4*ctha4050-k4f*rc4*stha40*q(1)+k4v*rc4*ctha40*q(2)+kt1*(q(3)+q(6))...

+(-k4f*rc4^2*stha40^2+k4v*rc4^2*ctha40^2)*q(6)-c4f*rc4*stha40*q(8)+c4v*rc4*ctha40*q(9)...

+(c4f*rc4^2*stha40^2+c4v*rc4^2*ctha40^2+ct1)*q(13)+ct1*q(10)-k4v*rc4*ctha40*q0(2)-c4v*rc4*ctha40*dq0(2)+m5*g*l4*ctha40+m4*g*r4*ctha40)/(I4+m4*r4^2+m5*l4^2);

dq(14)=(m5*r5*stha50*dq(8)+m5*r5*ctha50*dq(9)+m5*r5*l4*ctha4050*dq(13)+kt4*q(7)+ct4*q(14)+m5*g*r5*ctha50)/(I5+m5*r5^2);

end

主函数:

global  H I1 I4 I5 tha10 tha20 tha30 tha40 tha50 q0 dq0 m1 m2 m3 m4 m5 I2 I3 r1 r2 r3 rc4 k1f c1f k1v c1v k4f c4f k4v c4v kt1 ct1 kt2 ct2 kt3 ct3 kt4 ct4;

H=1.74;I1=0.0263;I4=0.348*1.5;I5=0.4;tha10=10;tha20=90;tha30=90;tha40=10;tha50=280;

m1=5.52;m2=15;m3=23.5;m4=15;m5=10.9;

k1v=8625;c1v=1383;k1f=1405;c1f=903;k4v=15140;c4v=2420;k4f=1214;c4f=114;

kt1=100;ct1=20;kt2=128;ct2=165;kt3=328;ct3=1524;kt4=92;ct4=50;

r1=0.073;r2=0.167;r3=0.21;rc4=0.31;I2=0.287;I3=0.4;

q0=[0.0003 0.0001];

dq0=[0 0];

ic=[q0,0,0,0,0,0,dq0,0,0,0,0,0];

[T,Q]=ode45(@Est,[0 1],ic)

说明一下,这里的q0是位移激励,有两个作用点。另外有一个问题就是,初始条件是专指自由度的位移和加速度,还是也要包括激励?还是说激励直接定义成时间序列,比如一个random。

得到的结果不是0就是NaN

[本帖最后由 mooni 于 2009-4-1 16:48 编辑]

ode45 matlab 出错,Matlab中ode45求解微分方程组出错。相关推荐

  1. matlab解二阶微分方程组,[微分方程组]急急急!用MATLAB按二阶龙格库塔法求解微分方程组,急用于毕业设计!...

    急急急!用MATLAB按二阶龙格库塔法求解微分方程组,急用于毕业设计! 问题补充:今天才发现自己之前做的一点都不对,17号就交论文了,我傻了,急死了!求各位大侠帮帮忙.谢谢!要求解的微分方程如图所示. ...

  2. Matlab求解微分方程组

    我们采用ode方法: (1)求解普通微分方程组:使用ode45方法 1. 创建一个函数文件eq2.m,在函数文件中描述这个解的微分方程组: %eq2.m文件 %描述微分方程组function dy=e ...

  3. 龙格库塔法解微分方程组的matlab程序,MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc...

    MATLAB实例源码教程:龙格库塔法求解微分方程组源代码实例.doc MATLAB实例源码教程龙格库塔法求解微分方程组源代码实例题目用经典 Runge-Kutta方法求下列一阶微分方程组的近似解y1 ...

  4. 数学建模学习(29):matlab求解微分方程组详细讲解,代码+案例讲解,学不会找我!

    文章目录 前言 求解微分方程组 求解矩阵微分方程组 总结 前言 上一篇我已经详细讲过求微分方程,这一篇是对上一篇的补充,也就是变得稍微复杂一点,就是要求方程组了,如果你学会了上一篇,那么求解方程组其实 ...

  5. adams求微分方程c语言,ADAMS在求解微分方程组中的应用

    ADAMS 在求解微分方程组中的应用在求解微分方程组中的应用 众所周知 ADAMS 具有强大的结算功能,在求解动力学问题方面可谓得心应手.在此 我想介绍一下它在求解非线性微分方程组方面的应用. 在工程 ...

  6. matlab:使用四阶龙格库塔方法求解微分方程组

    %书籍:常用数值算法及其matlab实现 %第10章 常微分方程初值问题的数值解法,例10.14使用 %四阶龙格库塔方法 function [t,z] = rk4symeq(fun, t0, tf, ...

  7. 龙格库塔法matlab求解微分方程组,微分方程组的龙格库塔公式求解matlab版.pdf

    微分方程组的龙格库塔公式求解matlab版 微分方程组的龙格-库塔公式求解matlab版 南京大学 王寻 1. 一阶常微分方程组 考虑方程组     y'f x,y,z , y x y ...

  8. matlab:使用龙格库塔法求解微分方程组

    %书籍:常用数值算法及其matlab实现 %第10章 常微分方程初值问题的数值解法,例10.14使用 %四阶龙格库塔方法 function [t,z] = rk4symeq(fun, t0, tf, ...

  9. MATLAB怎么解方程解,怎么用MATLAB求解微分方程组并画出解函数图?

    !using["XSLSF"];                //使用命名空间XSLSF //数组xArray存放x的值:ti为当前有效值的个数:tmax为ti对应的时间:tmi ...

最新文章

  1. 谷粒商城学习笔记——第一期:项目简介
  2. java数据类型_java 数据类型
  3. Python实现固定效应回归模型实现因果关系推断
  4. 搜索重复代码_通过MappedByteBuffer搜索大文件
  5. import 别名_Python基础找茬系列09--import和from-import的引用区别
  6. Tomcat(四):发布和优化
  7. 4.Windows Server2012 R2里面部署 MVC 的网站
  8. 【静态站点(三)】之 Gridsome + Strapi + Vercel + Pm2 部署案例
  9. Spring Cloud Bus之RabbitMQ初窥
  10. Performance of Every Day Things by Jeffrey Richter PPT and Code
  11. JAVA的四则运算规则_java四则运算规则
  12. 深度学习---循环神经网络RNN详解(LSTM)
  13. mysql常用增删改查sql语句
  14. 制作个简单的个人logo
  15. 能量英语(三) 之 “情感把控 II ”
  16. python中的函数
  17. 时间管理专题_软件篇02
  18. 宝贝流量高转化率低怎么办,如何提高宝贝转化率
  19. cae计算机仿真分析技术,cae分析.doc
  20. 收藏!最全的可视化学入门算法教程(Python实现)

热门文章

  1. Oracle同英超联赛数据统计和展示的结合
  2. ssis trainning
  3. 一文读懂什么是云服务器,和本地服务器的区别,云服务的用途,华为云服务器的获取
  4. 阿里P6和P7待遇差别有多大网友干的活差不多,工资差很多
  5. 手机做证件照的方法是什么
  6. java分词主谓宾_英语五种结构的句子(主谓 主谓宾 主谓宾宾补 主系表 主谓双宾)谁给我讲一下…...
  7. oracle12c配置安装,oracle12c安装配置
  8. Android平台epub阅读器推荐
  9. 张家港python培训_张的解释|张的意思|汉典“张”字的基本解释
  10. segmentation fault(core dump);Run-Time Check Failure #3 -The variable 'p' is being used without bein