【发布时间】:2013-07-24 15:04:32
【问题描述】:
正如标题所示,我想知道如何找到“函数”的导数。我不确定该怎么做,因为我真的没有定义函数,只是一个值数组。所以让我们尝试一个简单的例子:
x = 1:5;
y = x.^2
y =
1 4 9 16 25
正如预期的那样。现在我想取导数。我知道这是 2 倍。可能使用 diff 函数,就像在符号工具包中一样?
diff(y)
ans =
3 5 7 9
这看起来像 2x +/- 1,长度为 length(y)-1。有什么方法可以计算它的导数并得到一个长度(y)的向量?
我没有符号工具包。
【问题讨论】:
-
在matlab中查看符号变量:mathworks.com/help/symbolic/…
-
你认为向量的导数是什么样的?函数
diff(y)为您提供了一个看起来像y[i+1] - y[i]的新向量。 -
@Dan455 我没有符号工具包。 @AndrewPiliser,我知道 diff 会在两个连续条目中给出差异。我正在尝试找到另一个可以给我
2 4 6 8 10的功能 -
@JamesMaslek 那么你想要做的是“猜测”一个基于有限值集的函数吗?这是不可能的。
-
对于代表离散函数 a(n) 样本的给定有限值集
a,您可以使用diff(a)(就此而言,二阶导数可以近似为diff(a, 2),依此类推……)。为了准确,您需要确保采样率足够(请参阅Nyquist theorem)。