【发布时间】:2018-05-08 17:03:31
【问题描述】:
我对 MATLAB 非常陌生(就像今天刚刚学习的那样),我正在尝试创建基本的位置、速度和加速度图。
到目前为止我有这个:
theta = (0:1:pi);
beta = asin((h+ b*cos(theta))/d);
x = b*cos(theta) + d*cos(beta);
plot(radtodeg(theta), x*1000);
b、d 和 h 是常数,我试图绘制位置 (x)、速度 (x_dot) 和加速度 (x_dd) 与角度 theta 的关系。第一部分工作正常,并为 x 吐出一个情节。
有没有一种方法可以得到速度和加速度图,而我不必手动找到函数的导数并绘制它?我不确定 MATLAB 的功能是什么。我不需要实际的导数,只需要情节,所以如果我可以避免手动进行推导,我想这样做。我查看了diff,但它看起来好像需要syms,我也想尽量避免。
感谢任何帮助。谢谢。
【问题讨论】:
-
diff有多个版本。基本 MATLAB 的diff不需要符号数学。 -
我在 x 上使用了
diff:xdot = diff(x),但在绘图时我收到错误消息“向量必须是相同的长度。”