1

在 Matlab 的命令窗口中,我得到了几个方程,如下所示:

Tc1 = (- 2*J2*cos(t3)*sin(t1)*sin(t3)*n^2 + 2*J2*w3*sin(t3)*n)/cos(t2) - d2 + cos(t2)*(J2*cos(t3)*sin(t1)*sin(t3)*n^2 + J2*v3*sin(t1)) + J1*w1*w3 + J2*w1*w3 - J3*w1*w3 + J2*v2*cos(t1) + J2*n^2*cos(t1)*tan(t2) - J2*w2^2*cos(t1)*tan(t2) + 2*J2*w3^2*cos(t1)*tan(t2) + J2*w2^2*cos(t1)^3*tan(t2) - J2*w3^2*cos(t1)^3*tan(t2) - 2*J2*n*w2*cos(t3)*tan(t2) + 2*J2*w2*w3*sin(t1)*tan(t2) - J2*n^2*cos(t1)*cos(t3)^2*tan(t2) + 2*J2*n*w2*cos(t1)^2*cos(t3)*tan(t2) - 2*J2*w2*w3*cos(t1)^2*sin(t1)*tan(t2) - 2*J2*n*w3*cos(t1)*cos(t3)*sin(t1)*tan(t2)         

在 Simulink 中,我对所有参数(Tc1、J1、J2、J3、t1、t2、t3 等)使用 From 和 Goto 模块。

现在我想知道最简单的方法是在 Simulink 中实现这些长公式进行模拟。通常我会使用 Simulink 中的各种模块重建方程,但这次我最终得到的方程要长得多。有任何想法吗?

4

1 回答 1

2
  1. 第一种方法是使用Fcn用户定义函数中的块,只需在一行中编写函数并使用输入,如u(1), u(2),....

Fcn模块将指定的数学表达式应用于其输入。该表达式可以包括以下一个或多个组件:

  • u— 块的输入。ifu是一个向量,u(i)表示向量的第i个元素;u(1)u单独代表第一个元素。
  • 数值常数。
  • 算术运算符 ( + - * / ^)。
  • 关系运算符 ( ) —如果关系为真,则== != > < >= <=表达式返回;1否则,它返回 0
  • 逻辑运算符 ( ) — 如果关系为真,则&& || !表达式返回;1否则,它返回0
  • 括弧。
  • 数学函数 — abs, acos, asin, atan, atan2, ceil, cos, cosh, exp, fabs, floor, hypot, ln, log, log10, pow, power, rem, sgn, sin, sinh, sqrt, tan, 和tanh.

检查这个链接


  1. 第二种方法是使用Matlab Function来自用户定义的函数并将您拥有的所有函数写入嵌入式m-file. 然后将所有输入和输出连接到它。

检查这个链接

于 2013-05-12T20:30:53.037 回答