使用Matlab求解方程

时间:2011-03-19 13:45:34

标签: math matlab

S=solve(strcat('a*gamma(1+(1/b))=',int2str(m)),strcat('a*a*gamma(1+(2/b))=',int2str(c)));

变量m和c的值是已知的。如何解决a和b?

2 个答案:

答案 0 :(得分:0)

我猜a和b是任意常数。您可以将其指定为syms。如果你真的需要求解a和b,那么在matlab中使用两个方程式的两个未知数或者solve()函数。

答案 1 :(得分: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])