数值分析与科学计算导引——误差与算法举例
文章目录
- 第一章 数值分析与科学计算导引
- 1.1 数值分析的对象、作用与特点
- 数值分析的对象
- 数值分析的作用
- 数值分析的特点
- 1.2 数值计算的误差
- 误差分类
- 误差与有效数字
- 数值运算的误差估计
- 1.3 算法举例
- 秦九韶算法求多项式值
- 开根号迭代算法
- 牛顿切线
- 加权平均的松弛技术
第一章 数值分析与科学计算导引
1.1 数值分析的对象、作用与特点
数值分析是数学的一个分支,以下是关于其对象、作用与特点的具体介绍:
数值分析的对象
数值分析主要研究的是如何利用计算机等工具,对各种数学问题进行数值求解。具体来说,其对象包括以下几类:
- 方程求解:涵盖代数方程和微分方程等。例如,求解一元二次方程(ax^{2}+bx + c = 0)的根,或者求解描述物理过程的偏微分方程,如热传导方程、波动方程等。
- 数值逼近:对于一些复杂的函数,难以直接进行计算和处理,需要用简单的函数(如多项式函数、三角函数等)来逼近。比如在计算机图形学中,用多项式曲线来逼近复杂的图形轮廓。
- 数值积分与微分:计算定积分的值以及函数的导数的数值近似。在物理中计算物体的质心、转动惯量等问题时,常需要进行数值积分;在分析信号的变化率等问题时,需要数值微分。
- 线性代数问题:像求解线性方程组(Ax = b),其中(A)是系数矩阵,(x)是未知数向量,(b)是常数向量;以及求矩阵的特征值和特征向量等问题。在结构力学、电路分析等领域有广泛应用。
数值分析的作用
- 科学研究:在物理学、化学、天文学等学科中,许多问题无法得到精确的解析解,数值分析提供了一种有效的求解途径。比如在计算天体力学中行星的轨道时,通过数值方法可以得到满足一定精度要求的轨道数据。
- 工程技术:在航空航天、机械制造、电子工程等领域,数值分析用于设计和优化。例如在飞机机翼的设计中,通过数值模拟计算气流在机翼表面的流动情况,以优化机翼的形状和结构。
- 经济金融:用于风险评估、投资组合优化、期权定价等。如利用数值方法求解布莱克-斯科尔斯期权定价模型,为金融市场的交易和风险管理提供重要依据。
- 数据分析与处理:在大数据时代,数值分析在数据拟合、数据插值、数据压缩等方面发挥着重要作用。例如在气象数据处理中,通过数值方法对离散的气象观测数据进行插值和拟合,得到连续的气象场分布。
数值分析的特点
- 近似性:由于计算机的字长有限等原因,数值分析得到的结果通常是近似解。例如对无理数(\pi),在计算机中只能用有限位小数来表示,计算结果必然存在一定的误差。
- 递推性:很多数值算法都采用递推的方式进行计算,通过已知的结果逐步推出后续的结果。如在计算斐波那契数列时,利用(F(n)=F(n - 1)+F(n - 2))的递推关系,从初始值(F(0)=0),(F(1)=1)开始逐步计算出后续的项。
- 稳定性:数值算法的稳定性至关重要,如果一个算法在计算过程中对初始数据的微小扰动非常敏感,导致结果出现很大偏差,那么这个算法就是不稳定的。例如在求解线性方程组时,有的算法可能因为系数矩阵的某些特性而出现数值不稳定的情况。
- 高效性:需要在有限的时间和计算资源下得到满足精度要求的结果。因此,设计高效的算法是数值分析的重要任务之一。比如在矩阵乘法中,Strassen算法通过分治思想,减少了乘法运算的次数,提高了计算效率。
1.2 数值计算的误差
误差分类
误差与有效数字
绝对误差:简称误差,设 x x x为准确值, x ∗ x^* x∗为 x x x的一个近似值,称 e ∗ = x ∗ − x e^*=x^*-x e∗=x∗−x为绝对误差。
绝对误差限: ∣ e ∗ ∣ = ∣ x ∗ − x ∣ ⩽ ϵ ( x ∗ ) |e^*|=|x^*-x|\leqslant\epsilon(x^*) ∣e∗∣=∣x∗−x∣⩽ϵ(x∗), ϵ ( x ∗ ) \epsilon(x^*) ϵ(x∗)称绝对误差限。
相对误差: e r ∗ = x ∗ − x x ∗ = e ∗ x ∗ e_{r}^{*}=\frac{x^*-x}{x^*}=\frac{e^*}{x^*} er∗=x∗x∗−x=x∗e∗
相对误差限: ∣ ϵ r ( x ∗ ) ∣ = ∣ ϵ ( x ∗ ) x ∗ |\epsilon_r(x^*)|=|\frac{\epsilon(x^*)}{x^*} ∣ϵr(x∗)∣=∣x∗ϵ(x∗)|
有效数字:若近似值 x ∗ x^* x∗的误差限是一位的半个单位,该位到 x ∗ x^* x∗的第一位非零数字共 n n n位,就说 x ∗ x^* x∗有 n n n位有效数字。
相对误差比值: ∣ x f ′ f ∣ |\frac{xf^{'}}{f}| ∣fxf′∣
- 容易得到以下定理:
- 四舍五入得到的数据,其有效位数的确定方法如下:从左边第一个非零数字起,到末位数字止,所有的数字,包括 0 0 0,都是这个数的有效数字。
- 设近似数 x ∗ x^* x∗表示为:
x ∗ = ± 1 0 m ( ∑ i = 1 l a i × 1 0 − l + 1 ) x^*=\pm10^m(\sum_{i=1}^{l}a_i\times10^{-l+1}) x∗=±10m(i=1∑lai×10−l+1)
且 x ∗ x^* x∗具有 n n n位有效数字,则其相对误差限满足以下关系: ϵ r ( x ∗ ) ⩽ 1 2 a 1 × 1 0 − ( n − 1 ) \epsilon_r(x^*)\leqslant\frac{1}{2a_1}\times10^{-(n - 1)} ϵr(x∗)⩽2a11×10−(n−1)。 - ϵ r ( x ∗ ) ⩽ 1 2 ( a 1 + 1 ) × 1 0 − ( n − 1 ) \epsilon_r(x^*)\leqslant\frac{1}{2(a_1+1)}\times10^{-(n - 1)} ϵr(x∗)⩽2(a1+1)1×10−(n−1),则 x ∗ x^* x∗至少具有 n n n位有效数字。
数值运算的误差估计
ϵ ( ∑ i = 1 n ( ± ) x i ∗ ) ⩽ ∑ i = 1 n ϵ ( x i ∗ ) \epsilon(\sum_{i=1}^{n}(\pm)x_{i}^{*})\leqslant\sum_{i=1}^{n}\epsilon(x_{i}^{*}) ϵ(i=1∑n(±)xi∗)⩽i=1∑nϵ(xi∗)
ϵ ( ∏ i = 1 n x i ∗ ) ⩽ ∑ j = 1 n ( ϵ ( x j ∗ ) ∏ i = 1 , i ≠ j n ∣ x i ∗ ∣ ) \epsilon(\prod_{i=1}^{n}x_{i}^{*})\leqslant\sum_{j=1}^{n}(\epsilon(x_{j}^{*})\prod_{i=1,i\neq j}^{n}|x_{i}^{*}|) ϵ(i=1∏nxi∗)⩽j=1∑n(ϵ(xj∗)i=1,i=j∏n∣xi∗∣)
ϵ ( f ( x ∗ ) ) = ∣ d f ( x ∗ ) d x ∣ ϵ ( x ∗ ) \epsilon_(f(x^*))=|\frac{df(x^*)}{dx}|\epsilon(x^{*}) ϵ(f(x∗))=∣dxdf(x∗)∣ϵ(x∗)
ϵ ( f ( x ∗ , y ∗ ) ) ≈ ( ∂ f ∂ x ) 2 ϵ 2 ( x ∗ ) + ( ∂ f ∂ y ) 2 ϵ 2 ( y ∗ ) \epsilon(f(x^*, y^*))\approx\sqrt{\left(\frac{\partial f}{\partial x}\right)^2\epsilon^2(x^*)+\left(\frac{\partial f}{\partial y}\right)^2\epsilon^2(y^*)} ϵ(f(x∗,y∗))≈(∂x∂f)2ϵ2(x∗)+(∂y∂f)2ϵ2(y∗)
1.3 算法举例
秦九韶算法求多项式值
开根号迭代算法
牛顿切线
加权平均的松弛技术
相关文章:
数值分析与科学计算导引——误差与算法举例
文章目录 第一章 数值分析与科学计算导引1.1 数值分析的对象、作用与特点数值分析的对象数值分析的作用数值分析的特点 1.2 数值计算的误差误差分类误差与有效数字数值运算的误差估计 1.3 算法举例秦九韶算法求多项式值开根号迭代算法牛顿切线加权平均的松弛技术 第一章 数值分…...
ubuntu安装docker 无法拉取问题
sudo docker run hello-world [sudo] ubuntu 的密码: Unable to find image hello-world:latest locally docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awai…...
【C++项目】Rpc通信框架设计
目录 Rpc远程调用的思想 项目框架设计 服务端模块划分 网络通信模块 Network 应用层通信协议模块 Protocol 消息分发处理模块 Dispatcher 远程调用路由功能模块 RpcRouter 编辑 发布订阅功能模块 Publish-Subscribe 服务注册/发现/上线/下线功能模块 Registry-Disc…...
八股取士--dockerk8s
一、Docker 基础 Docker 和虚拟机的区别是什么? 答案: 虚拟机(VM):虚拟化硬件,每个 VM 有独立操作系统,资源占用高,启动慢。Docker:容器化应用,共享宿主机内核…...
Autojs: 使用 SQLite
例子 let db new SQLiteUtil("/sdcard/A_My_DB/sqlite.db");db.fastCreateTable("user_table",{name: "",online: false,},["name"] // 设置 name 为唯一, 重复项 不会添加成功 );// 新增数据的 ID let row_id db.insert("use…...
思科、华为、H3C常用命令对照表
取消/关闭 思科no华为undo华三undo 查看 思科show华为display华三display 退出 思科exit华为quit华三quit 设备命名 思科hostname华为sysname华三sysname 进入全局模式 思科enable、config terminal华为system-view华三system-view 删除文件 思科delete华为delete华…...
解决 `pip is configured with locations that require TLS/SSL` 错误
问题描述 在使用 pip 安装 Python 包时,可能会遇到以下错误: WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.这意味着 Python 的 ssl 模块未正确安装或配置,导致 p…...
2025-arXiv-OmniThink:通过思考扩展机器写作的知识边界
arXiv | https://arxiv.org/abs/2501.09751 GitHub | https://github.com/zjunlp/OmniThink 项目主页 | https://zjunlp.github.io/project/OmniThink/ ModelScope 在线 Demo | https://www.modelscope.cn/studios/iic/OmniThink 摘要: 大语言模型驱动的机器写作通…...
【广州大学主办,发表有保障 | IEEE出版,稳定EI检索,往届见刊后快至1个月检索】第二届电气技术与自动化工程国际学术会议 (ETAE 2025)
第二届电气技术与自动化工程国际学术会议 (ETAE 2025) The 2nd International Conference on Electrical Technology and Automation Engineering 大会官网:http://www.icetae.com/【更多详情】 会议时间:2025年4月25-27日 会议地点:…...
机器学习:01数学基础教程
函数 极限 按照一定次数排列的一列数:“,“,…,"…,其中u 叫做通项。 对于数列{Un}如果当n无限增大时,其通项无限接近于一个常数A,则称该数列以A为极限或称数列收敛于A,否则称数列为发散, 极限值 左…...
仿叮咚买菜鸿蒙原生APP
# DingdongShopping 这是一个原生鸿蒙版的仿叮咚买菜APP项目 鸿蒙Next发布至今已经有一年多的时间了,但有时候我们想要实现一些复杂的功能或者效果,在开发文档上查阅一些资料还是比较费时的,有可能还找不到我们想要的内容。而社会层面上分享…...
WordPress“更新失败,响应不是有效的JSON响应”问题的修复
在使用WordPress搭建网站时,许多人在编辑或更新文章时,可能会遇到一个提示框,显示“更新失败,响应不是有效的JSON响应”。这个提示信息对于不了解技术细节的用户来说,太难懂。其实,这个问题并不复杂&#x…...
kotlin的onFailure: () -> Unit
在Kotlin中,onFailure: () -> Unit表示一个没有参数且返回类型为Unit的函数。 在Kotlin中,Unit类型用于表示那些没有返回值的函数。具体来说,() -> Unit表示一个没有参数的函数,其返回类型为Unit。这种函数通常用于表示…...
通过网线将Keysight DSOX4154A示波器信号传输至电脑的Step
一、硬件连接 连接网线 使用标准以太网线(Cat5e或更高)连接示波器背面的 LAN端口 至电脑或同一局域网的交换机/路由器。 二、示波器网络配置 进入网络设置菜单 点击示波器前面板右上角 【Utility】 → 【I/O】 → 【LAN Settings】。 配置IP地址 自…...
midjourney 一 prompt 提示词
midjourney 不需要自然语言的描述,它只需要关键词即可。 一个完整的Midjourney prompt通常包括三个部分 图片提示(Image Prompts)、文本提示(Text Prompt)和参数(Parameters)。 1、图片提示(…...
微信小程序 - 网络请求基础路径集中管理(基础路径集中管理策略、动态切换基础路径)
一、基础路径集中管理 在微信小程序项目开发中,经常会将请求的基础路径集中管理 这样可以避免在多个页面中重复定义,同时也方便后续维护与修改 二、基础路径集中管理策略 1、使用全局变量 微信小程序提供了 App 对象,可以在 app.js 中定义…...
C#的委托delegate与事件event
在C#中,delegate(委托)和 event(事件)是两个非常重要的概念,它们主要用于实现回调机制和事件驱动编程。下面详细介绍它们的原理和使用场景。 1. Delegate(委托) 1.1 委托的原理 委托…...
apache artemis安装
安装apache artemis https://xxzkid.github.io/2025/apache-artemis-install...
Lightning基础训练尝试实例
一、训练任务概述 动机:由于后续的课题中会用到类似图像去噪的算法,考虑先用U-Net,这里做一个前置的尝试。 训练任务:分割出图像中的细胞。 数据集:可私 数据集结构: 二、具体实现 U-Net的网络实现是现…...
osgearth视点坐标及鼠标交点坐标的信息显示(七)
核心函数如下: void COSGObject::addViewPointLabel() {//mRoot->addChild(osgEarth::Util::Controls::ControlCanvas::get(mViewer));//放开这句,球就卡住了。 为什么,shitosgEarth::Util::Controls::ControlCanvas* canvas = osgEarth::Util::Controls::ControlCanvas…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
