中国高校课件下载中心 》 教学资源 》 大学文库

南京大学:《计算方法 Numerical method》课程教学资源(课件讲稿)浮点数、求解方程的根(主讲:刘景铖)

文档信息
资源类别:文库
文档格式:PDF
文档页数:28
文件大小:2.02MB
团购合买:点击进入团购
内容简介
南京大学:《计算方法 Numerical method》课程教学资源(课件讲稿)浮点数、求解方程的根(主讲:刘景铖)
刷新页面文档预览

浮点数误差 数学公式上的准确,在数值计算中未必准确 double x=0.3*3+0.1; double y=1.0; if(x==y)cout<<“Equal"; else cout<<"Not equal"; A common fix:使用abs(x-y)<eps作为浮点数相等的测试 5

浮点数误差 数学公式上的准确,在数值计算中未必准确 double x=0.3*3 + 0.1; double y=1.0; if (x==y) cout<<“Equal”; else cout<<“Not equal”; A common fix: 使用 abs(x-y)<eps 作为浮点数相等的测试 5

浮点数误差 浮点数误差可能积累 以计算向量x[的欧氏长度为例 for (int i=0;i<n;i++)sum+=x[i]*x[i]; return sqrt(sum); 更好的做法: maxElement=max(x[i]);y[i]=x[i]/maxElement; for (int i=0;i<n;i++)sum+=y[i]*y[i]; return sqrt(sum)*maxElement; 更一般地,可以使用Kahan summation(compensated summation) 6

浮点数误差 浮点数误差可能积累 以计算向量x[i]的欧氏长度为例 for (int i=0; i < n; i++) sum+=x[i]*x[i]; return sqrt(sum); 更好的做法: 令maxElement=max(x[i]); y[i]=x[i]/maxElement; for (int i=0; i < n; i++) sum+=y[i]*y[i]; return sqrt(sum) * maxElement; 更一般地,可以使用Kahan summation (compensated summation) 6

浮点数误差 "Z-fighting"Source:Microsoft Azure remote rendering 7

浮点数误差 7 “Z-fighting” Source: Microsoft Azure remote rendering

计算方法 ·计算方法并不仅仅是这些“小技巧” ·作为一门学科,它有着一系列的核心思想: 一收敛性:能合理近似的算法,至少需要收敛 一复杂性 -条件性(鲁棒性) 一压缩性 一正交性 误差与偏差,也不仅仅来源于浮点数或离散化处理 8

计算方法 • 计算方法并不仅仅是这些“小技巧” • 作为一门学科,它有着一系列的核心思想: – 收敛性:能合理近似的算法,至少需要收敛 – 复杂性 – 条件性 (鲁棒性) – 压缩性 – 正交性 – …… • 误差与偏差,也不仅仅来源于浮点数或离散化处理 8

数学建模与计算建模 回顾:物理中的理想气体、光滑表面等等假设 All models are wrong,but some are useful 2.3 Parsimony Since all models are wrong the scientist cannot obtain a"correct"one by excessive elaboration.On the contrary following William of Occam he should seek an economical description of natural phenomena.Just as the ability to devise simple but evocative models is the signature of the great scientist so overelaboration and overparameteriza- tion is often the mark of mediocrity. 2.4 Worrying Selectively Since all models are wrong the scientist must be alert to what is importantly wrong.It is inappropriate to be con- cerned about mice when there are tigers abroad. Box,George E.P.(1976),"Science and statistics"(PDF),Journal of the American Statistical Association 如何定量地研究这些偏差? 9

数学建模与计算建模 • 回顾:物理中的理想气体、光滑表面等等假设 • All models are wrong, but some are useful Box, George E. P. (1976), "Science and statistics" (PDF), Journal of the American Statistical Association 9 如何定量地研究这些偏差?

一个定量分析的简单例子 。 给定函数f ·输入:x+△x 计算:f(x) f(x+△x)-f(x)≈△xf'(x) (中值定理) 设f∈C1[x,x+△x],则]ξ∈(x,x+△x), f(x+△x)-f(x)=△x·f'(ξ) 10

一个定量分析的简单例子 • 给定函数� • 输入: � + Δ� • 计算:�(�) � � + Δ� − � � ≈ Δ� �′(�) (中值定理) 设� ∈ �![�, � + Δ�], 则∃� ∈ �, � + Δ� , � � + Δ� − � � = Δ� ⋅ �′(�) 10

一个定量分析的简单例子 给定函数f 。 绝对误差 输入:x+△x 计算:f(x) f(x+△x)-f(x)≈△xf'(x) (中值定理) 设f∈C1[x,x+△x],则]ξ∈(x,x+△x), f(x+△x)-f(x)=△x·f'() 11

一个定量分析的简单例子 • 给定函数� • 输入: � + Δ� • 计算:�(�) � � + Δ� − � � ≈ Δ� �′(�) (中值定理) 设� ∈ �![�, � + Δ�], 则∃� ∈ �, � + Δ� , � � + Δ� − � � = Δ� ⋅ �′(�) 11 绝对误差

一个定量分析的简单例子 ·给定函数f ·输入:x+△x 。 计算:f(x) f(x+△x)-f(x)≈△xf'(x) 绝对误差的放大比例≈f'(x) ·f'(x)引>1? ·f'(x)川<1? ·数值稳定性,既可能来自于的选取,也取决于问题本 身的性质(混沌) 12

一个定量分析的简单例子 • 给定函数� • 输入: � + Δ� • 计算:�(�) � � + Δ� − � � ≈ Δ� �′(�) 绝对误差的放大比例 ≈ �′(�) • �! � > 1? • �! � < 1? • 数值稳定性,既可能来自于f的选取,也取决于问题本 身的性质(混沌) 12

一个定量分析的简单例子 ·给定函数f ·输入:x+△x 相对误差: Ax 。计算:f(x) f(x+△x)-f(x)≈△xf'(x) 相对误差的放大比例≈条件数:=' f(x) ·如果f不可导呢?或者f'(x)难以直接控制? 13

一个定量分析的简单例子 • 给定函数� • 输入: � + Δ� • 计算:�(�) � � + Δ� − � � ≈ Δ� �′(�) 相对误差的放大比例 ≈ 条件数:= !"#(!) "(!) • 如果�不可导呢?或者�′(�) 难以直接控制? 13 相对误差: !"

吸 现代科学与工业界中的计算任务 一、插值与拟合 ·预测天体运动轨迹 ·工业设计 ·计算机动画 Source:Wikipedia CC BY-SA

现代科学与工业界中的计算任务 一、插值与拟合 • 预测天体运动轨迹 • 工业设计 • 计算机动画 Source: Wikipedia CC BY-SA

共28页,试读已结束,阅读完整版请下载
刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档