2011-03-19 154 views
0
S=solve(strcat('a*gamma(1+(1/b))=',int2str(m)),strcat('a*a*gamma(1+(2/b))=',int2str(c))); 

變量m和c的值是已知的。如何解決a和b?使用Matlab求解方程

回答

0

我猜a和b是任意常量。您可以將其分配爲syms。如果你確實需要求解a和b,可以使用兩個方程兩個未知數或matlab中的solve()函數。

0

嘗試優化工具包,如果您有它:

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])