数值分析——第一章

本章介绍了数值分析的基础,包括数值分析在数学科学中的角色、计算数学与科学计算的关系、计算方法与计算机的结合,以及数值问题与算法的设计。重点讲解了误差的来源、分类、估计和避免误差危害的原则,同时提到了多项式求值的秦九韶算法和迭代法。此外,还介绍了MATLAB在数值计算中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

教材:数值分析 第5版 李庆扬 王能超 易大义

第一章——学习目标与要求

  • 了解数值计算方法研究的对象及特点;
  • 了解误差的来源及分类;
  • 掌握计算绝对误差、绝对误差限、相对误差、相对误差限、有效数字的方法;
  • 了解病态问题和条件数;
  • 了解数值算法的稳定性;
  • 掌握避免误差危害的若干原则
  • 掌握数值计算中算法设计的常用技术

二、正文内容

1.1.1 数学科学与数值分析

数值分析也称计算数学,是数学科学的一个分支,研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现,用计算机求解科学技术问题通常经历以下步骤:

  1. 根据实际问题建立数学模型
  2. 由数学模型给出数值计算方法
  3. 根据计算方法编制算法程序(数学软件)在计算机上算出结果

1.1.2 计算数学与科学计算

1.1.3 计算方法与计算机

1.1.4 数值问题与算法

能用计算机就算的“数值问题”是指输入数据(即问题中的自变量和原始数据)与输出数据(结果)之间函数关系的一个确定而无歧义的描述,输入输出数据可用有限维向量表示。

计算的基本单位是算法元,它由算子、输入元和输出元组成。

算子:简单操作,如算术运算(加减乘除)、逻辑运算、宏操作、向量运算、数组传输、基本初等函数求值......

输入元、输出元:若干变量/向量。

进程:算法元的有限序列,由一个或多个算法元组成。

一个数值问题的算法:按规定顺序执行一个或多个完整的进程,通过它们将输入元变换成一个输出元。

面向计算机的算法:串行算法(只有一个进程的算法)、并行算法(两个以上进程的算法)。

计算复杂性:计算时间复杂性、存储空间复杂性。

数值分析是研究数值问题的算法:面向计算机、有可靠的理论分析、有好的计算复杂性、有数值实验。

1.2.1 误差来源与分类

模型误差:数学模型与实际问题之间出现的误差。通常假定数学模型是合理的,误差忽略不计,不予讨论。

观测误差:由观测(物理量如温度、长度、电压等)产生的误差。不予讨论。

数值分析研究用数值方法求解数学模型产生的误差

截断误差/方法误差:近似解与精确解之间的误差。

舍入误差:由于计算机的字长有限,原始数据在计算机上表示时会产生误差,计算过程可能产生新的误差;由原始数据或机器中的十进制数转化为二进制数产生的初始误差。

误差估计问题:研究计算结果的误差是否满足精度要求

1.2.2 误差与有效数字

定义1        设x为准确值,x*为x的一个近似值,称e*=x*-x为近似值的绝对误差,简称误差。

近似值x*的误差e*:如定义1。

近似值x*的误差限\varepsilon*:误差的绝对值不超过某正数\varepsilon*,总是正数,不唯一但是越小越好,不能完全表示近似值的好坏。  

近似值x*的相对误差

### 关于良态问题、软件与系统行为 #### 定义良态问题 在计算机科学领域,“良态问题”通常指的是那些具有明确定义、可解性和有效解决方案的问题。这类问题的特点在于其输入和输出条件清晰,约束条件明确,并且可以通过已知算法或方法找到解决路径[^1]。 #### 良态问题与软件开发的关系 在软件工程中,许多阶段涉及处理良态问题。例如,在进行 **软件需求分析** 时,如果用户需求被充分理解并转化为具体的系统需求,则这些需求本身就可以视为一种良态问题[^3]。此时,开发者可以根据既定的标准和技术手段完成后续的设计、编码等工作。 然而,在实际项目实施过程中,由于存在诸如成本控制、时间进度安排等诸多不确定因素的影响,原本看似简单的任务可能会变得复杂起来。这便涉及到之前提到过的几个主要挑战——如费用管理、产品质量保障等方面的内容。 另外值得注意的是,尽管某些特定功能实现属于典型的良态范畴之内(比如计算圆周率),但在整个生命周期里还包括大量非结构化或者半结构化的决策过程(像团队沟通协调),它们并不总是遵循固定模式去执行操作。 #### 系统行为中的良态表现形式 当讨论到“系统行为”的时候,我们往往关注如何通过观察外部交互情况来判断内部运行机制是否正常工作。对于一个具有良好定义的状态转换模型的应用程序来说,它的每一个动作都应该对应唯一的结果集;而且这种映射关系必须保持稳定不变除非经过正式变更流程审批之后才会有所调整[^2]。 举个例子来看Process Hacker这款工具的功能特性:作为一个强大的进程监控平台,它可以精确展示当前操作系统下各个活动单元之间的关联状况,包括但不限于CPU占用比例、内存分配详情等等数据指标。假如某项服务突然出现了异常终止现象,那么借助该应用程序所提供的详尽日志记录功能就能够快速定位根本原因所在位置进而采取相应措施加以修复。 ```python import psutil def check_process_status(process_name): for proc in psutil.process_iter(['name', 'status']): if proc.info['name'] == process_name and proc.info['status'] != "running": return f"{process_name} is not running." return f"{process_name} is running." print(check_process_status("explorer.exe")) ``` 上述脚本利用Python库`psutil`实现了基本的进程状态查询功能,展示了如何编程获取目标进程中是否存在未处于活跃状态的情况。此代码片段体现了针对具体业务场景构建自动化诊断逻辑的一种实践方式,也是将抽象概念落地至工程技术层面的一个典型案例。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值