ImageVerifierCode 换一换
格式:PPTX , 页数:747 ,大小:12.83MB ,
资源ID:30873646      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30873646.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(现代数值计算-全套PPT课件.pptx)为本站会员(wj)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

现代数值计算-全套PPT课件.pptx

1、第一章科学计算与MATLAB,Advanced Numerical Computing现代数值计算,目录/Contents,第一章科学计算与MATLAB,第一节 科学计算的意义第二节 误差基础知识第三节 MATLAB软件,科学计算的出现利用现代计算机辅助,解决实际问题计算的挑战:基因测序,全球天气模拟科学计算问题的主要步骤数学建模数值算法评价科学计算软件MATLAB,http:/Mathematica,http:/Maple,http:/Python,http:/www.python.org,实际问题数学问题(模型误差)计算问题(截断误差、观测误差)结果(舍入误差),1.2.1 误差的来源,实

2、际问题,模型误差观测误差,舍入误差,数学模型数值算法截断误差编程处理,比较检验结果,设有真值,及近似值,称,为该近似值的绝对误差,1.2.2 误差度量,若,称为绝对误差限称为相对误差,称为相对误差限由于真值难以求出,通常也使用后者更加合理,十进制数的标准形式(其中,),1.2.3 有效数字,四舍五入保留位:,因此有误差限称为有效数字,称为有效数问题:有效数字和相对误差限有什么关系?有效数的误差限是末位数单位的一半,其本身就体现了误差界有效数末尾不可以随便增减零,1.2.4 计算机的浮点数系单精度实数由32位二进制的浮点数表示:1位符号,23位尾数,8位阶数(本身也有符号),和,.,最近的是,则

3、在机器中记为,即,.,机器所能表示的数中,离因此若相对误差限,最大数,最小数,上溢,下溢,1.2.5 一个实例有一艘驳船,宽度为5米,欲驶过一个河渠.该河渠有一个直角弯道,形状和尺寸如图所示.试问,要驶过这个河渠,驳船的长度不能超过多少米?,驳船的长度有如下关系,极小化问题,1.2.5一个实例,这个过程中有多少处有误差?,或者求零点问题,可证,对任意并可求得,1.2.6 数值计算中应注意的几个问题,计算容易推导出因此,调用MatLab程序nademo1,1.2.6 数值计算中应注意的几个问题,计算,其中,保留四位有效数字.,其它的例子:,避免大数和小数相加减,1.2.6 数值计算中应注意的几个

4、问题,计算中间步骤简化计算步骤,Horner算法或秦九韶算法,Matlab软件,1.3.1 简介,全称:Matrix Laboratory功能:科学计算、符号计算、图形处理等数据类型:数、字符串、矩阵、单元型数据和结构型数据集成界面:命令窗口、命令历史窗口、当前路径窗口、工作空间变量窗口等提示符,换行符.,注释符%,默认变量ans,Matlab软件,1.3.2 向量和矩阵的基本运算,矩阵 A=1 3;2 4 向量 a=1 2 3 4 5 6 冒号 a=1:6 a:s:b列向量 A=1;2;3字符串 A=hello matlabA=Thiss matlabs world.,Matlab软件,1.

5、3.2 向量和矩阵的基本运算,常量:在运行过程中不能变化的量科学记数法:显示方式:format(只影响显示)变量:保存在内存(地址),可随时变化内置变量:i,j,pi,Inf,NaN(Not a Number)Inf及NaN的运算规律,Matlab软件,1.3.2 向量和矩阵的基本运算,矩阵的加(+)、乘(*)、数乘(*)、幂()矩阵的点乘(.*)、点除(./)、点幂(.)矩阵的左除(X=AB即求解AX=B)矩阵的右除(X=A/B即求解A=XB),Matlab软件,1.3.2 向量和矩阵的基本运算,x=0 pi/6 pi/4 pi/3 pi/2;sin(x)ans=00.50000.70710

6、.86601.0000向量功能其他初等函数:三角反三角、指数对数、根号、绝对值等等,Matlab软件,1.3.2 向量和矩阵的基本运算,sqrt(9 10 11)=pi ans=011 a=2 3 0 0;b=-1 0 1 0;a&b ans=1000 a|b ans=1110 b ans=0101,Matlab软件,1.3.2 向量和矩阵的基本运算,矩阵运算 A=magic(3)A(2,1:3)A(2:end,1 end),8 1 63 5 74 9 2,B=2 3;C=1 2;3 4;D=5 7;A=B 9;C D A(A=4)=0 v=1:9;v(abs(v-5)=2)=,Matlab软

7、件,1.3.3 流程控制,基本语法if value1,statement1,elseif value2,statement2,elsestatement3 end,Matlab软件,1.3.3 流程控制,例如(判别闰年)if mod(year,400)=0,fprintf(%d is a leap year.n,year);elseif mod(year,100)=0,fprintf(%d is not a leap year.n,year);elseif mod(year,4)=0,fprintf(%d is a leap year.n,year);elsefprintf(%d is not

8、 a leap year.n,year);end,Matlab软件,1.3.3 流程控制,基本语法for loopvalue=value,statement,end和while value,statement,end,Matlab软件,1.3.3 流程控制,例如(利用计算圆周率的近似值)s=0;for k=1:10000,s=s+1/k2;end s=sqrt(6*s),Matlab软件,1.3.3 流程控制,Collatz猜想:输入一个正整数n,如果是偶数就除以2,是奇数就乘3加1,如此一直变换,最后会变成1.n=input(n=);while n=1,if mod(n,2)=1,n=n*3

