Как получить первый вывод уравнения в Matlab - PullRequest
1 голос
/ 23 декабря 2010

У меня есть это уравнение: 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 Ответ

1 голос
/ 23 декабря 2010

df/d(a,b) не равно df/da+df/db. Скорее это (df/da)/db.

Другими словами, вам нужно написать

f_1=diff(diff(f,a),b);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...