最近在推机械臂正逆运动学公式,那个旋转矩阵乘起来是真滴多,手算算的脑浆疼。突然想起来MATLAB还有符号计算这个功能,于是翻了翻手册, 找到了这个利用MATLAB帮助计算公式并且直接导出Latex格式的办法。
- 先定义符号变量,例如
syms theta1
就定义了theta1为符号变量,可以用其作为符号去计算相应的公式。
- 定义了符号变量之后,按照定义数字矩阵、表达式等操作的正常方法去书写即可定义符号表达式,例如
y=cos(theta1)
定义了表达式,而R1=[cos(theta1),-sin(theta1),0;sin(theta1),cos(theta1),0;0,0,1]
则定义了矩阵(注意,表示每一行元素与元素之间的分隔;表示换行),如下图所示
- 矩阵相乘等方式直接书写即可
R1*R2
,矩阵求逆则用inv(R1)
- 但注意到此处逆矩阵的结果其实很奇怪,需要用
simplify()
函数化简表达式:
- 最后用
latex()
即可将结果转化为Latex语句
- 将其直接复制粘贴到支持latex语句输入的地方,即可直接显示公式结果(注意红圈位置是MATLAB输出语句中自带的'将其删掉即可正常显示latex公式):
- 当然也可以嵌套调用函数,实习直接一键出结果:
以上就是本文的全部内容了,如有疏忽错误欢迎各位指出,谢谢观看♪(・ω・)ノ下篇文章再见~