说如果我定义以下内容:
g = @(x) x/sqrt(x^2+1) 如何获得g的导数函数,然后可以用它在不同的点求值?
我尝试了符号数学工具包,并尝试了以下方法:
>> syms x >> f = x/sqrt(x^2+1) f = x/(x^2 + 1)^(1/2) >> diff(f) ans = 1/(x^2 + 1)^(1/2) - x^2/(x^2 + 1)^(3/2) 但是,我无法弄清楚如何将其转换为函数句柄/在不同点进行评估。但是,我更喜欢在function_handle上进行区分。
非常感谢你!
杰森
回答:
您可以使用
matlabFunction将符号方程式转换为函数。例如:
syms x1 x2; f1 = x1^2+x2^2; Df1 = jacobian(f1, [x1 x2]); Df1 = matlabFunction(Df1); 然后Df1(0,0)按预期返回[0 0]。
matlabFunction函数是
在 Symbolic Math Toolbox的 5.2版(R2009a)中
引入的 。
更多&回答...