求解具有两个未知参数的两个方程

时间:2013-09-14 17:08:41

标签: matlab algebra wolframalpha

我有这两个方程,我想找到这两个参数的值:

9.393e(16) = ((N*K)/(K + 0.0045))*(1 - exp (-(K + 0.0045)*120))

1.376e (17) = ((N*K)/(K + 0.0045))*(1 - exp (-(K + 0.0045)*240))

如何在matlab或wolfram中解决呢

2 个答案:

答案 0 :(得分:1)

我猜一个手动计算器就足够了。

呼叫:

a = 9.393e(16)
b = 1.376e (17)
Q = (N*K)/(K + 0.0045)
f = exp (-(K + 0.0045)*120)  => exp (-(K + 0.0045)*240) = f^2

你有:

 a = Q (1 - f)
 b = Q (1 - f^2)

所以

a/b = (1 - f) / (1 - f^2) = 1 / (1 + f)

因此

f = b/a - 1

您可以在两侧取log并求解K

-(K + 0.0045)*120 = log(b/a - 1)

要找到N,等式再次只是线性的。

答案 1 :(得分:1)

您可以通过FSOLVELSQNONLIN在MATLAB中求解同时非线性方程。但是,这需要优化工具箱。

请参阅此MathWorks knowledgebase article

考虑到方程的LHS的大小,如果你看到一些数值不稳定,我不会感到惊讶。您可能希望按照Acorbe的建议手动解决此问题。