如果我有函数f(x,y,z),如何在matlab中首先推导出我的函数。
F'= DF(X,Y,Z)/ d(X,Y)
如果我使用这个方法f'= diff(f,x)+ diff(f,y)?是真的吗?
答案 0 :(得分:1)
你回答了自己的问题;只要f(x,y,z)
函数输出M×N向量/矩阵,就可以使用diff
函数来获得导数的数值解(与解析解相对)。用于创建矩阵的变量数量并不重要。
请注意,如果您正在处理矩阵,则必须考虑导数的方向。
答案 1 :(得分:1)
如果f(x,y,z)
允许您创建2D数组,使得数组的元素i,j
是与坐标对z
对应的xi,yj
的值,则是,您可以使用diff
获取数字差异。
请注意,在您的情况下,您需要为DIFF指定三个输入,因为第二个输入是差异的顺序,而不是维度。此外,diff
为您提供了不同之处。要获得导数的正确值,您需要除以x
和y
值中的步长(除非坐标增加1)。