MATLAB符号公式推导和导出Latex格式的方法(符号函数转换为数值函数进行赋值计算的方法)

  最近在推机械臂正逆运动学公式,那个旋转矩阵乘起来是真滴多,手算算的脑浆疼。突然想起来MATLAB还有符号计算这个功能,于是翻了翻手册, 找到了这个利用MATLAB帮助计算公式并且直接导出Latex格式的办法。

  1. 先定义符号变量,例如syms theta1就定义了theta1为符号变量,可以用其作为符号去计算相应的公式。
    在这里插入图片描述
  2. 定义了符号变量之后,按照定义数字矩阵、表达式等操作的正常方法去书写即可定义符号表达式,例如y=cos(theta1)定义了表达式,而R1=[cos(theta1),-sin(theta1),0;sin(theta1),cos(theta1),0;0,0,1]则定义了矩阵(注意,表示每一行元素与元素之间的分隔;表示换行),如下图所示
    在这里插入图片描述
  3. 矩阵相乘等方式直接书写即可R1*R2,矩阵求逆则用inv(R1)
    在这里插入图片描述
  4. 但注意到此处逆矩阵的结果其实很奇怪,需要用simplify()函数化简表达式:
    在这里插入图片描述
  5. 最后用latex()即可将结果转化为Latex语句
    在这里插入图片描述
  6. 将其直接复制粘贴到支持latex语句输入的地方,即可直接显示公式结果(注意红圈位置是MATLAB输出语句中自带的‘将其删掉即可正常显示latex公式):
    在这里插入图片描述
    在这里插入图片描述
  7. 当然也可以嵌套调用函数,实习直接一键出结果:
    在这里插入图片描述
    在这里插入图片描述
  8. 如果需要对符号函数进行赋值计算的话,用matlab自带的matlabFunction()函数即可,具体调用方法和结果如下图所示:
    在这里插入图片描述
    其中T是创建的符号矩阵,g=matlabFunction(T)函数是把T符号矩阵转换为一个数值函数句柄(并且会自动识别自变量和因变量),从而通过g(param1,param2,param3,param4,prarm5,param6)的形式来进行调用,运行结果如下图所示:
    在这里插入图片描述

以上就是本文的全部内容了,如有疏忽错误欢迎各位指出,谢谢观看♪(・ω・)ノ下篇文章再见~

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值