2011-03-19 89 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])