mstraj(q,v,[],[],[],0.1,[],'times') 报错 Length of QDMAX does not match number of axes
时间: 2023-11-30 19:22:11 浏览: 36
这个错误通常是由于输入给函数的变量数量、长度或者类型不正确所造成的。具体来说,这个错误可能是由以下原因造成的:
1. 变量数量不正确:函数 `mstraj` 需要输入的变量数量可能不正确。请检查调用函数时变量的数量是否正确,特别是对于空变量的处理,如 `[ ]`。
2. QDMAX 数量不正确:根据错误信息,“Length of QDMAX does not match number of axes”,这个错误可能是由于 `QDMAX` 的长度不正确所造成的。请检查 `QDMAX` 的长度是否与轴的数量匹配。
3. 变量类型不正确:函数 `mstraj` 对输入变量的类型有一定的限制。请确保输入的变量类型正确,比如,如果 `v` 应该是一个向量,那么请确保它是一个向量,而不是一个矩阵。
希望这些提示能够帮助你找到问题所在,进而解决这个错误。
相关问题
mstraj(q,v,T,[],[],0.1,[],'times') matlab 报错 Must specify either qdmax or tsegment, but not both
这个错误是因为在调用 `mstraj` 函数时,既指定了参数 `T`,又指定了参数 `qdmax`。根据 `mstraj` 函数的文档,这两个参数是互斥的,只能指定其中一个。
`T` 参数用于指定轨迹的总时间,而 `qdmax` 参数用于指定关节速度的最大值。如果你已经指定了 `T`,那么 `mstraj` 函数会自动计算出关节速度的最大值,因此就不需要再指定 `qdmax` 了。
如果你想要手动指定关节速度的最大值,可以将 `T` 参数设为 `[]`,然后指定 `qdmax` 和 `tsegment` 参数。例如:
```
mstraj(q,v,[],[],[],0.1,[],'times')
```
这样就可以避免上述错误了。