matlab计算微分ppt,matlab-ch013(数值计算-微积分)20090923.ppt

41528d3028836879cd698677c3999917.gifmatlab-ch013(数值计算-微积分)20090923.ppt

第13讲 数值计算 —微积分,张建瓴,§13.1 数值积分,在工程教学和应用中,除了进行数据逼近外,还要求逼近曲线下面的面积,这就是积分问题。,一、数值积分方法,典型的数值积分方法有:用常数(0阶多项式)近似函数矩形法;用直线(一阶多项式)近似函数曲线的梯形法;用抛物线(二阶多项式)近似函数曲线的Simpson法,以及用一般多项式近似函数的Romberg法等。 y=sin(x^3)*sqrt(x) x求y, 表13-1列出了函数数值积分的一些命令。,表13-1 函数数值积分的命令,,常见的一元数值积分命令,MATLAT提供了在有限区间内,数值计算某函数下的面积(积分)的三种函数:trapz,quad和quad8。,二、一(元)维数值积分,1、trapz函数 函数trapz通过计算若干梯形面积的和来近似某函数的积分,这些梯形如图13-1所示,是通过使用函数humps的数据点形成。,图13-2 较好的梯形逼近曲线下的面积示意图 从图中可明显地看出,单个梯形的面积在某一段欠估计了函数真正的面积,而在其它段又过估计了函数的真正面积。如同线性插值,当梯形数目越多时,函数的近似面积越准确。例如,在图13-1中,如果我们大致增加一倍数目的梯形,我们得到如下(如图13-2)所示的更好的近似结果。,trapz 函数,对如上所示的两个曲线,用trapz在区间-1>x=-1: 0.17: 2; % rough approximation >>y=humps(x); >>area=trapz(x, y) % call trapz just like the plot command area = 25.9174,trapz 函数的应用,>>x=-1: 0.07: 2; % better approximation >>y=humps(x); >>area=trapz(x , y) area = 26.6243 上述两个结果不同是基于对图形的观察,粗略近似可能低估了实际面积。除非特别精确,没有准则说明哪种近似效果更好。,trapz 函数的应用,MATLAB提供的求积函数命令quad和quad8在使用时,其递推的层次限制在十层以内,达到这个限制则会提示警告信息,并且这两个函数命令都不能解决可积的奇异值问题,例如,求解 。,quad函数和quad8函数,函数quad和quad8完整的调用格式为: (1)q=quad( fun ,a,b,tol,trace,pl,p2,…) 采用Simpson法计算积分; (2)q=quad8( fun ,a,b,tol,trace,p1,p2,…) 采用八样条Newton-Cotes公式求数值积分。 其中:fun是被积函数,可以是表达式字符串、内联函数、M函数文件名,被积函数的自变量,一般采用字母x; a、b分别是积分的上、下限,都是确定的值;,quad和quad8函数调用格式,tol是一个二元向量,它的第一个元素用来控制相对误差,第二个元素用来控制绝对误差,缺省时积分的相对精度为0.001; trace如果取非零值时,将以动态图形的形式展现积分的整个过程,若取零值,则不画图,其缺省值是0; pl和p2是向被积函数传递的参数。 在上面的调用格式中,前三个输入参数是调用时必须的,而后面的输入参数可缺省。,quad和quad8的参数,MATLAB的函数quad和quad8是基于数学上的正方形概念来计算函数的面积。为获得更准确的结果,两个函数在所需的区间都要计算被积函数。 与简单的梯形比较,这两个函数进行更高阶的近似,而且quad8比quad更精确。这两个函数的调用方法与fzero相同,即 >>area=quad(‘humps‘,-1,2) % find area between -1 and 2 area = 26.3450,quad和quad8函数的调用,>>area=quad8(‘humps‘,-1,2) area = 26.3450 注意: 这两个函数返回完全相同的估计面积,而且这个估计值在两个trapz面积的估计值之间。,quad和quad8函数的调用,求函数的数值积分 (1)建立函数funq function y=funq(x) y=x.^3+x.^2+2; (2)对被积函数funq进行数值积分 q=quad( funq ,-1,1,le-4) %使用quad命令求数值积分 q= 4.6667,[例13-1] example13_1.m,q8=quad8( funq ,-1,1,le-4,1) %用quad8命令求数值积分 q8= 4.6667 程序的运行结果显示出积分的过程如图13-3所示。,[例13-1],,一元函数积分中存在的问题,同样存在于多重积分中。 1、积分限为常数的二重积分 多重积分使用函数dblquad,其完整的调用格式为: result=dblquad( fun ,inmin, inmax, outmin, outmax, tol, ) 其中:输入参数fun是被积函数,可以直接用字符串内联函数或M函数文件表达,但不论什么形式,该被积函数应有两个变量,即内变量和外变量。内变量接受向量输入,外变量接受标量输入。被积函数的输出是与内变量同长的向量。,三、多重数值积分,输入参数inmin,inmax是内变量的下限和上限; outmin、outmax是外变量的下限和上限; tol的含义与命令quad中的情况相同; 是积分方法选项,如“quad”和“quad8”等。 注意: 该命令不适用于内积分区间上、下限为函数的情况。,dblquad函数的参数,求积分上下限都为常数的二重积分,被积函数为y*sin(x)+s*cos(y),其中x的取值范围是π到2π,y的取值范围是0到π。 (1)建立名为integrnd的M文件 fimction out=integrnd(x,y) out=y*sin(x)+x*cos(y) (2)用函数dblquad命令来求integrnd的二重积分 result=dblquad( integrnd ,pi,2*pi,0,pi) result= -9.8698,〖例13-6〗 example13_6.m,对于内积分上下限是外积分变量的函数的积分问题,求解过程较为麻烦。 一般方法都是先求出 ,然后再求 。,2、内积分上下限为函数的二重积分,,,【例13-10】计算。 (1)编写内积分区间上下限的M函数文件 [x_low.m] function f=x_low(y) f=sqrt(y); (2)编写被积函数 被积函数函数采用内联函数ff=inline( x.^2+y.^2 , x , y )表示。 (3)被积函数用内联函数表达时,运行以下指令,即得结果 >>ff=inline( x.^2+y.^2 , x , y );%被积函数的内联函数表达 >>SS=double_int(ff, x_low ,2,1,4) SS = 9.5810 (4)本题用符号计算很容易获得高精度解 >>Ssym=vpa(int(int( x^2+y^2 , x , sqrt(y) ,2), y ,1,4)) Ssym = 9.580952380952381,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334844.shtml

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

