matlab如何解非线性超标定方程我有一个三个未知数,九个方程的非线性方程组,cos(x3)*sin
答案:2 悬赏:60 手机版
解决时间 2021-03-05 17:32
- 提问者网友:精神病院里
- 2021-03-04 19:50
matlab如何解非线性超标定方程我有一个三个未知数,九个方程的非线性方程组,cos(x3)*sin
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-03-04 20:25
首先说明,非线性超标定方程没有准确解,即满足所有方程的解,而只有最优解,即,综合考虑,使9个方程都近似满足,这里存在一个目标函数的问题,一般来说,目标函数取为:T(x1,x2,x3)=a1*f1^2+a2*f2^2+…+a9*f9^2.这里记9个方程为:f1(x1,x2,x3)=0;f2(x1,x2,x3)=0;f3(x1,x2,x3)=0;f4(x1,x2,x3)=0;f5(x1,x2,x3)=0;f6(x1,x2,x3)=0;f7(x1,x2,x3)=0;f8(x1,x2,x3)=0;f9(x1,x2,x3)=0;a1~a9为正的权重系数,如果这9个方程没有侧重点,则它们可取相同的值,如果对某个方程要求“更加逼近”,则对应的权系数取的大些,例如,如对f2要求的优先级高,可使a2=5,其它的全为1.以下就是具体的求解了~不知道你是否了解搜索算法,因为我以前搞过算法研究,所以比较清楚,典型实用的主要有,梯度搜索算法、牛顿搜索算法和盲搜索算法.在你这个具体的问题中,盲搜索算法比较合适,盲搜索算法又有两种典型的分类:遗传算法和粒子群算法.我个人比较喜欢遗传算法,但它相对于粒子群算法来说,复杂,对没搞过这个的来说,可能会浪费很多时间,这里还是建议你用粒子群搜索吧,可以网上自己看下资料,自己写一下matlab程序,实在不行就找我吧
全部回答
- 1楼网友:迟山
- 2021-03-04 20:59
哦,回答的不错
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