【数值分析】非线性方程求根,二分法,割线法,matlab实现

1. 基本问题

收敛阶
lim ⁡ k → ∞ ∣ e k + 1 ∣ ∣ e k ∣ r = C > 0 , r 为收敛阶 \lim_{k\to\infty} \frac{|e_{k+1}|}{|e_k|}^r=C>0 \,\,,\,\, r为收敛阶 klimekek+1r=C>0,r为收敛阶

2. 二分法

二分法是线性收敛的,如果指定精度 ϵ { \epsilon } ϵ ,则最多需要迭代步数
k = ⌈ log ⁡ 2 ( b − a ϵ ) ⌉ k= \lceil \log_2(\frac{b-a}{\epsilon }) \rceil k=log2(ϵba)⌉
matlab实现

%% 二分法例子
f = @(x) x^3-x-1;
format long
[x,i] = bisect(f,1,2,1e-5,1000)%% 二分法求非线性方程的根
% 输入函数,范围,精度,最大迭代次数
% 输出根,迭代次数
function [x,i] = bisect(f,a,b,eps,max_iter)if sign(f(a))~=sign(f(b))for i = 1:max_iter  c = a/2+b/2;if (b-a)<eps || abs(f(c))<epsx = c;breakendif sign(f(a))==sign(f(c))a = c;elseb = c;endendend
end

3. 不动点迭代加速

不动点 x = x ∗ {x=x ^{*} } x=x
x k + 1 = ϕ ( x k ) x_{k+1}=\phi(x_k) xk+1=ϕ(xk)
x k + 1 − x ∗ = ϕ ( x k ) − ϕ ( x ∗ ) = ϕ ′ ( ξ k ) ( x k − x ∗ ) , ξ k ∈ ( x k , x ∗ ) x_{k+1}-x ^{*} =\phi(x_k)-\phi(x ^{*} )=\phi'(\xi_k)(x_k-x ^{*} ) \,\,,\,\, \xi_k\in(x_k,x ^{*} ) xk+1x=ϕ(xk)ϕ(x)=ϕ(ξk)(xkx),ξk(xk,x)
let ϕ ′ ( ξ k ) = L \text{let} \,\,\, \phi'(\xi_k) =L letϕ(ξk)=L
x ∗ ≈ x k + 1 − L x k 1 − L = ϕ ˉ ( x ) x ^{*} \approx \frac{x_{k+1}-Lx_k}{1-L}=\bar\phi(x) x1Lxk+1Lxk=ϕˉ(x)
为加速后的不动点迭代格式。

6. 割线法

割线法比起牛顿迭代法不需要计算导数。
双点割线法
需要知道两个的函数初始值,不需要函数值异号。迭代公式如下:
x k + 1 = x k − f ( x k ) x k − x k − 1 f ( x k ) − f ( x k − 1 ) x_{k+1}=x_k-f(x_k) \frac{x_k-x_{k-1}}{f(x_k)-f(x_{k-1})} xk+1=xkf(xk)f(xk)f(xk1)xkxk1
收敛阶:
r = 5 + 1 2 ≈ 1.618 r= \frac{\sqrt{5}+1}{2} \approx 1.618 r=25 +11.618

matlab编程实现

%%  割线法例子
f = @(x) x-sin(x)-0.5;
[x,e,i] = cutSolve(f,1.4, 1.6, 0.01, 100)%% 双点割线法
% 输入函数,根所在的区间下限上限,精度,最大迭代次数
% 输出根,根的值,迭代次数
function [x,e,i] = cutSolve(f,a,b,eps,max_iter)x0 = a;x1 = b;for i = 1:max_iterx = -f(x0)*(x1-x0)/(f(x1)-f(x0))+x0if abs(x-x1)<=epse = abs(f(x));break;endx0=x1;x1=x;end
end

