- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值计算与MATLAB 第五章 数值积分 我们知道,若函数f(x)在区间[a,b]上连续且其原函数为F(x),则可用Newton-Leibnitz公式 求定积分的值 , Newton- Leibnitz公式 无论在理论上还是在解决实际问题上都起了很大作用,但它并不能完全解决定积分的计算问题,因为积分学涉及的实际问题极为广泛,而且极其复杂,在实际计算中经常遇到以下三种情况: (3) 被积函数f(x)没有具体的解析表达式, 其函数 关系由表格或图形表示。 对于这些情况, 要计算积分的准确值都是十分困难的。由此可见, 通过原函数来计算积分有它的局限性, 因而研究一种新的积分方法来解决Newton-Leibniz公式所不能或很难解决的积分问题, 这时需要用数值解法来建立积分的近似计算方法。 将积分区间细分,在每一个小区间内用简单函数代替复杂函数进行积分,这就是数值积分的思想。 5.1计算积分的matlab符号法 使用matlab的符号计算功能,可以计算出许多积分的解析解和精确解,只是有些精确解显示冗长繁杂,这时可以用vpa或eval函数把它转换成位数有限的数字,有效数字的长度可按需选取。 求积分的符号运算命令为int(取自integerate的前3个字母),调用格式为 s=int(fun,v,a,b) 1)输入参量fun是被积函数的符号表达式,可以是函数向量或函数矩阵。 2)输入参量v是积分变量,必须被界定成符号变量。如果被积函数中只有一个变量时可以缺省。 3)输入参量a、b为定积分的积分限,缺省时输出被积函数fun的一个原函数。 4)输入参量s为积分结果。s为有理表达式有时过于冗长时,可用vpa或eval命令把它转换成有限长度的小数。 例5.1 计算 解:该函数图线的生成方法如下: y=1:10; ff=exp(-y.^2)+log(y); plot(ff,linewidth,2),title(exp(-y.^2)+log(y)),grid 在matlab命令窗口中输入 int(exp(-y^2)+log(y),1,10) 回车得到 ans = 1/2*pi^(1/2)*erf(10)-9+10*log(2)+10*log(5)-1/2*pi^(1/2)*erf(1) 输出的结果比较复杂,下面是用两种方式进行转换的输出结果 是比较他们的差别 输入 eval(1/2*pi^(1/2)*erf(10)+10*log(2)+10*log(5)-9-1/2*pi^(1/2)*erf(1)) ans = 14.1653 输入 vpa(1/2*pi^(1/2)*erf(10)+10*log(2)+10*log(5)-9-1/2*pi^(1/2)*erf(1)) ans = 14.165253722580787828429530852382 例5.2 计算 解:该函数的图像生成方法如下 x=-10:1:10; ff=1./(x.^2+1); plot(ff,linewidth,2),title(1./(x.^2+1)),grid 在matlab命令窗口中输入 syms x; f=1/(x^2+1); a=int(f,-inf,inf) 回车得到 a = pi 得到精确值 例5.3计算 解:在matlab命令窗口中输入 syms x t; f=2*t*x; a=int(f,x,1,sin(t)) 回车得到 a = t*(sin(t)^2-1) 例5.4求 ,准确结果是 解:在matlab命令窗口中输入 syms x; Is=int(sqrt(log(1/x)),x,0,1) 回车的到 Is = int(log(1/x)^(1/2),x = 0 .. 1) 输入 vpa(Is) ans = .88622692545275801364908374167057 再输入 vpa(Is,5) ans = .88623 例5.5计算单位域上的积分 先把二重积分 转换为二次积分的形式 解在matlab命令窗口中输入 syms x y; Q=int(int(exp(-x^2/2)*sin(x^2+y),x,-sqrt(1-y^2),sqrt(1-y^2)),y,-1,1) 回车得到 Q = int(-i*pi^(1/2)*(exp(i*y)^2*erf(1/2*(1-y^2)^(
您可能关注的文档
最近下载
- 第8课 隋唐政治演变与民族交融-【中职专用】《中国历史》魅力课堂教学课件(高教版2023•基础模块).pptx VIP
- 人力资源管理开题(课题背景研究目的与意义【最新】.docx VIP
- 《生产调度与控制实务》课件.ppt VIP
- 2025水电工程信息分类与编码第4部分:水工建筑物.docx
- PMP项目管理培训课件项目.pptx VIP
- xx公司集团中铁工程部内部管理制度.doc VIP
- 2025年汽车驾驶员技师资格证书考试及考试题库含答案.docx
- 盐酸普鲁卡因工艺说明书8.pdf VIP
- 外研版小学三年级的英语第一单元试题.doc VIP
- 经济学原理(第8版)微观经济学曼昆课后习题答案解析.pdf
文档评论(0)