解决非线性方程组的最耗时的方法是什么?

时间:2015-07-11 11:24:13

标签: matlab nonlinear-functions economics

我正在开发一种均衡模型,让生产者在选择最佳工作时间时获得收益和成本。然而,相关的收益和成本函数都是合理的,这导致问题的复杂的一阶导数。当引入参数值时,我在3个变量中得到3个方程的系统,如下所示:

eq1 =(10940 *((12034 * x)/ 35 +(1094 * y)/ 5 +(2734 * z)/ 25))/(7 *(((12034 * x)/ 35 +(1094) * y)/ 5 +(2734 * z)/ 25)^ 2 + 640000)) - (10940 *((12034 * x)/ 35 +(1094 * y)/ 5 +(2734 * z)/ 25)^ 3)/(7 *(((12034 * x)/ 35 +(1094 * y)/ 5 +(2734 * z)/ 25)^ 2 + 640000)^ 2)== x ^ 3/5184

eq2 =(10940 *((1094 * x)/ 15 +(51418 * y)/ 105 +(2734 * z)/ 25))/(7 *(((1094 * x)/ 15 +(51418) * y)/ 105 +(2734 * z)/ 25)^ 2 + 640000)) - (10940 *((1094 * x)/ 15 +(51418 * y)/ 105 +(2734 * z)/ 25)^ 3)/(7 *(((1094 * x)/ 15 +(51418 * y)/ 105 +(2734 * z)/ 25)^ 2 + 640000)^ 2)== y ^ 2/576

eq3 =(5468 *((1094 * x)/ 15 +(1094 * y)/ 5 +(30074 * z)/ 75))/(5 *(((1094 * x)/ 15 +(1094) * y)/ 5 +(30074 * z)/ 75)^ 2 + 490000)) - (5468 *((1094 * x)/ 15 +(1094 * y)/ 5 +(30074 * z)/ 75)^ 3)/(5 *(((1094 * x)/ 15 +(1094 * y)/ 5 +(30074 * z)/ 75)^ 2 + 490000)^ 2)== z ^ 2/576

MATLAB通常花费大约48小时来找到这种方程组的解决方案 - 当它找到它们时 - 使用solve命令。有没有更有效的方法来完成这项任务? (我确实清楚地猜测了解决方案应该是什么样的:所有三个结果变量都应该在[0,12]区间内。)

0 个答案:

没有答案