我有这两个方程,我想找到这两个参数的值:
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中解决呢
答案 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)
您可以通过FSOLVE
或LSQNONLIN
在MATLAB中求解同时非线性方程。但是,这需要优化工具箱。
请参阅此MathWorks knowledgebase article。
考虑到方程的LHS的大小,如果你看到一些数值不稳定,我不会感到惊讶。您可能希望按照Acorbe的建议手动解决此问题。