数值分析与科学计算导引——误差与算法举例

文章目录

  • 第一章 数值分析与科学计算导引
    • 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=xx绝对误差
绝对误差限 ∣ e ∗ ∣ = ∣ x ∗ − x ∣ ⩽ ϵ ( x ∗ ) |e^*|=|x^*-x|\leqslant\epsilon(x^*) e=xxϵ(x), ϵ ( x ∗ ) \epsilon(x^*) ϵ(x)绝对误差限
相对误差 e r ∗ = x ∗ − x x ∗ = e ∗ x ∗ e_{r}^{*}=\frac{x^*-x}{x^*}=\frac{e^*}{x^*} er=xxx=xe
相对误差限 ∣ ϵ 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

  • 容易得到以下定理:
  1. 四舍五入得到的数据,其有效位数的确定方法如下:从左边第一个非零数字起,到末位数字止,所有的数字,包括 0 0 0,都是这个数的有效数字。
  2. 设近似数 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=1lai×10l+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(n1)
  3. ϵ 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(n1),则 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=1n(±)xi)i=1nϵ(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=1nxi)j=1n(ϵ(xj)i=1,i=jnxi)
ϵ ( 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))(xf)2ϵ2(x)+(yf)2ϵ2(y)

1.3 算法举例

秦九韶算法求多项式值

开根号迭代算法

牛顿切线

加权平均的松弛技术

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

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

相关文章

【在时光的棋局中修行——论股市投资的诗意哲学】

在时光的棋局中修行——论股市投资的诗意哲学 引子:数字之海与星辰之约 在经纬交织的K线图里,我常看见银河倾泻的轨迹。那些跳动的数字如同繁星坠落,在午夜时分编织着财富的密码。炒股之道,是理性与诗意的交响,是数据…

线上项目报错OOM常见原因、排查方式、解决方案

概述 OutOfMemoryError(OOM)是 Java 应用程序中常见的问题,通常是由于应用程序占用的内存超过了 JVM 分配的最大内存限制。在 Spring Boot 项目中,OOM 问题可能由多种原因引起。 1. OOM 的常见原因 OOM 通常由以下几种情况引起&…

java练习(27)

