我有这两个方程,我想找到这两个参数的值:
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中解决它
我有这两个方程,我想找到这两个参数的值:
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中解决它
我想一个手动计算器就足够了。
称呼:
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
方程只是线性的。
FSOLVE
您可以通过或在 MATLAB 中求解联立非线性方程LSQNONLIN
。但是,这需要优化工具箱。
请参阅此MathWorks 知识库文章。
鉴于您的方程的 LHS 的大小,如果您看到一些数值不稳定性,我不会感到惊讶。您可能希望按照 Acorbe 的建议手动解决此问题。