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

时间:2010-12-23 16:17:22

标签: matlab equation

我有这个等式:f(a,b,x)=t0-a+(a^2*(1+((x-x0)^2/b^2)))^0.5

如果我想得到一阶导数:df(a,b,x)/d(a,b) = x0,t0 =常数和a,b,x =数组。

如果我使用这个脚本

就是这样

> syms f; syms t0; syms x; syms x0; syms
> a; syms b;
> 
> 
> f=t0-a+(a^2*(1+((x-x0)^2/b^2)))^0.5;
> f_1=diff(f,a)+diff(f,b)

我问,因为如果我使用这种方法,我从来没有得到正确的情节...... 有什么建议吗?

1 个答案:

答案 0 :(得分:1)

df/d(a,b)不等于df/da+df/db。相反,它是(df/da)/db

换句话说,你需要写

f_1=diff(diff(f,a),b);