非线性方程组的迭代替换(Iterative substitution)求解(python,数值积分)

本文介绍了非线性方程组的迭代替换求解方法,通过重排方程并迭代更新变量值,直至满足预设公差。虽然这种方法在某些情况下可能不收敛,但通过实例展示了如何用 Python 实现这一过程,并得到了预期的解。
摘要由CSDN通过智能技术生成

第二十一篇 非线性方程组的迭代替换求解

非线性方程组

为了简单起见,我们到目前为止只关注了一个非线性方程。在实际中,我们可能有一个联立形式的非线性方程。
在这里插入图片描述
这种系统的解或根将由一组形式为(x1,x2,xn)的变量组成,并且通常会有多个满足方程的解。
在已经描述的方法中,即迭代替换和牛顿迭代法,都可以扩展到解决非线性方程组

方程组的迭代替换

标准方程能重新排列成下面的形式
在这里插入图片描述
该方法继续对所有变量(x1, x2,···,xn)0进行初始猜测。将这些值代入方程(3.25)的右侧,得到变量(x1, x2,···,xn)1等的更新值。迭代将继续进行,直到所有变量的更改都不超过指定的公差。这种方法的一个缺点是,对于大多数非线性方程组,可能会出现上面显示的几种重排。有些重排具有收敛的性质,有些则没有。对于单个方程,收敛取决于函数F(x)在根附近的梯度大小。同样,对于两个非线性方程,只有当
在这里插入图片描述
时才收敛,随着方程数目的增加,对收敛性的限制也越来越搞,因此限制了该方法在实践中的应用。
计算实例:
使用迭代替换的方法去发现下面函数在x1=1,x2=1附近的根
在这里插入图片描述
方程首先被重新排列成一个右手边为0的‘标准形式’
在这里插入图片描述
现在重新排列方程,使每个变量都出现在左边。有几种方法可以做到这一点,一种可能的排列如下
在这里插入图片描述
当初始猜测值为x1==x2=1.0时,迭代的解展现在下面的表中
在这里插入图片描述
很显然,解应该在x1=x2=1.2的时候收敛。在高斯迭代方法中,只要更新的值可用,就可以提高收敛性。
程序如下:
其中有一个主程序和一个对多个数判断收敛的子程序checkit,和一个函数程序

#对于一个方程组的迭代替换
import numpy as np
import B
n=2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深渊潜航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值