Решение уравнения с использованием Matlab - PullRequest
0 голосов
/ 19 марта 2011
S=solve(strcat('a*gamma(1+(1/b))=',int2str(m)),strcat('a*a*gamma(1+(2/b))=',int2str(c)));

Значения переменных m и c известны.Как можно решить для а и б?

Ответы [ 2 ]

0 голосов
/ 19 марта 2011

Попробуйте набор инструментов оптимизации, если он у вас есть:

f = @(a,b)  (a(1)*gamma(1+(1/a(2))) - b(1))^2 +  (a(1)^2*gamma(1+(2/a(2)))-b(2))^2;
X = fminsearch(@(a) f(a,b),[1;1])
0 голосов
/ 19 марта 2011

Я думаю, a и b - произвольные постоянные. Вы можете назначить его как символ. Если вам действительно нужно решить для a и b, используйте два уравнения с двумя неизвестными или функцию solve () в matlab.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...