相关文章

Linux 关于查看 cpu 的命令

文章目录查看物理 cpu 个数查看每个物理 cpu 中core的个数(即核数)查看逻辑 cpu 的个数查看 cpu 信息(型号)查看 cpu 的配置信息查看cpu波动情况的,尤其是多核机器上参考文档备注/说明查看物理 cpu 个数 [roothtlwk0001host ~]# cat /proc/c…

JDK 9中不推荐使用Java的Observer和Observable

在博客文章《 应用JDK 9 Deprecated增强功能》中 ,我讨论了JDK 9中 Deprecated批注中对forRemoval()和since()可选元素(方法)的添加 。 我在那篇文章中说:“在Java SE API上应用新的…

php快速开发框架津县,BetePHP:一个轻量级快速开发框架

BetePHP关于BetePHP是一个轻量级快速开发框架。框架提供了一致的API接口,使得使用接口尽可能流畅;由于框架本身不依赖其他库,这使得框架本身运行速度非常快;框架希望使用最简单的方式make thing done,减少开发者的开发…

Linux 命令之 vmstat 命令-显示虚拟内存状态

介绍 vmstat 命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。 常用选项 选项说明-a显示活跃和非活跃内存-f显示从系统启动至今的fork数量-m显示 slabinfo-n只在开始…

python编译后的文件_python 编译源文件

