声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1305|回复: 0

[编程技巧] 用符号推到的长公式,怎么赋予具体数值,用于计算?

[复制链接]
发表于 2014-3-11 21:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 zxx4477 于 2014-3-11 21:36 编辑

先写一个M文件,推一个拉格朗日方程,

有5个广义坐标q1-q5,同时定义其一阶导数为dq1-dq5, 还有二阶导数ddq1-ddq5。


然后得出系统动能T=1/2*[dq1 dq2 dq3 dq4 dq5]'*M*[dq1 dq2 dq3 dq4 dq5];


T是一个很长的式子 后面还有 U=f(q........dq.....)


这个M文件得到一系列用 syms 的 q1~q5 dq1~dq5 ddq1~ddq5  表示的 变量T、U、Q、等


接下来要在另外一个M文件中进行计算,用for i=0:h:T, [dq1 dq2 dq3 dq4 dq5]在每个i时刻有具体数值,


也就是要将上个M文件中的符号变量用到此M文件中做变量。




我的问题是:怎么把之前用符号变量写成的公式,转化成变量。求指导。
  1. <div class="blockcode"><blockquote>syms q1 q2 q3 q4 q5
  2. syms m1 m2
  3. q=[q1;q2;q3;q4;q5];
  4. M=[m1*eye(3,3),ones(3,2);zeros(2,3),m2*eye(2,2)];
  5. T=1/2*q.'*M*q;
  6. %得到T =(m1*q1^2)/2 + (m1*q2^2)/2 + (m1*q3^2)/2 + q4*(q1/2 + q2/2 + q3/2 + (m2*q4)/2) + ...+(m2*q5)/2)
复制代码




回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 14:00 , Processed in 0.052873 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表