ps:练习来自力扣 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 代码来自官方题解 class Solution {public ListNode deleteDuplicates(ListNode head) {//…

Flutter:动态表单(在不确定字段的情况下,生成动态表单)

关于数据模型:模型就是一种规范约束,便于维护管理,在不确定表单内会出现什么数据时,就没有模型一说。 这时就要用到动态表单(根据接口返回的字段,生成动态表单) 1、观察数据格式,定义…

洛谷P8707 [蓝桥杯 2020 省 AB1] 走方格

#include <iostream> using namespace std; int f[31][31]; int main(){int n,m;scanf("%d%d",&n,&m);f[1][1]1;//边界&#xff1a;f(1,1)1for(int i1;i<n;i)for(int j1;j<m;j)if((i&1||j&1)&&(i!1||j!1))//i,j不均为偶数&#…

ASP.NET Core Web应用(.NET9.0)读取数据库表记录并显示到页面

1.创建ASP.NET Core Web应用 选择.NET9.0框架 安装SqlClient依赖包 2.实现数据库记录读取: 引用数据库操作类命名空间 创建查询记录结构类 查询数据并返回数据集合 3.前端遍历数据并动态生成表格显示 生成结果:

解决 Linux 中搜狗输入法导致系统崩溃的问题【fcitx 】【ibus】

在 Linux 系统中安装搜狗输入法时&#xff0c;有时会遇到一些令人头疼的问题。最近&#xff0c;我在安装搜狗输入法后&#xff0c;系统出现了崩溃的情况。具体表现为输入密码登录后&#xff0c;界面卡死&#xff0c;无法正常进入系统。经过一番排查和分析&#xff0c;我终于找到…

如何做好项目变更管理

项目变更管理是确保项目按时、按预算和按质量要求完成的关键环节之一。有效的项目变更管理包括&#xff1a;变更识别、变更评审、变更批准和变更实施。这些步骤确保项目在面对变化时能够高效应对&#xff0c;避免资源浪费、时间延误和预算超支。其中&#xff0c;变更评审和变更…

HarmonyOS-ArkTS基础快速入门

目录 ArkTS 快速入门 ArkTS 快速入门 如图&#xff0c;index.etc里面的内容&#xff08;图中框住的大长方形区域&#xff09;会渲染到预览区中&#xff0c;而console.log(xx,xxx)用于内容的打印&#xff0c;需要在日志中查看打印的内容

【设计模式】【结构型模式】桥接模式(Bridge)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f44d; 欢迎点赞、收藏、关注&#xff0c;跟上我的更新节奏 &#x1f3b5; 当你的天空突…

深度学习(1)-简单神经网络示例

我们来看一个神经网络的具体实例&#xff1a;使用Python的Keras库来学习手写数字分类。在这个例子中&#xff0c;我们要解决的问题是&#xff0c;将手写数字的灰度图像&#xff08;28像素28像素&#xff09;划分到10个类别中&#xff08;从0到9&#xff09;​。我们将使用MNIST…

深入探索 C++17 中的 std::hypot:从二维到三维的欧几里得距离计算

文章目录 1. std::hypot 的起源与背景2. 三维空间中的 std::hypot3. 为什么需要 std::hypot 而不是手动计算&#xff1f;4. 使用 std::hypot 的示例4.1 二维空间中的应用4.2 三维空间中的应用4.3 处理浮点数溢出问题 5. std::hypot 的性能与精度6. 实际应用场景6.1 计算机图形学…

面基Spring Boot项目中实用注解一

在Spring Boot项目中&#xff0c;实用注解根据功能可以分为多个类别。以下是常见的注解分类、示例说明及对比分析&#xff1a; 1. 核心配置注解 SpringBootApplication 作用&#xff1a;标记主启动类&#xff0c;组合了Configuration、EnableAutoConfiguration和ComponentScan…

【每日论文】Latent Radiance Fields with 3D-aware 2D Representations

下载论文或阅读原文&#xff0c;请点击&#xff1a;每日论文 摘要 中文 潜在3D重建技术在赋予3D语义理解和3D生成能力方面展现出巨大的潜力&#xff0c;它通过将2D特征提炼到3D空间来实现。然而&#xff0c;现有的方法在2D特征空间和3D表示之间的领域差距问题上挣扎&#xff…

CPP集群聊天服务器开发实践(七):Github上传项目

github链接&#xff1a;GitHub - arduino-ctrl/ClusterServer: 基于jsonmuduomysqlnginxredis的集群服务器与客户端通信源码 步骤如下&#xff1a; 1. github新建代码仓库&#xff0c;复制url 2. git clone https://github.com/arduino-ctrl/ClusterServer.git 3. 将项目文件…

作业。。。。。

顺序表按元素删除 参数&#xff1a;删除元素&#xff0c;顺序表 1.调用元素查找的函数 4.根据下表删除 delete_sub(list,sub); //删除元素 void delete_element(int element, Sqlist *list) …

二、从0开始卷出一个新项目之瑞萨RZT2M双核架构通信和工程构建

一、概述 RZT2M双核架构是同构多核&#xff0c;但双核针对不同应用 扩展多核架构和通信知识可参见嵌入式科普(30)一文看懂嵌入式MCU/MPU多核架构与通信 二、参考资料 用户手册&#xff1a;RZ/T2M Group Users Manual: Hardware R52内核手册&#xff1a;arm_cortex_r52_proc…

【HF设计模式】07-适配器模式 外观模式

声明&#xff1a;仅为个人学习总结&#xff0c;还请批判性查看&#xff0c;如有不同观点&#xff0c;欢迎交流。 摘要 《Head First设计模式》第7章笔记&#xff1a;结合示例应用和代码&#xff0c;介绍适配器模式和外观模式&#xff0c;包括遇到的问题、采用的解决方案、遵循…

RDMA 高性能通信技术原理

目录 文章目录 目录DMA 与 RDMARDMA 特性和优势大带宽低延时 RDMA 协议栈标准RDMA 运行原理通信通路通信模型通信方式内存注册QP 建链常规流程双向控制 Send-Receive API 流程单向数据 Write API 流程单向数据 Read API 流程 RDMA Verbs API 编程基础网络连通性RDMA C/S 程序 D…

HCIA项目实践(网络)---NAT地址转化技术

十三 NAT网络地址转换技术 13.1 什么是NAT NAT&#xff08;Network Address Translation&#xff09;地址转换技术&#xff0c;是一种将内部网络的私有 IP 地址转换为外部网络的公有 IP 地址的技术。其主要作用是实现多个内部网络设备通过一个公有 IP 地址访问外部网络&#x…