背景近期项目到了部署的阶段。由于项目后台和算法都是用Python "撸的",但是又不希望将源代码直接 "release" 到 “客户”哪里。于是开始思考。。。首先,按照惯性思维,能否将编译后的东东放出去呢?(类似java或…

java创建和销毁一个对象_有效的Java –创建和销毁对象

java创建和销毁一个对象创建和销毁对象(第2章) 这是Joshua Blochs的《 有效的Java》第2章的简短摘要。我仅包括与自己相关的项目。 静态工厂(项目1) 静态工厂与构造函数的一些优点: 工厂方法的名称为构造函数添加了描…

WorkPlus一站式协同解决方案,助力企业降本增效

在企业数字化转型的过程中,很多企业都会遇到一个共同问题:重复建设基础功能,耗费大量时间和资源。为解决这一难题,WorkPlus已经将一些通用、基础且有技术门槛的功能进行了集成与开发,如IM(即时通讯&#xf…

linux在oracle新建表,Oracle创建表及管理表

1. Oracle表的创建及管理创建表包括三个要素,表名,列名,数据类型。每个表都有对应不同的列,每个列都有唯一对应的数据类型。常用数据类型简介:数据类型描述CHARACTER(n)字符/字符串。固定长度 n。INTEGER(p)整数值(没有…

Linux 命令之 top -- 实时显示进程动态/查看进程信息

文章目录介绍常用选项交互命令参考示例示例 1:直接输入命令 top 就可以动态显示进程信息统计参数信息详解进程属性说明(即进程列表的字段说明)其它1.在 top 基本视图中,按键盘数字 1 可以监控每个逻辑 CPU 的状况2.敲击键盘 b&…

Linux 命令之 iostat 命令-监视系统输入输出设备和 cpu 的使用情况

介绍 iostat命令被用于监视系统输入输出设备和 CPU 的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分…

else 策略模式去掉if_如何用卫语句、策略模式、状态模式重构if-else语句

《java开发手册》中:况且日常开发时遇到一推的if-else着实让人头疼!so,现在开始改造一、卫语句卫语句就是把复杂的条件表达式拆分成多个条件表达式,即代码逻辑先考虑失败、异常、中断、退出等直接返回的情况,以方法多个出口的方式&#xff0c…

oracle同步恢复目录,Oracle创建恢复目录(catalog)

Oracle创建恢复目录(catalog),在catalog数据库上创建cat用户的表空间。Oracle创建恢复目录1.在catalog数据库上创建cat用户的表空间SQL> create tablespace cat datafile /home/oracle/oradata/orcl/cat.dbf size 512M;2.创建cat用户SQL> Create user cat ide…

java登录界面命令_Java命令行界面(第3部分):jbock

java登录界面命令在本系列中有关使用Java进行命令行分析的前两篇文章中,我介绍了Apache Commons CLI和args4j库。 在本系列的第三篇文章中,我介绍了jbock ,它是自我描述的“非常简单的CLI解析器”。 我在Java命令行解析中的帖子使用了一些示…

数仓建模 项目_模型设计_数仓建模 PDF 下载

主要内容:数据仓库按照传统的定义,数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。从数据角度,数据仓库更适合传统的数据库,离线采集,数据一般为结构化的。当然…

Linux 命令之 htop -- 互动的进程查看器/查看进程信息

文章目录介绍与 top 的对比常用选项参考示例(一)启动 htop(二)以单色模式启动 htop(三)设置显示更新的延迟为 3 秒(四)显示指定用户的进程介绍 htop 命令是Linux系统中的一个互动的…

java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

java中转json字符串在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON。 这是在Java中测试和学习解析JSON字符串的最快方法,但…

home oracle c.sql,Infoxmix与Oracle的嵌入式SQLC对比

Infoxmix和Oracle的嵌入式SQL/C开发对比ESQLC和PROC的对比本文档介绍了数据库嵌入式SQL/C语言程序ESQLC和PROC的区别一.基本语法1.语法字符ESQLC中既支持…$?数据库语法,同时也支持“EXEC SQL”,…:?数据库语法PROC中只支持“EX…

spock 集成测试_使用Spock Mocks进行Grails 3.3集成测试

spock 集成测试在Grails单元测试中,可以轻松使用Grails随附的Spock框架来模拟或存根协作者(例如服务)。 “ 测试”一章对模拟协作者, doWithSpring / doWithConfig回调方法,在测试中模拟bean的FreshRuntime批注进行了…

uni开发中可以用table标签么_「uni-app 组件」t-table 表格

table 表格基本使用组件,让你制作简单表格只需要专注内容,而不用过度专注样式。此组件基本全平台支持。(支付宝,百度,头条小程序理论上都支持,但是没有很细致的测试这几个平台)功能亮点自定义全局表格样式自定义局部表…

Linux 命令之 kill -- 杀死进程

文章目录命令介绍语法格式常用选项参考示例(一)列出所有信号的名称(二)杀掉 bash 进程命令介绍 kill 正如这个单词的意思一样,就是杀死。linux 系统中 kill 命令用来删除执行中的程序或工作。 kill 命令用来删除执行…