正如标题所示,我想知道如何找到“函数”的导数。我不知道该怎么做,因为我真的没有定义一个函数,只是一组值。因此,让我们尝试一个简单的例子:
x = 1:5;
y = x.^2
y =
1 4 9 16 25不出所料。现在我想用导数。我知道这是2倍。可能会使用diff函数,就像在符号工具箱中一样?
diff(y)
ans =
3 5 7 9这看起来像2x +/ 1,长度(Y)-1。我能不能计算它的导数,得到一个长度(Y)的向量?
我没有象征性的工具箱。
发布于 2013-07-24 15:32:12
你没什么办法。这个话题已经在MathWorks网络论坛上讨论过了。
@noah提供了一个有限数据集上的数值微分(即:差分)的例子,而您正在寻找一种方法来对应用于离散域数据集的连续域连续范围函数进行符号微分。
总之,没有发生。你在问如何安装一个没有锤子、螺丝钉或钉子的架子。您可以随时下载并安装GNU Octave,这是MATLAB的一种免费选择。
参考资料。
发布于 2013-07-24 15:17:59
对于小数据集来说,数值微分是一种棘手的问题。这样做的最佳方法是显式地创建函数,然后将其应用于数据。
>> syms x y
>> y = x^2;
>> dy = diff(y);
>> dy
ans =
2*x
>> v = 1:5;
>> f = matlabFunction(dy);
>> f(v)
ans =
2 4 6 8 10发布于 2013-07-29 18:05:42
您没有符号工具箱,您需要符号导数。这里有一个建议:如果你已经知道了你想要应用到你的向量上的函数的导数(用基本微积分的知识),直接把它应用到你的向量。例如:
vector = [1 2 3 4 5] % intended function = x^2
result = 2*vector
vector = [1 2 3 4 5] % intended function = sin(x)
result = cos(vector)有没有你想要应用的函数,你还不知道导数呢?
https://stackoverflow.com/questions/17837898
复制相似问题