《MATLAB应用基础》课程教学资源(PPT课件讲稿)第4章 MATLAB的数值计算

第4章 MATLAB的数值计算 41数值微积分 42矩阵和代数方程 43概率分布和统计分析 44多项式运算和卷积 2021/1/26 第1页
2021/1/26 第1页 第4章 MATLAB 的数值计算 4.1 数值微积分 4.2 矩阵和代数方程 4.3 概率分布和统计分析 4.4 多项式运算和卷积

41数值微积分 411近似数值极限及导数 412数值求和与近似数值积分 413计算精度可控的数值积分 414函数极值的数值求解 415常微分方程的数值解 2021/1/26 第2页
2021/1/26 第2页 4.1数值微积分 4.1.1 近似数值极限及导数 4.1.2 数值求和与近似数值积分 4.1.3 计算精度可控的数值积分 4.1.4 函数极值的数值求解 4.1.5 常微分方程的数值解

411近似数值极限及导数 ◆在 MATLAB数值计算中,既没有专门的求极限指令, 也没有专门的求导指令。但 MATLAB提供了与“求导” 概念有关的“求差分”指令。 ◆dx=difx)%计算向量X的前向差分 ◆FX= gradient(F)%求一元(函数梯度 ◆[FX,FY]= gradien(F)%求二元(函数)梯度 ◆对df言,当X是向量时,dx=X(2:n-X(1:n-1);当X 是矩阵时,dx=X(2:n,;)-X(1:n1,;)。dx的长度比x 的长度少1个元素 2021/1/26 第3页
2021/1/26 第3页 ◆在MATLAB数值计算中,既没有专门的求极限指令, 也没有专门的求导指令。但MATLAB提供了与“求导” 概念有关的“求差分”指令。 ◆dx=diff(X) %计算向量X的前向差分 ◆FX=gradient(F) %求一元(函数)梯度 ◆[FX, FY] =gradient(F) %求二元(函数)梯度 ◆对diff而言,当X是向量时,dx= X(2:n)-X(1:n-1) ;当X 是矩阵时,dx= X(2:n, :)-X(1:n-1, :) 。 dx的长度比x 的长度少1个元素。 4.1.1 近似数值极限及导数

411近似数值极限及导数 ◆dx=dif(x)%计算向量X的前向差分 ◆FX= gradient(F)%求一元(函数)梯度 ◆[FX,FY]= gradient(F)%求二元(函数)梯度 ◆对 gradien而言,当F是向量时,FX(1)=F(2)F(1 FX(2: end-1)=(F(3: end)-F(I: end-2))/2, FX(end)=F(end)F(end-1);FX长度与F的长度相同 ◆当F是矩阵时,FX,FY是与F同样大小的矩阵。FX的 每行对应F相应行元素间的梯度;FY的每列对应F相应 列元素间的梯度 2021/1/26 第4页
2021/1/26 第4页 ◆dx=diff(X) %计算向量X的前向差分 ◆FX=gradient(F) %求一元(函数)梯度 ◆[FX, FY] =gradient(F) %求二元(函数)梯度 ◆对gradient而言,当F是向量时,FX(1) = F(2)-F(1), FX(2:end-1) = (F(3:end)-F(1:end-2))/2 , FX(end) = F(end)-F(end-1) ; FX长度与F的长度相同 ◆当F是矩阵时, FX, FY是与F同样大小的矩阵。 FX的 每行对应F相应行元素间的梯度 ; FY的每列对应F相应 列元素间的梯度 ; 4.1.1 近似数值极限及导数

数值极限和导数的应用应十分谨慎 1-cos 2x sii元 【例4-1】设f1(x)= f2(x) ,试用机器零阈值eps替代理论0计算极 xsin x 限L1(0)=1imf1(x),L2(0)=limf2(x) x→0 x→0 xeps syms t LI=(1-coS(2*x))/(x*sin(x)) cOs(2 t/t*sin(t)); L2=sin(x)x, f2=sin(t)/t L1= LsI=limit(fl, t. 52=limit(f2, t,0) L2 LS Ls2 X=pi/1000;,%可得到正确结果 2021/1/26 第5页
2021/1/26 第5页 数值极限和导数的应用应十分谨慎 x=eps; L1=(1-cos(2*x))/(x*sin(x)), L2=sin(x)/x, L1 = 0 L2 = 1 syms t f1=(1-cos(2*t))/(t*sin(t)); f2=sin(t)/t; Ls1=limit(f1,t,0) Ls2=limit(f2,t,0) Ls1 = 2 Ls2 = 1 x=pi/1000; %可得到正确结果

数值极限和导数的应用应十分谨慎 【例41-2】已知x=si(t),求该函数在区间[02z] 中的近似导函数。 %(1)自变量的增量取得过小(eps数量级) d=pi/100 x(t) t=0:d:2*pi; X=sIn(t, dt=eps; x eps=sin(t+dt) dxdt eps=(x_eps-x)/dt plot(t, x, Line Width, 5) hold on plot(t, dxdt eps hold off 数值导数受计算中有限精度困扰,当增量d过小时 legend(x()ydxt)frt)与f的数值+分接近,高位有效数字完全相 同,d=f(t+l)-f(0)造成高位有效数字消失,精度 xlabel(t 急剧变差。 2021/1/26
2021/1/26 第6页 数值极限和导数的应用应十分谨慎 %(1)自变量的增量取得过小(eps数量级) d=pi/100; t=0:d:2*pi; x=sin(t); dt=5*eps; x_eps=sin(t+dt); dxdt_eps=(x_eps-x)/dt; plot(t,x,'LineWidth',5) hold on plot(t,dxdt_eps) hold off legend('x(t)','dx/dt') xlabel('t') 【例4.1-2】已知 x = sin( t) [0, 2 ] , 求该函数在区间 中的近似导函数。 0 1 2 3 4 5 6 7 -1.5 -1 -0.5 0 0.5 1 t x(t) dx/dt 数值导数受计算中有限精度困扰,当增量dt过小时, f(t+dt)与f(t)的数值十分接近,高位有效数字完全相 同, df =f(t+dt)-f(t) 造成高位有效数字消失,精度 急剧变差

数值极限和导数的应用应十分谨慎 【例41-2】已知x=si(t),求该函数在区间[02z] 中的近似导函数。 %(2)自变量的增量取得适当d=p100 x d=sin(t+d dxdt d=x_ d-x)/d plot(t, x, Line Width, 5) = wat hold on plot(t, dxdt d) hold off 0.6 legend (x(t),dx/, xlabel(,) 2021/1/26 第7页
2021/1/26 第7页 数值极限和导数的应用应十分谨慎 %(2)自变量的增量取得适当 x_d=sin(t+d); dxdt_d=(x_d-x)/d; plot(t,x,'LineWidth',5) hold on plot(t,dxdt_d) hold off legend('x(t)','dx/dt') xlabel('t') 【例4.1-2】已知 x = sin( t) [0, 2 ] , 求该函数在区间 中的近似导函数。 0 1 2 3 4 5 6 7 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 t x(t) dx/dt d=pi/100;

end-10, end 【例41-3】已知x=sin d 函数在区间[0,2z]中的 098 0.97 d=pi/100;t=0:d:2pi; x=sin(t); 096 dxdt diff=diff(x)/d; 0950 ○ddt dxdt grad=gradient(x)/d; subplot(1, 2, 1); plot(t, x, b); hold on plot(t, dxdt grad, 'm, Line Width, 8) 宏观上, difffigradient结果大致相同 plot(t(1: end-1), dxdt diff, k, Marker Size, 8) axis([0, 2*pi, 1.1, 1.1 D; title( 0, 2\pi) legend(x(t),dxdt grad , dxdt diff, Location, North) xlabel('t), box off; hold off subplot(1, 2, 2) 细节上, diffFHgradient数值有差异, kk(length(t)-10):length(t); df没有给出最后一点导数 hold on; plot(t(kk), dxdt grad(kk),om, MarkerSize, 8) plot(t(kk-1), dxdt diff(kk-1), k, Marker Size, 8) titleflend-10, end) legend(dxdt grad ,dxdt diff, Location, South East) xlabel('t), box off; hold off 页
2021/1/26 第8页 d=pi/100; t=0:d:2*pi; x=sin(t); dxdt_diff=diff(x)/d; dxdt_grad=gradient(x)/d; 【例4.1-3】已知 采用diff和gradient计算该 函数在区间 中的近似导函数。 x = sin( t) [0, 2 ] subplot(1,2,1); plot(t,x,'b');hold on plot(t,dxdt_grad,'m','LineWidth',8) plot(t(1:end-1),dxdt_diff,'.k','MarkerSize',8) axis([0,2*pi,-1.1,1.1]); title('[0, 2\pi]') legend('x(t)','dxdt_{grad}','dxdt_{diff}','Location','North') xlabel('t'), box off;hold off subplot(1,2,2) kk=(length(t)-10):length(t); hold on; plot(t(kk),dxdt_grad(kk),'om','MarkerSize',8) plot(t(kk-1),dxdt_diff(kk-1),'.k','MarkerSize',8) title('[end-10, end]') legend('dxdt_{grad}','dxdt_{diff}','Location','SouthEast') xlabel('t'),box off; hold off 宏观上, diff和gradient结果大致相同 细节上, diff和gradient数值有差异, diff没有给出最后一点导数

412数值求和与近似数值积分 S RESum( S= dt*sum(X),S=Sum(t2X)%近似矩形法求积 %sum按列向求和得Xn)数组Sx(k)=∑Xm(,k) Scs=cumsum(X) Scs=cumsum(t, x)=dt* cumsum(X) %沿X列向求累计和,仍是数组,第(〔,k)个元素是X数组第k列前f个 元素的和。最后一行等于Sx 12 21 22 (x1+x2)/2 (x2+x2)/2 Xr X (x1+x2+x21+x)2(x2+x21+x2+x2)/2 St= trapz(t2X)或St=dt*rapz(X)%梯形法求積分 Sctcumtrapz(t, X)E Sctdt*cumtrapz(X) %梯形法沿列向求X关于x的累计积分最后一个值等于St 20∠I
2021/1/26 第9页 Sx=sum(X) % sum按列向求和得(1×n)数组 Scs=cumsum(X) %沿X列向求累计和, 仍是数组, 第(i, k)个元素是X数组第k列前i个 元素的和。最后一行等于Sx 4.1.2 数值求和与近似数值积分 1 ( ) ( , ) m m n i Sx k X i k = = 11 12 21 22 31 32 x x X x x x x = St=trapz(t,X) 或 St=dt*trapz(X) %梯形法求積分 Sct=cumtrapz(t,X) 或 Sct=dt*cumtrapz(X) %梯形法沿列向求X关于x的累计积分,最后一个值等于St 11 12 11 21 12 22 11 21 31 12 22 32 x x Scs x x x x x x x x x x = + + + + + + 11 21 12 22 11 21 21 31 12 22 22 32 0 0 ( ) / 2 ( ) / 2 ( ) / 2 ( ) / 2 Sct x x x x x x x x x x x x = + + + + + + + + S=dt*sum(X), S=sum(t,X) %近似矩形法求积分 Scs=cumsum(t,X) =dt*cumsum(X)

丌/2 【例414】求积分s(x)=y(t)dl,其中y=02+S( clear; d=pi/8; t=0: d: pi/2; y=0. 2+sin(t); sum(y);ssa=d*s;%ssa=sum(t,y),近似矩形法积分 sta= trapa,y);%梯形法积分 disp('Smm求得积分,bank3), trapz求得积分) disp(ls sa, s taD) t2=t, t(end)+d]; y2=y, nan]; stairs(t2, y2,: k); hold on plot(t, y,'r, ' Line width, 3) h=stem(t, y, Line width, 2) set(h(i), MarkerSize, 10) axis(|0,pi/2+d,0,1S|) hold off; shg sum求得积分 trapz求得积分 15762 1.3013 第10页
2021/1/26 第10页 clear; d=pi/8; t=0:d:pi/2; y=0.2+sin(t); s=sum(y); s_sa=d*s; % s_sa=sum(t, y), 近似矩形法积分 s_ta=trapz(t,y); %梯形法积分 = / 2 0 ( ) ( ) 【例4.1 s x y t dt y = 0.2 + sin( t) -4】求积分 , 其中 disp(['sum求得积分',blanks(3),'trapz求得积分']) disp([s_sa, s_ta]) t2=[t,t(end)+d]; y2=[y,nan]; stairs(t2,y2,':k');hold on plot(t,y,'r','LineWidth',3) h=stem(t,y,'LineWidth',2); set(h(1),'MarkerSize',10) axis([0,pi/2+d,0,1.5]) hold off; shg sum求得积分 trapz求得积分 1.5762 1.3013 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 0 0.5 1 1.5
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《编译原理》课程教学资源(PPT课件讲稿)第七章 中间代码生成.ppt
- 上海交通大学:Basic Raster Graphics Algorithms for Drawing 2D Primitives.ppt
- Transport Layer Identification of P2P Traffic.ppt
- 复旦大学:《数据库基础与应用》课程PPT教学课件(Access案例教程)第1章 数据库基础知识.pptx
- 香港科技大学:Advanced Topics in NextGeneration Wireless Networks.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)第五章 语法分析——自下而上分析.ppt
- 香港城市大学:Introduction to Real-Time Systems(Design and Analysis of Algorithms).pptx
- 《网站设计与建设 Website design and developments》课程教学资源(PPT课件讲稿)第一部分 Web基础知识 第3章 图形与Web设计.ppt
- 《汇编语言》课程PPT教学课件:第三章 80x86寻址方式和指令系统.ppt
- 清华大学:高校信息门户建设(PPT讲稿).ppt
- 《计算机辅助设计 Computer Aided Design》课程PPT教学课件:第一篇 CAD技术 第一章 几何造型方法介绍和分类.ppt
- 西安电子科技大学:《操作系统 Operating Systems》课程教学资源(PPT课件讲稿)Chapter 02 进程和线程 Processes and Threads.ppt
- 《数字图像处理 Digital Image Processing》课程教学资源(PPT课件讲稿)第2章 图像的基本知识及运算.ppt
- 江苏海洋大学(淮海工学院):《Java面向对象程序设计》课程教学资源(PPT课件讲稿)第3章 Java 面向对象编程 3.1 面向对象软件开发概述.pptx
- 利用NetRiver实验系统实现IP协议交互和TCP协议交互.ppt
- 《软件工程简介》课程PPT教学课件(可行性研究、需求分析、总体设计、详细设计).ppt
- ARM Tachnology:Chapter 3 STM32 Clock and Configuration.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)循环与分支程序设计.ppt
- 香港科技大学:Latent Tree Models.pptx
- Network and System Security Risk Assessment(PPT讲稿)Introduction.ppt
- 安徽广播影视职业技术学院:《ASP动态网页设计实用教程》课程教学资源(PPT讲稿)第1章 ASP基础(贾海陶).ppt
- 白城师范学院:《数据库系统概论 An Introduction to Database System》课程教学资源(PPT课件讲稿)第六章 关系数据理论.pptx
- 中国科学技术大学:《数据结构及其算法》课程电子教案(PPT课件讲稿)第三章 栈和队列.pps
- 北京大学SAS俱乐部:SAS软件会员培训(PPT讲稿)SAS编程语言入门.ppt
- 泛型编程 Generic Programming(PPT讲稿)Templates.ppt
- 西安电子科技大学:《Mobile Programming》课程PPT教学课件(Android Programming)Lecture 9 Service and Broadcast Receiver.pptx
- 计算机问题求解(PPT讲稿)算法在计算机科学中的地位(算法的效率).pptx
- 《计算机组装与维修》课程教学资源(PPT讲稿)第7章 显示器.ppt
- 《Java语言程序设计》课程教学资源(PPT课件讲稿)第四章 Applet及其应用.ppt
- 《编译原理实践》课程教学资源(PPT讲稿)词法分析程序的自动生成器LEX.ppt
- 华中科技大学:《面向对象程序设计》课程PPT教学课件(Visual C++ 编程)第2讲 Visual C++ 6.0开发环境.ppt
- 东南大学:《泛型编程 Generic Programming》课程教学资源(PPT课件讲稿)Chapter 14 Templates.ppt
- Coded Caching under Arbitrary Popularity Distributions.pptx
- Distributed Systems and Networking Programmin(SOAP – Introduction).ppt
- 北京师范大学现代远程教育:《计算机应用基础》课程教学资源(PPT课件讲稿)第5章 Microsoft Excel 2010.pptx
- 图形处理及多媒体应用(PPT课件讲稿).pps
- Vitebi 译码.ppt
- 香港城市大学:Rank Aggregation in MetaSearch.ppt
- 《计算机网络技术》课程教学资源(PPT课件讲稿)第5章 广域网.ppt
- 中国科学技术大学:《现代密码学理论与实践》课程教学资源(PPT课件讲稿)第二部分 公钥密码和散列函数 第8章 数论入门(苗付友).pptx