线性和非线性方程数值解法_数值分析计算方法-程序员宅基地

技术标签: 算法  二分法  

传送门:
线性和非线性方程数值解法_数值分析计算方法
插值与逼近_数值分析计算方法

0 绪论

1 非线性方程数值解法

在这里插入图片描述

1.1 二分法

使用的条件
  1. 区间首尾异号
  2. 区间内连续
  3. 仅有一个根
步骤

先判断是否满足使用的条件,再使用
误差限的计算

1.2 迭代法

单点迭代法

f ( x ) = 0 f(x)=0 f(x)=0 改写成 x = ϕ ( x ) x=\phi(x) x=ϕ(x)
建立迭代公式 x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk)
在根附近任取一点 x 0 x_0 x0,若得到的序列收敛于 α \alpha α ϕ ( x ) \phi(x) ϕ(x)连续

多点迭代法

x k + 1 = ϕ ( x k − n + 1 , . . . , x k − 2 , x k − 1 , x k ) x_{k+1}=\phi(x_{k-n+1}, ..., x_{k-2}, x_{k-1}, x_k) xk+1=ϕ(xkn+1,...,xk2,xk1,xk)

迭代法的收敛性

全局收敛性:设 α \alpha α f ( x ) = 0 f(x)=0 f(x)=0的根,如果 ∀ x 0 ∈ [ a , b ] \forall x_0 \in [a, b] x0[a,b] ,由迭代法产生的序列都收敛于根 α \alpha α, 则称该迭代法是全局收敛的;
局部收敛性:设方程 x = ϕ ( x ) x=\phi(x) x=ϕ(x)有根 α α α, 如果存在 α α α的某个邻域 Δ : ∣ x − α ∣ < δ \Delta: |x-\alpha| < \delta Δ:xα<δ,对任意初值 x 0 ∈ Δ x_0 \in \Delta x0Δ,迭代过程所产生的序列均收敛于根 α α α,则称该迭代法是局部收敛的。

迭代过程的收敛速度

D e f . Def. Def. e k = α − x k e_k=\alpha-x_k ek=αxk,若 lim ⁡ k → ∞ ∣ e k + 1 ∣ ∣ e k ∣ p = C ≠ 0 \displaystyle \lim_{k \to \infty}\frac{|e_{k+1}|}{|e_k|^p}=C\neq0 klimekpek+1=C=0,则称迭代过程是p阶收敛的;
特别地,当p=1时,称为线性收敛;
当p>1时,称为超线性收敛,
当p=2时,称为平方收敛.

迭代过程的效率指数

D e f . Def. Def. E I = p 1 θ EI=p^{1 \over \theta} EI=pθ1
为效率指数. 其中 p p p表示迭代的收敛阶, θ \theta θ表示每步迭代的计算量.
E I EI EI越大,计算效率越高.

1.2.1 不动点迭代法

T h 1.1 Th1.1 Th1.1 ϕ ( x ) \phi(x) ϕ(x)满足:
1)当 x ∈ [ a , b ] x\in[a, b] x[a,b]时, ϕ ( x ) ∈ [ a , b ] \phi(x)\in[a, b] ϕ(x)[a,b]
2) ∀ x 1 , x 2 ∈ [ a , b ] \forall x_1, x_2 \in [a, b] x1,x2[a,b],有 ∣ ϕ ( x 1 ) − ϕ ( x 2 ) ∣ ≤ L ∣ x 1 − x 2 ∣ , L < 1 |\phi(x_1)-\phi(x_2)| \leq L|x_1-x_2|,L<1 ϕ(x1)ϕ(x2)Lx1x2,L<1
则对任意初值 x 0 ∈ [ a , b ] x_0\in[a,b] x0[a,b],迭代过程 x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk)收敛于 x = ϕ ( x ) x=\phi(x) x=ϕ(x) [ a , b ] [a, b] [a,b]上的唯一根 ,且有误差估计式: ∣ α − x k ∣ ≤ L 1 − L ∣ x k − x k − 1 ∣ |\alpha-x_k|\leq \frac L {1-L}|x_k-x_{k-1}| αxk1LLxkxk1 ∣ α − x k ∣ ≤ L k 1 − L ∣ x 1 − x 0 ∣ |\alpha-x_k|\leq \frac {L^k} {1-L}|x_1-x_0| αxk1LLkx1x0

T h 1.2 Th1.2 Th1.2 ϕ ( x ) \phi(x) ϕ(x) [ a , b ] [a,b] [a,b]上具有一阶导数,且
1)当 x ∈ [ a , b ] x\in [a,b] x[a,b]时,有 ϕ ( x ) ∈ [ a , b ] \phi(x)\in[a,b] ϕ(x)[a,b]
2) ∀ x ∈ [ a , b ] \forall x \in [a,b] x[a,b],有 ∣ ϕ ′ ( x ) ∣ ≤ L < 1 |\phi'(x)| \leq L < 1 ϕ(x)L<1
则对任意初值 x 0 ∈ [ a , b ] x_0\in[a,b] x0[a,b],迭代过程 x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk)收敛于 x = ϕ ( x ) x=\phi(x) x=ϕ(x) [ a , b ] [a, b] [a,b]上的唯一根。

T h 1.3 Th1.3 Th1.3 ϕ ( x ) \phi(x) ϕ(x)在方程 x = ϕ ( x ) x=\phi(x) x=ϕ(x)的根 α \alpha

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ZhifanSk/article/details/105504927

