查看单个帖子
旧 2019-12-10, 20:48   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在Matlab中获得方程的一阶导数

我有这个方程: 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) 我问是因为如果使用此方法,我将永远无法获得正确的绘图...有什么建议吗?



回答:

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

换句话说,你需要写

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

更多&回答...
poster 当前离线   回复时引用此帖