如何在matlab中得到方程的一阶导数

时间:2010-12-22 19:23:49

标签: matlab

如果我有函数f(x,y,z),如何在matlab中首先推导出我的函数。

F'= DF(X,Y,Z)/ d(X,Y)

如果我使用这个方法f'= diff(f,x)+ diff(f,y)?是真的吗?

2 个答案:

答案 0 :(得分:1)

你回答了自己的问题;只要f(x,y,z)函数输出M×N向量/矩阵,就可以使用diff函数来获得导数的数值解(与解析解相对)。用于创建矩阵的变量数量并不重要。

请注意,如果您正在处理矩阵,则必须考虑导数的方向。

答案 1 :(得分:1)

如果f(x,y,z)允许您创建2D数组,使得数组的元素i,j是与坐标对z对应的xi,yj的值,则是,您可以使用diff获取数字差异。

请注意,在您的情况下,您需要为DIFF指定三个输入,因为第二个输入是差异的顺序,而不是维度。此外,diff为您提供了不同之处。要获得导数的正确值,您需要除以xy值中的步长(除非坐标增加1)。