智能推荐

xp看不到win7共享计算机,WIN7与XP之间共享互通的错误以及解决办法汇总_蛋挞小可爱的博客-程序员宅基地

基础篇:解决”网上邻居”的访问故障Win7和XP的“网上邻居”无法访问对方时(局域网内互访和双机互联互访),可以参考以下解决方式(本贴以win7截图,XP设置与win7雷同…PS:由于本人使用是英文版系统,所以截图将会是英文配图,具体的中文将在步骤中说明,不再赘述).1.关闭防火墙.关闭win7和XP的防火墙,如果有第三方防火墙也请自行关闭. 下载 (81.97 KB)2010-10-9 21:5..._xp找不到win7的共享

springboot点击运行没反应,什么都不显示的解决方式_穆雄雄的博客-程序员宅基地

大家好,我是雄雄,欢迎关注微信公众号【雄雄的小课堂】。最近这段时间一直在看开源框架,自己慢慢的琢磨,终于将jeecgboot环境搭建起来,并且成功的跑起来了demo,在此过程中,很明显的能..._springboot不能点击

Java实现图片与base64位编码互相转换_DADA随记的博客-程序员宅基地

Base64目前主要用于HTML5、移动开发等不考虑IE6的场景中。Base64格式data:[][;charset=][;base64],Base64 在CSS中的使用.demoImg{ background-image: url("data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL...."); }Base64 在HTML中的使用

ubuntu kylin16.04安装jdk1.8_逻辑的奴隶的博客-程序员宅基地

首先,捋一下安装jdk的思路。1.下载jdk2.将jdk解压缩到目标目录下3.配置环境变量接下来一步一步的来。下载jdk1.8网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html我选择的是 jdk-8u144-linux-x64.tar.gz。

记一次踩过ArrayList的contains方法性能上的坑_contains坑_午托饭的博客-程序员宅基地

生产上踩过ArrayList的contains方法性能的坑背景在项目中,需要集合ArrayList存储大量数据时,有时候可能需要对新增数据去重判断时,我们会用到集合的contains方法,判断当前元素是否存在,存在则不存储,不存在则进行存储,本人在生产开发中就遇到contains方法带来的严重性能问题,今天我们将通过下面的contains方法源码分析,以及测试性能的方式,来告诉你ArrayLi..._contains坑

我的第一个模块: 不同温度单位转换_三种温度单位的换算_weixin_44820012的博客-程序员宅基地

背景介绍现在世界上主要有三种温度单位, 开尔文(kelvin),摄氏度(celsius) 和 华氏度(fahrenheit)。程序代码-- coding: utf-8 --“”"Created on Wed Jan 8 14:30:46 2020@author: James“”"‘’’ Conversion between differenttemperature scales..._三种温度单位的换算

随便推点

java鼠标长按事件_Java检测长按鼠标_weixin_30273263的博客-程序员宅基地

如果用户按下JList组件超过3秒,有没有办法捕获事件?我找到的困难部分是即使在用户松开鼠标左键之前也需要触发事件. (可以通过几个mousePressed和mouseReleased轻松完成)解决方法:以下是我用于类似情况的内容:public class Player implements Runnable, MouseListener{public void mousePressed(Mous..._java检测鼠标长按

初识基础数据类型 dict,set_aiji3929的博客-程序员宅基地

字典​ 字典(dict)是python中唯一一个映射类型,在python中key是唯一的,在保存的时候,根据key计算出一个内存地址,然后将key-value保存在这个地址中,这种算法被称为hash算法.所以,在dict中存储的键值对中的key必须是可哈希的.(可以改变的都是不可哈希的,那么可哈希的就意味着不可变.)这是为了能准确地计算内存地址而规定的.还有,dict保存的数据不是按照..._dict.create().set 整数

flutter构造Android报错: Could not determine the dependencies of task ‘:app:compileDebugJavaWithJavac‘._q1763868326的博客-程序员宅基地

跟Gradle有关系,在报错里我注意到了gradletool一词,于是我去到安卓工程项目级别下的build.gradle中修改了tools.build:gradle的版本,原本是4.0.0+的现改为:dependencies { classpath 'com.android.tools.build:gradle:3.5.0' }最后重新build运行安卓flutter就Ok了...

MySql存储过程及函数_weixin_30483495的博客-程序员宅基地

  存储过程和函数类似于Java中的方法。⒈存储过程  一组预先编译好的sql语句的集合,理解成批处理语句。  好处:    ①提高代码的重用性    ②简化操作    ③减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率  1.创建语法 1 create procedure 存储过程名称(参数列表)2 begin3 存储过程...

应用篇-Zabbix对端口的监控_zabbix 错误率-程序员宅基地

#配置→主机→需要添加端口监控的ip→监控项#创建监控项#按照图内填入对应端口信息#端口监控项创建完成端口的监控不仅仅是要端口的数据的数据,更需要的是一个触发的机制,当端口不在时,触发告警,通知对应的业务人员及时处理,接下来是触发器的设置#配置→主机→触发器→创建触发器#输入名称(名称就是当你服务出现问题所展现的告警信息)#级别 (选择严重或是灾难,端口是监测一个业务是否存在的比较一个重要且有效的途径,对业务的监测起着至关重要的作用)#监控项 (找到刚新增的端口监控项)#功_zabbix 错误率

推荐文章

热门文章

相关标签