9、+1;elsen=n/2;end disp(n);end,Matlab软件,1.3.3 流程控制冒泡排序:把一列数想象为垂直存放,数值大的在下方,每轮比较时从上到下依次比较相邻的两个数,若是上面的数大,把它们对调,否则不动。直至没 有对调为止。,a row vector:1 8 6 3 9 7 5 0 2 4,done=0;k=1;v=input(a row vector:);while done,done=1;for p=1:length(v)-k,if v(p)v(p+1),tmp=v(p);v(p)=v(p+1);v(p+1)=tmp;%OR v(p p+1)=v(p+1 p);done

10、=0;endendk=k+1;end,Matlab软件,1.3.4 脚本文件和函数文件,把一系列命令收集在一个文件里,保存为以.m为后缀的文件.执行时只需要键入文件名,不需键入后缀.例:mysorta row vector:1 8 6 3 9 7 5 0 2 4 v=0 1 2 3 4 5 6 7 8 9,Matlab软件,1.3.4 脚本文件和函数文件,一种封装的文件,具有特定的头格式:function out1,out2,.=funname(in1,in2,.)函数名必须和文件名一致与脚本文件的比较例:文件mysort2.m,Matlab软件,1.3.4 脚本文件和函数文件,函数头func

11、tion v,s=mysort3(v)调用 d=5 3 4 2 1;r,w=mysort3(d)传值方式:在输出或输入列表中的位置列表不一样长的情形命令global的用法,Matlab软件,1.3.4 脚本文件和函数文件,变量nargin和nargout的含义用法(例如:根据输入计算面积)function s=zhouchang(a,b,c)if nargin=1,s=2*pi*a;elseif nargin=2,s=2*(a+b);elseif nargin=3,s=a+b+c;end,Matlab软件,1.3.4 脚本文件和函数文件,直接或间接地用到了自己例如:Fibonacci数列定义为

12、function f=fib(n)if n=3,f=fib(n-1)+fib(n-2);elseif n=1|n=2,f=1;end,Matlab软件,1.3.5 帮助系统,Help:查看工具箱,函数可以自己书写文件的帮助,写在function之后其他查看系统命令用法的工具:doc,lookfor其他帮助命令:which,who等辅助命令:clc,home,clear,Matlab软件,1.3.6 画图功能,x=0:0.01:10;y=1./(1+x.2)+sin(x).*exp(x/3);,plot(x,y,g*-)画函数 hold命令命令plot中的参数选项,的图像,plot(x,y1,y

13、o-,x,y2,g*,x,y3,r+:,x,y4,bp:);其他类似命令:loglog,semilogx,semilogy,Matlab软件,1.3.6 画图功能,三维线图 t=linspace(0,10*pi,2000);plot3(sin(t).*t,cos(t).*t,t,r-);view(-17,66),Matlab软件,1.3.6 画图功能,三维面图:命令 meshgrid x=1:4;y=5:3:11;X,Y=meshgrid(x,y)X=,Y,Matlab软件,1.3.6 画图功能,三维面图:命令surf及contour例如:画下面函数的图像及等高线,x=linspace(-10

14、,10,200);X,Y=meshgrid(x);Z=exp(-abs(X)+cos(X+Y)+1./(X.2+Y.2+1);surf(X,Y,Z);contour(X,Y,Z,20),Matlab软件,1.3.6 画图功能,标注:坐标轴xlabel,曲线legend,图形标题title窗口控制:打开figure,关闭close,清除 clf坐标轴控制:axis(equal,off,-1 3 2 7)或者axis equal;axis off,Matlab软件,1.3.7 数据操作,文本方式 x=0:0.1:1;y=x;exp(x);fid=fopen(exp.txt,wt);fprintf(

15、fid,%sn,%-exp.txt-);fprintf(fid,%6.2f%12.8fn,y);fclose(fid);fid=fopen(exp.txt);s=fscanf(fid,%c,1 17)s=%-exp.txt-A=fscanf(fid,%6f%12fn,2 inf);,A=A,转置关系,Matlab软件,1.3.7 数据操作,二进制方式 load clown.mat whoYour variables are:Xcaption map image(X);colormap(map)save a.mat x*A,Matlab软件,1.3.7 数据操作,A=1 2 0;0 3 0;0-

16、1 6;A=sparse(A)A=,或者,Matlab软件,1.3.7 数据操作,i=1 1 2 3 3;j=1 2 2 2 3;s=1 2 3-1 6;A=sparse(i,j,s)A=,指明阶数 A=sparse(i,j,s,200,100);找出非零元 i,j,s=find(A);,Matlab软件,1.4 评注,Matlab参考书目:MatLab与科学计算(第2版),王沫然,电子工业出版社,2007年8月MatLab工程数学应用,许波、刘征,清华大学出版社,2000年4月MatLab数学实验,胡良剑、孙晓君,高等教育出版社,2006年6月MatLab高等数学实验,章恩栋、马玉兰、徐美萍、李双,电子工业出版社,2008年11月,Advanced Numerical Computing,第二章线性代数方程组的直接法,现代数值计算,目录/Contents,第二章线性代数方程组的直接法,第一节 高斯消去法第二节 矩阵的三角分解第三节正交矩阵与奇异值分解,求解大规模线性方程组:,如何利用计算机来快速、稳定、有效地求解该问题是科学计算的核心问题之一直接法和迭代法由于浮点运算的精度的影响,直

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1