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

误差

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

误差来源与分类

  • 模型误差:对问题所抽象出来的数学/物理模型是误差的,比如要有一些假设条件才进行理论的推导
  • 观测误差:测量得到的模型的参数的值的误差
  • 方法误差(截断误差):求近似解的方法的误差
  • 舍入误差:计算机字长有限,例如计算机所存储的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.hqwc.cn/news/125660.html

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

相关文章

矩阵的c++实现(2)

上一次我们了解了矩阵的运算和如何使用矩阵解决斐波那契数列&#xff0c;这一次我们多看看例题&#xff0c;了解什么情况下用矩阵比较合适。 先看例题 1.洛谷P1939 【模板】矩阵加速&#xff08;数列&#xff09; 模板题应该很简单。 补&#xff1a;1<n<10^9 10^9肯定…

计算机毕业设计 基于SSM的民宿推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解

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

【C语言经典100例题-70】求一个字符串的长度(指针)

代码 使用指针来遍历字符串&#xff0c;直到遇到字符串结尾的空字符\0为止&#xff0c;统计字符数量即为字符串长度。 #include<stdio.h> #define n 20 int getlength(char *a) {int len 0;while(*a!\0){len;a;}return len; } int main() {char *arr[n] { 0 };int l…

GPT系列论文解读:GPT-2

GPT系列 GPT&#xff08;Generative Pre-trained Transformer&#xff09;是一系列基于Transformer架构的预训练语言模型&#xff0c;由OpenAI开发。以下是GPT系列的主要模型&#xff1a; GPT&#xff1a;GPT-1是于2018年发布的第一个版本&#xff0c;它使用了12个Transformer…

(一)正点原子STM32MP135移植——准备

一、简述 使用板卡&#xff1a;正点原子的ATK-DLMP135 V1.2 从i.mx6ull学习完过来&#xff0c;想继续学习一下移植uboot和内核的&#xff0c;但是原子官方没有MP135的移植教程&#xff0c;STM32MP157的移植教程用的又是老版本的代码&#xff0c;ST官方更新后的代码不兼容老版本…

ARM底层汇编基础指令

汇编语言的组成 伪操作 不参与程序执行&#xff0c;但是用于告诉编译器程序怎么编译.text .global .end .if .else .endif .data 汇编指令 编译器将一条汇编指令编译成一条机器码&#xff0c;在内存里一条指令占4字节内存&#xff0c;一条指令可以实现一个特定的功能 伪指令 不…

1.3.OpenCV技能树--第一单元--图像的基础操作(基础篇)

文章目录 1.文章内容来源2.图像的基本操作2.1.图像加载2.2.图像显示2.3.数据读取2.4.截取图像2.5.颜色通道提取2.5.1.保留红色处理2.5.2.保留绿色处理2.5.3.保留蓝色处理 3.易错点总结与反思 1.文章内容来源 1.题目来源: 2.资料来源:https://edu.csdn.net/skill/opencv/opencv…

网课搜题 小猿题库多接口微信小程序源码 自带流量主

多接口小猿题库等综合网课搜题微信小程序源码带流量主&#xff0c;网课搜题小程序, 可以开通流量主赚钱 搭建教程1, 微信公众平台注册自己的小程序2, 下载微信开发者工具和小程序的源码3, 上传代码到自己的小程序 源码下载&#xff1a;https://download.csdn.net/download/m0_…

计算机网络-计算机网络体系结构-物理层

目录 一、通信基础 通信方式 传输方式 码元 传输率 *二 准则 2.1奈氏准则(奈奎斯特定理) 2.2香农定理 三、信号的编码和调制 *数字数据->数字信号 数字数据->模拟信号 模拟数据->数字信号 模拟数据->模拟信号 *四、数据交换方式 电路交换 报文交换…

解密京东面试:如何应对Redis缓存穿透?

亲爱的小伙伴们&#xff0c;大家好&#xff01;欢迎来到小米的微信公众号&#xff0c;今天我们要探讨一个在面试中可能会遇到的热门话题——Redis缓存穿透以及如何解决它。这个话题对于那些渴望进入技术领域的小伙伴们来说&#xff0c;可是必备的哦&#xff01; 认识Redis缓存…

Apollo Planning2.0决策规划算法代码详细解析 (2): vscode gdb单步调试环境搭建

前言: apollo planning2.0 在新版本中在降低学习和二次开发成本上进行了一些重要的优化,重要的优化有接口优化、task插件化、配置参数改造等。 GNU symbolic debugger,简称「GDB 调试器」,是 Linux 平台下最常用的一款程序调试器。GDB 编译器通常以 gdb 命令的形式在终端…

基于SpringBoot的车辆管理系统

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