数值分析学习笔记——误差【华科B站教程版本】

news2024/11/18 14:00:28

误差

误差:一个物理量的真实值与计算值之间的误差

误差来源与分类

  • 模型误差:对问题所抽象出来的数学/物理模型是误差的,比如要有一些假设条件才进行理论的推导
  • 观测误差:测量得到的模型的参数的值的误差
  • 方法误差(截断误差):求近似解的方法的误差
  • 舍入误差:计算机字长有限,例如计算机所存储的PI值和实际的PI值之间是有误差的、浮点数误差

在使用数值方法解决问题的时候,要重点考虑方法误差和舍入误差

案例:近似计算 ∫ 0 1 e − x 2 d x \int_0^1{e^{-x^2}}dx 01ex2dx

【值范围估计】

在这里插入图片描述

【数值方法计算】

在这里插入图片描述

从上面可知,数值计算所得到定积分的值是0.743,且该值与原定积分值(0.747… …)的误差不超过0.006

误差的传播与积累

有一个天气预报程序,有下面两种计算方式

  • 直接演算完两周的变化过程,得到最终的结果
  • 先计算一周的变化过程,然后将数据存储下来,接着计算第二周的变化过程

上面两种方式得到的结果可能天差地别,因为中途将数据输出为文件时需要对数字取有限的位数,这就出现了舍入误差,这个误差随着积累越来越大,最终造成两种方式所求得的结果差异较大

在这里插入图片描述

对于一些病态问题,可能一开始只是有一点小误差,但是随着计算过程的积累,最后所得到的结果会有巨大的失真

案例

在这里插入图片描述

方法一

在这里插入图片描述

在这里插入图片描述

【算法稳定性分析】

在这里插入图片描述

方法二

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

误差是不可回避的,在使用一个算法之前,需要先分析算法的稳定性

绝对误差与相对误差

绝对误差

在这里插入图片描述

相对误差

使用绝对误差不太容易衡量误差的大小,用相对误差转化为百分比的数更容易看出来

在这里插入图片描述

有效数字

有效数字位数:从小数点的最后一位开始数,数到最前面不为零的数字,如0.1的有效数字位数是1,1.1的有效数字位数是2

在这里插入图片描述

上面内容的数学描述如下:

在这里插入图片描述

案例

在这里插入图片描述

在这里插入图片描述

12300应该写成,0.12300x10^5,这样有效数字的位数才是不变的

有效数字与相对误差限

有效数字推导相对误差限

在这里插入图片描述

相对误差限推导有效数字

在这里插入图片描述

案例

在这里插入图片描述

函数的误差估计

在这里插入图片描述

在这里插入图片描述

案例(1)

在这里插入图片描述

案例(2)

在这里插入图片描述

算法设计的注意事项

在算法设计的时候需要考虑误差的传播和累积,在使用计算机进行实现的时候需要注意如下方面:

避免相近的两个数相减

在这里插入图片描述

避免分母太小(会造成浮点溢出)

尽量不要用大数除以小数,不然数字很大,计算机字长有限,舍入误差较大

避免大数吃小数

避免 大数和小数 之间 相加或者相减

在这里插入图片描述

在这里插入图片描述

求和时 从小到大 相加,可以使得 和的误差 减小

如果想用大数 加 小数,可能会出现大数吃小数的情况

在这里插入图片描述

先化简再计算,避免误差累积

一般来说,计算机处理下列运算的速度为 加减>乘除>exp(),可以先尽量将运算化简为 加减、乘除,再进行计算

选用稳定的算法

说明

文章为本人学习网上课程的学习笔记,课程的链接为 《数值分析》2020年春季华中科技大学研究生课程 46讲合辑,文章中大部分图片来源于课程截图,部分图片中加上了本人的理解标注,如有侵权,麻烦联系删除,最后对老师的课程表示衷心的感谢。

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

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

相关文章

React项目部署 - Nginx配置

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

保险业SAP转型:奠定坚实的基础

保险业面临着许多新的挑战:从新的市场参与者到人工智能和物联网。如何在这种快节奏的现实中满足客户的需求,降低成本,加速增长?首先,让我们考虑一下数字化转型成功是什么样子的,以及如何实现它。在这篇文章…

Python 列表推导式深入解析

