如何用maple求高次非线性方程组的近似解比如,下面的方程组有6个方程,包含6个变量(都在0-1之间),solve/fsolve就无法求解了,用grobner包好像也没反应.如果变量数目继续增加就更不行了.我只想要个近似解,x[0]+x[1]+x[2]+x[3]+x[4]+x[5] = 1-233.*x[2]*x[3]*x[4]-157.*x[1]*x[2]*x[4]-233.*x[2]*x[3]*x[5]-271.*x[2]*x[4]*x[5]-119.*x[0]*x[2]*x[4]-119.*x[0]
2019-04-12
如何用maple求高次非线性方程组的近似解
比如,下面的方程组有6个方程,包含6个变量(都在0-1之间),solve/fsolve就无法求解了,用grobner包好像也没反应.如果变量数目继续增加就更不行了.
我只想要个近似解,
x[0]+x[1]+x[2]+x[3]+x[4]+x[5] = 1
-233.*x[2]*x[3]*x[4]-157.*x[1]*x[2]*x[4]-233.*x[2]*x[3]*x[5]-271.*x[2]*x[4]*x[5]-119.*x[0]*x[2]*x[4]-119.*x[0]*x[2]*x[5]-88.*x[2]^3-195.*x[2]^2*x[3]-107.*x[2]*x[3]^2+108.*x[2]*x[3]-119.*x[0]*x[1]*x[2]+49.*x[0]*x[2]+68.*x[1]*x[2]-50.*x[0]^2*x[2]-119.*x[0]*x[2]^2-69.*x[1]^2*x[2]-157.*x[1]*x[2]^2-0.6000000000e-1*x[2]-119.*x[0]*x[2]*x[3]-157.*x[1]*x[2]*x[3]-195.*x[2]^2*x[4]-195.*x[2]^2*x[5]-126.*x[2]*x[4]^2-145.*x[2]*x[5]^2-157.*x[1]*x[2]*x[5]+0.1000000000e-1+108.*x[2]*x[4]+108.*x[2]*x[5]+88.*x[2]^2 = 0 (类似方程还有4个)
优质解答
如果maple数值解求解不出来,可能的情况有二.1、方程组矛盾,检查方程组列写是否错误,如果正确尝试用最小二乘法求解.2、数值解由于搜索空间太大,没法找到,尝试用启发式算法,例如遗传算法,类似你写的这些方程,可以用matlab中的遗传算法工具箱,应该也写成最小二乘的形式.
这样的问题,我没有遇到过,fsolve命令已经很强大了,如果方程组正确,fsolve求不出来,我就不知道如何处理了.
如果maple数值解求解不出来,可能的情况有二.1、方程组矛盾,检查方程组列写是否错误,如果正确尝试用最小二乘法求解.2、数值解由于搜索空间太大,没法找到,尝试用启发式算法,例如遗传算法,类似你写的这些方程,可以用matlab中的遗传算法工具箱,应该也写成最小二乘的形式.
这样的问题,我没有遇到过,fsolve命令已经很强大了,如果方程组正确,fsolve求不出来,我就不知道如何处理了.