单点割线法
固定初始点,有
x k + 1 = x k − f ( x k ) x k − x 0 f ( x k ) − f ( x 0 ) x_{k+1}=x_k-f(x_k) \frac{x_k-x_{0}}{f(x_k)-f(x_{0})} xk+1=xkf(xk)f(xk)f(x0)xkx0
算是一种不动点迭代。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/600250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Data JPA入门到放弃

参考文档&#xff1a;SpringData JPA&#xff1a;一文带你搞懂 - 知乎 (zhihu.com) 一、 前言 1.1 概述 Java持久化技术是Java开发中的重要组成部分&#xff0c;它主要用于将对象数据持久化到数据库中&#xff0c;以及从数据库中查询和恢复对象数据。在Java持久化技术领域&a…

docker-compose常用命令及.yaml配置模板

1、docker-compose常用命令&#xff1a; docker-compose -f mysql-docker-compose.yaml up -d docker-compose -f mysql-docker-compose.yaml downdocker-compose的常用命令包括&#xff1a; docker-compose up&#xff1a;启动并运行Compose文件中的服务。 docker-compose st…

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述(CMU,CCM,TBU,MON)

英飞凌TC3xx之一起认识GTM(九)GTM相关知识简述(CMU,CCM,TBU,MON) 1 时钟管理单元(CMU)2 集群配置模块(CCM)3 时基单元(TBU)4 监控单元(MON)5 总结由前文的各篇内容,开发者已经知道如何使用GTM的大部分功能,在这些功能中,都需要一个信息就是fGTM 的数据,我们在前…

Vue2和Vue3框架介绍以及使用

Vue2和Vue3框架介绍&#xff1a; Vue2是Vue.js的早期版本&#xff0c;它引入了组件化的开发方式&#xff0c;使得开发人员可以更加模块化地构建单页应用程序。Vue2还提供了响应式的数据绑定和指令&#xff0c;使得开发人员可以更加高效地开发动态的Web界面。 Vue2的特点&…

【源码预备】Calcite基础知识与概念:关系代数概念、查询优化、sql关键字执行顺序以及calcite基础概念

文章目录 一. 关系代数的基本知识二. 查询优化三. SQL语句的解析顺序1. FROM2. WHERE3. GROUP BY4. HAVING5. SELECT 四. Apache Calcite中的基本概念1. Adapter2. Calcite中的关系表达式2.1. 关系表达式例子2.2. 源码底层结构 3. Calcite的优化规则4. Calcite的Trait--算子物理…

使用群晖docker将小爱音箱接入chatgpt

文章目录 开源项目地址获取设备did&#xff0c;设备hardware配置文件分享上传配置文件群晖后台启动服务检查服务状态&#xff0c;测试 开源项目地址 获取设备did&#xff0c;设备hardware 使用Yonsm/MiService项目获取did和hardware。 找个Ubuntu环境安装python环境&#xff…

音乐制作软件Studio One mac有哪些特点

Studio One mac是一款专业的音乐制作软件&#xff0c;该软件提供了全面的音频编辑和混音功能&#xff0c;包括录制、编曲、合成、采样等多种工具&#xff0c;可用于制作各种类型的音乐&#xff0c;如流行音乐、电子音乐、摇滚乐等。 Studio One mac软件特点 1. 直观易用的界面&…

Golang switch 语句

简介 switch 语句提供了一种简洁的方式来执行多路分支选择 基本使用 基本语法如下&#xff1a; switch expression { case value1:// 当 expression 的值等于 value1 时执行 case value2:// 当 expression 的值等于 value2 switch 的每个分支自动提供了隐式的 break&#x…

x-cmd pkg | pdfcpu - 强大的 PDF 处理工具

目录 简介首次用户多功能支持性能表现安全的加密处理进一步阅读 简介 pdfcpu 是一个用 Go 编写的 PDF 处理库。同时它也提供 API 和 CLI。pdfcpu 提供了丰富的 PDF 操作功能&#xff0c;用户还能自己编写配置文件&#xff0c;用来管理和使用各种自定义字体并存储有效的默认配置…