Python 列表推导式深入解析 列表推导式是 Python 中的一种简洁、易读的方式,用于创建列表。它基于一个现有的迭代器(如列表、元组、集合等)来生成新的列表。 基本语法: 列表推导式的基本形式如下: [expression for…

HJ33整数与IP地址间的转换

描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 000…

程序三高的方法

程序三高的方法 目录概述需求: 设计思路实现思路分析1.1)高并发 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,c…

【SpringBoot】多环境配置和启动

环境分类,可以分为 本地环境、测试环境、生产环境等,通过对不同环境配置内容,来实现对不同环境做不同的事情。 SpringBoot 项目,通过 application-xxx.yml 添加不同的后缀来区分配置文件,启动时候通过后缀启动即可。 …

[架构之路-231]:计算机硬件与体系结构 - 性能评估汇总,性能优化加速比

目录 一、计算机体系结构 二、计算机性能评估 2.1 分类方法1 2.2 分类方法2 三、常见的专项性能测试工具 3.1 浮点运算性能(FLOPS) 3.2 综合理论性能法 3.3 历史基准测试(跑分软件):通过运行典型的综合性的程序…

012-第二代硬件选型

第二代硬件选型 文章目录 第二代硬件选型项目介绍重新换平台缘由X86 && Arm 架构切换 ARM Linux 硬件选型系统确定Qt 版本确定总结一下 关键字: Qt、 Qml、 Arm、 X86、 linux 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QM…

Java笔记七(封装,继承与多态)

封装 该露的露,该藏的藏 程序设计追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用 封装(数据的隐藏) 通常,…

mysql面试题20:有哪些合适的分布式主键方案

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:有哪些合适的分布式主键方案? UUID:UUID通常是由一个二进制的128位整数表示,可以保证全局的唯一性。在Java中,可以通过UUID类生成一个UUID。例…

《计算机视觉中的多视图几何》笔记(13)

13 Scene planes and homographies 本章主要讲述两个摄像机和一个世界平面之间的射影几何关系。 我们假设空间有一平面 π \pi π,平面上的一点为 x π x_{\pi} xπ​。 x π x_{\pi} xπ​分别在两幅图像 P , P ′ P, P P,P′上形成了 x , x ′ x, x x,x′。 那…

基于Java的流浪动物救助平台设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

安卓教材学习

文章目录 教材学习第一行代码 Android 第3版环境配置gradle配置下载包出现问题 教材学习 摘要:选了几本教材《第一行代码 Android 第3版》,记录一下跑案例遇到的问题,和总结一些内容。 第一行代码 Android 第3版 环境配置 gradle配置 gradl…

全志ARM926 Melis2.0系统的开发指引⑥

全志ARM926 Melis2.0系统的开发指引⑥ 编写目的9. 系统启动流程9.1. Shell 部分9.2.Orange 和 desktop 部分9.3. app_root 加载部分9.4. home 加载部分 10. 显示相关知识概述10.1. 总体结构10.2. 显示过程10.3. 显示宽高参数关系 -. 全志相关工具和资源-.1 全志固件镜像修改工具…

【网站】让自己的个人主页能被Google检索

参考: https://zhuanlan.zhihu.com/p/129022264

计算机毕业设计 基Javaweb的校园订餐系统的设计与实现Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

C++设计模式-生成器(Builder)

目录 C设计模式-生成器(Builder) 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-生成器(Builder) 一、意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、…

全志ARM926 Melis2.0系统的开发指引⑤

全志ARM926 Melis2.0系统的开发指引⑤ 编写目的8. 固件修改工具(ImageModify)使用8.1.界面说明8.2.操作步骤8.2.1. 配置平台8.2.2. 选择固件8.2.3. 选择要替换的文件8.2.4. 替换文件8.2.5. 保存固件 8.3.注意事项8.4.增加固件修改权限设置8.4.1. 概述8.4.2. 操作说明8.4.2.1.打…

字符串函数的模拟实现

引言:对于字符串来说,我们通常想要对其完成各种各样的目的,不管是排序还是查找都是最普遍的功能,而我们的C语言中也包含着一系列函数是为了实现对字符串的一些功能,今天我们就来介绍他们。 strlen函数: 求字…

基于SpringBoot的车辆管理系统

目录 前言 一、技术栈 二、系统功能介绍 员工信息管理 证件信息管理 车辆信息管理 事故登记管理 事故登记 保养登记 违章登记 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实…