




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数值积分及matlab实现综述 各种求积公式的matlab编程实现与应用matlab是由mathworks公式开发的一种主要用于数值计算及可视化图形处理的工程语言,是当今最优秀的科技应用软件之一。它将数值计算、矩阵运算、图形图像处理、信号处理和仿真等诸多强大的功能集成在较易使用的交互计算机环境中,为科学研究、工程应用提供了一种功能强、效率高的编程工具。下面我们将各种求积算法通过matlab软件编程实现,以下程序均用matlab7.0编写,运行坏境:1、硬件环境cpu(intel core i3-2310m,2.1ghz),内存(2gb昱联),2、软件环境windows7(32位)操作系统。以
2、下总共编写了六个算法程序,部分代码参考文献10-13,为了体现程序的正确性,以下程序都以为例进行运算。原积分的精确值为牛顿-科特斯求积公式的matlab实现先用m文件定义一个名为f1.m的函数:% i是要调用第几个被积函数g(i),x是自变量function f=f1(i,x) g(1)=sqrt(x);if x=0 g(2)=1;elseg(2)=sin(x)/x;endg(3)=4/(1+x2);f=g(i);程序一:function c,g=ncotes(a,b,n,m)% a,b分别为积分的上下限;% n是子区间的个数;% m是调用上面第几个被积函数;% 当n=1时计算梯形公式;当n=
3、2时计算辛浦生公式,以此类推; i=n; h=(b-a)/i; z=0;for j=0:i x(j+1)=a+j*h; s=1; if j=0 s=s; elsefor k=1:j s=s*k;endendr=1;if i-j=0 r=r;elsefor k=1:(i-j) r=r*k;endendif mod(i-j),2)=1 q=-(i*s*r);else q=i*s*r;endy=1;for k=0:i if k=j y=y*(sym(t)-k); endendl=int(y,0,i);c(j+1)=l/q; z=z+c(j+1)*f1(m,x(j+1);endg=(b-a)*z1)当
4、输入,时,即在matlab命令窗口输入 ncotes(0,1,1,2)即可得用梯形公式的积分值和相应科特斯系数 如图3.12)当输入,时,即在matlab命令窗口输入 ncotes(0,1,2,2)即可得用辛浦生公式的积分值和相应科特斯系数如图3.23)当输入,时,即在matlab命令窗口输入 ncotes(0,1,4,2)即可得用科特斯公式的积分值和相应科特斯系数如图3.3图 3.1 图 3.2 图3.3 复化求积公式的matlab实现一、复化梯形求积公式的matlab实现通过的个等步长节点逼近积分其中,。程序二:function s=trapr1(f,a,b,n)% f是被积函数;% a,
5、b分别为积分的上下限;% n是子区间的个数;% s是梯形总面积;h=(b-a)/n;s=0;for k=1:(n-1) x=a+h*k; s=s+feval(f,x);endformat long s=h*(feval(f,a)+feval(f,b)/2+h*s;先用m文件定义一个名为f.m的函数:function y=f(x)if x=0 y=1;else y=sin(x)/x;end在matlab命令窗口中输入 trapr1(f,0,1,4) 回车得到 如图3.4 图 3.4若取子区间的个数在matlab命令窗口中输入 trapr1(f,0,1,8) 回车得到 如图3.5 图3.5 龙贝格
6、求积公式的matlab实现构造数表来逼近积分其中。表示数表的最后一行,最后一列的值。程序五:function r,quad,err,h=romber(f,a,b,n,delta)% f是被积函数% a,b分别是积分的上下限% n+1是t数表的列数% delta是允许误差% r是t数表% quad是所求积分值m=1;h=b-a;err=1j=0;r=zeros(4,4);r(1,1)=h*(feval(f,a)+feval(f,b)/2while (errdelta)&(jn)|(j romber(f,0,1,5,0.5*(10(-8)回车得到 如图3.6 图3.6 高斯-勒让德求积公式的mat
7、lab实现程序六:function a,x=guass1(n) i=n+1; f=(sym(t)2-1)i; f=diff(f,i); t=solve(f); for j=1:i for k=1:i x(j,k)=t(k)(j-1); end if mod(j,2)=0 b(j)=0; else b(j)=2/j; end end x=inv(x); for j=1:i a(j)=0; x(j)=0; for k=1:i a(j)=a(j)+x(j,k)*b(k); x(j)=x(j)+t(j); end x(j)=x(j)/k; endfunction g= guasslegendre (a,b,n,m)% a,b分别是积分的上下限;% n+1为节点个数;% m是调用f1.m中第几个被积函数; a,x=guass1(n);g=0;for i=1:n+1 y(i)=(b-a)/2*x(i)+(a+b)/2; f(i)=f1(m,y(i); g=g+(b-a)/2*f(i)*a(i);end用m文件分别把上面两个自定义函数定义为名为guass1.m函数和guasslegendre.m函数用m文件定义一个名为f1.m的函数function f=f1(i,x) g(1)=sqrt(x);if x=0 g(2)=1;e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3人工智能应用29课件
- 2025年STEAM教育在中小学的推广模式与效果评价报告
- 地理●福建卷丨2024年福建省普通高中学业水平选择性考试地理试卷及答案
- 三零五带七抓管理体系
- 初中数学九年级下册统编教案 5.1二次函数教案
- DeepSeek高教应用场景规划方案
- 2025年全民创建卫生城市知识竞赛试题200题(附答案)
- 消防试题及答案
- 西方管理思想试题及答案
- 地理●全国甲卷丨2023年普通高等学校招生全国统一考试地理试卷及答案
- 2025年国家能源集团宁夏煤业公司招聘笔试参考题库含答案解析
- 智联招聘综合能力测试
- 2025年禁毒知识竞赛题库及答案(100题)
- 2024持续葡萄糖监测系统CGM行业发展前景主要市场技术壁垒及国企布局情况分析报告
- 动静脉内瘘围手术期的护理
- 项目工期管理
- 【MOOC】周恩来精神概论-淮阴师范学院 中国大学慕课MOOC答案
- 小学数学基础理论知到智慧树章节测试课后答案2024年秋咸阳职业技术学院
- 老年人如厕的护理
- 【MOOC】创业管理-江苏大学 中国大学慕课MOOC答案
- 《中国的科技成就》课件
评论
0/150
提交评论