苹果紧急修复两大零日漏洞,影响iPhone、iPad 和 Mac 设备

内容概述&#xff1a; 近日&#xff0c;苹果公司发布紧急安全更新&#xff0c;此次更新修复了两个在攻击中被利用并影响 iPhone、iPad 和 Mac 设备的零日漏洞。据统计&#xff0c;自今年年初以来已修复的零日漏洞数量已达到 20 个。其中提到此次发现的零日漏洞很可能已被iOS 1…

uniapp 【专题详解 -- 时间】云数据库时间类型设计,时间生成、时间格式化渲染(uni-dateformat 组件的使用)

云数据表的时间类型设计 推荐使用时间戳 timestamp "createTime": {"bsonType": "timestamp","label": "创建时间&#xff1a;" }时间生成 获取当前时间 Date.now() .add({createTime: Date.now() })时间格式化渲染 下载安…

音量控制软件sound control mac功能亮点

sound control mac可以帮助用户控制某个独立应用程序的音量&#xff0c;通过每应用音量&#xff0c;均衡器&#xff0c;平衡和音频路由独立控制每个应用的音频&#xff0c;还有整个系统的音量。 sound control mac功能亮点 每个应用程序的音量控制 独立控制应用的数量。 键盘音…

发票信息提取v1.2.0

程序介绍 “发票信息提取”是一款用于提取电子发票的PDF、XML文件中的开票信息到excel表格的软件&#xff0c;无需联网及进行复杂配置&#xff0c;打开即用。目前支持增值税电子发票&#xff08;非数电票&#xff09;原始PDF文件&#xff0c;及数电票的XML文件。 更新内容 增加…

PHP运行环境之宝塔Web站点部署

目录 Web站点部署流程(部署聚合支付后台) 项目文件 将上传的文件解压文件至根目录 修改站点关键信息 设置伪静态,选择:thinkphp,并保存 设置PHP,选择:70+版本即可。 安装网站 1设置运行目录

RMAN-03002 RMAN-06059 ORA-19625

有个现场经理反馈&#xff0c;每天的rman备份异常&#xff0c;登录系统查看rman的log日志&#xff0c;报错信息如下 RMAN> run{ 2> backup filesperset 50 archivelog all format /backup/ARCHBAK_%d_%T_%s tag arch_bak delete all input; 3> } 4> Starting …

用于查询性能预测的计划结构深度神经网络模型--大数据计算基础大作业

用于查询性能预测的计划结构深度神经网络模型 论文阅读和复现 24.【X1.1】 在关系数据库查询优化领域&#xff0c;对查询时间的估计准确性直接决定了查询优化结果&#xff0c;进而影响到数据库整体的查询效率。但由于数据库自身的复杂性&#xff0c;查询时间受到数据分布、数据…

SwiftUI之深入解析如何使用accessibilityChartDescriptor视图修饰符为视图构建音频图表

一、DataPoint 结构体 在 SwiftUI 中构建一个简单的条形图视图开始&#xff0c;该视图使用垂直条形显示一组数据点。如下所示&#xff0c;有一个 DataPoint 结构&#xff0c;用于描述条形图视图中的条形&#xff0c;它具有 id、标签、数值和填充颜色&#xff1a; struct Data…

Flutter GetX 之 路由管理

路由管理是插件GetX常用功能之一&#xff0c;为什么说之一呢&#xff1f;因为GetX的功能远不止路由管理这么简单。 GetX的重要功能如下&#xff1a; 1、路由管理2、状态管理3、国际化4、主题5、GetUtil工具6、dialog 弹框7、snackbar 其实上面功能介绍的还是不够详细&#xff…

CentOS 7.8 安装 Docker

1.卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine2.安装依赖 sudo yum -y install gcc sudo yum -y install gcc-c3.安装软件包 sudo yum inst…

Sentinel 使用

使用教程&#xff1a;Sentinel 使用教程