如何在 Octave 上绘制函数微分图?
How do I plot the graph for differentiation of a function on Octave?
我从一开始就想学习三角学。
所以我可以通过将这些作为命令来绘制曲线。
x1 = linspace(-2*pi, 2*pi)
y1 = cos(x1)
plot(x1, y1)
但是如果我尝试这样做,
x1 = linspace(-2*pi, 2*pi)
y2 = diff(cos(x1))
plot(x1, y1)
我收到一条错误消息
error: __plt2vv__: vector lengths must match error: called from __plt__>__plt2vv__ at line 487 column 5 __plt__>__plt2__ at line 247 column 14 __plt__ at line 112 column 18 plot at line 229 column 10
但是,我确实得到了 y2 = diff(cos(x1))
的值,因为这个错误我无法绘制任何东西。
注:我知道sin(x)
的微分是cos(x)
,直接用cos(x)
就可以了,但是这样不行吗?
尝试了diff(cos(90))
我得到了
ans = \[\](0x0)
diff
比其输入短一个元素,因为它与 [v(2)-v(1), v(3)-v(2), ...]
.
不同
您需要执行类似 y2 = [NaN, diff(cos(x1))];
的操作来填充您的数组,使其与 x1
的大小相同。
请注意,这当然会导致偏移,您需要一个 central differencing 方法而不是前向差分方法(如 diff
)来保持 well-aligned.
我从一开始就想学习三角学。 所以我可以通过将这些作为命令来绘制曲线。
x1 = linspace(-2*pi, 2*pi)
y1 = cos(x1)
plot(x1, y1)
但是如果我尝试这样做,
x1 = linspace(-2*pi, 2*pi)
y2 = diff(cos(x1))
plot(x1, y1)
我收到一条错误消息
error: __plt2vv__: vector lengths must match error: called from __plt__>__plt2vv__ at line 487 column 5 __plt__>__plt2__ at line 247 column 14 __plt__ at line 112 column 18 plot at line 229 column 10
但是,我确实得到了 y2 = diff(cos(x1))
的值,因为这个错误我无法绘制任何东西。
注:我知道sin(x)
的微分是cos(x)
,直接用cos(x)
就可以了,但是这样不行吗?
尝试了diff(cos(90))
我得到了
ans = \[\](0x0)
diff
比其输入短一个元素,因为它与 [v(2)-v(1), v(3)-v(2), ...]
.
您需要执行类似 y2 = [NaN, diff(cos(x1))];
的操作来填充您的数组,使其与 x1
的大小相同。
请注意,这当然会导致偏移,您需要一个 central differencing 方法而不是前向差分方法(如 diff
)来保持 well-aligned.