matlab中求解非线性方程组的函数,基于matlab的非线性方程组求解的方法

166 科技资讯 科技资讯 SCIENCE & TECHNOLOGY INFORMATION 2008 NO.14 SCIENCE & TECHNOLOGY INFORMATION 学 术 论 坛 针对复杂的高耦合非线性方程组的求解问题,由于无法写出其解的解析表达式, 因此常利用数值分析的方法来求其数值解。数值求解的算法简单、快速,且可用来进行实时计算,其步骤大致为①选择一个合理的迭代算法;②根据解的数目给出多组合理的初值求解。 目前数值求解算法已经相当成熟,不少软件如mathematica、matlab等都有强大的数值求解器,因此数值求解的第一步,已经不是问题。而对于求解的第二步则随实际问题、约束条件、边界条件以及求解目标而异。在工程实际中,有些问题比较复杂,往往无法根据已知条件直观的判断解的多少或者给出合理的迭代初值,从而出 现漏解或者问题无从下手的情况。 为了解决上述问题,本文基于matlab 的成熟算法,结合遗传算法[1]中的种群和适应度概念,提出了一种求解此类非线性方程组快速而有效的算法。 1 算法 本算法主要由种群、适应度和fsolve函数[2]三部分组成。其求解思路是先在非线性方程组解空间内随机生成N 组数值,这 些随机数值应该平均分布于解空间以保证多样性,它们构成一个种群;然后,根据自定义的适值函数,以适应度为衡量指标,在这个种群中筛选出n 组数值作为初值;最后,调用matlab中的fsolve函数进行迭代求解,以求得解空间内的所有数值解。 1.1种群 种群是非线性方程组合理初值和多解求解的基础。它由在非线性方程组解空间内随机生成的N 组数值构成,种群大小(即N 的大小)由具体问题的解空间决定,它既要保证数值解的多样性又要适量。过大的种群不仅不会提高数值解的多样性反而会严重影响数值求解的速度。一般来讲,种群 N 的大小可从几百到几十万,具体的N 值,可依据解空间大小并结合试算决定。 1.2适应度 适应度是衡量非线性方程组合理迭代初值的标准,它通过自定义的适值函数来体现。适值函数的建立是把方程组的求解转换为模型优化及其求解的过程。适值函数可以是对其最小值或者最大值的求解。对于非线性方程组 , 可建立如下适值函数: (1) 有了适应度,就可以衡量种群中N 组数值的好坏,并从中选择n(n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值