第一范文网 - 专业文章范例文档资料分享平台

(matlab)数学实验报告二

来源:用户分享 时间:2025/8/17 21:13:33 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数学实验报告

实验序号:实验二 日期:2017年 12 月 7 日

班级 实验名称 信息与计算科学 定积分的近似计算 姓名 一羊炖错 学号 160******* 问题背景描述: 利用牛顿——莱布尼茨公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形。如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分。 实验目的: 本实验将主要研究定积分的三种近似计算算法: 矩形法、梯形法、抛物线法。对于定积分的近似数值计算,Matlab 有专门函数可用。 实验原理与数学模型: 相关函数(命令)及简介: l.sum(a): 求数组a 的和. 2.format long: 长格式,即屏幕显示15 位有效数字 (注: 由于本实验要比较近似解法和精确求解间的误差,需要更高的精度). 3.double(): 若输入的是字符则转化为相应的ASCII 码; 若输入的是整型数值则转化为相应的实型数值. 4.quad(): 抛物线法求数值积分 格式: quad(fun,a,b),注意此处的fun是函数,并且为数值形式,所以使用*、/、^等运算时要在其前加上小数点,即.*、./、.^ 等. 5.trapz(): 梯形法求数值积分. 格式: trapz(x,y). 其中x为带有步长的积分区间; y 为数值形式的运算(相当于上面介绍的函数fun). 6.dblquad():抛物线法求二重数值积分. 格式:dblquad(fun,xmin,xmax,ymin,ymax),fun可以用inline 定义,也可以通过某个函数文件的句柄传递。 7.fprintf(文件地址,格式,写入的变量): 把数据写入指定文件. 8.syms 变量1变量2...定义变量为符号. 9.sym(' 表达式'): 将表达式定义为符号, 解释: Matlab 中的符号运算事实上是借用了Maple 的软件包,所以当在Matlab中要对符号进行运算时,必须先把要用到的变量定义为符号, 10.int(f,v,a,b): 求f 关于U 积分,积分区间由a 到b. 11.subs(f,'x',a): 将a 的值赋给符号表达式f 中的ar,并计算出值.若简单地使用subs(f),则将f 的所有符号变量用可能的数值代入,并计算出值.

实验所用软件及版本: MATLAB R2016b 主要内容(要点): 1.矩形法 根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即 dx?f(x)ab?f(?)?xi ?i?1in在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度. 针对不同?i的取法,计算结果会有不同,我们以?1?x01dx2为例(取n= 100): (1) 左点法: 对等分区间x0=a

称此式为梯形公式. 3.抛物线法 由梯形法求近似值,当y= f(x) 为凹曲线时,它就偏小; 当y= f(x) 为凸曲线时,它就偏大.若每段改用与它凸性相接近的抛物线来近似时,就可减少上述缺点,这就是抛物线法. 将积分区间[a,b] 作2n 等分,分点依次为x0=a

方法2: dblquad(inline('x+y^2'),0,2,-1,1) (抛物线法求二重数值积分) 实验过程记录(含基本步骤、主要程序清单及异常情况记录等): 1. 分别用矩形法、梯形法、抛物线法计算dx?01?x2取n=258 1(1)矩形法: clear;clc; syms x fx; fx=(1+x^2)*(-1); a=0;b=1;n=258; h=(b-a)/n;Sum=0; for i=1:n xz=a+(i-1)*h; s=subs(fx,'x',xz)*h; Sum=Sum+s; end fprintf('积分为%g\\n',Sum); 运行结果:积分为-1.3314 (2)梯形法: clear;clc; syms x fx; fx=(1+x^2)*(-1); a=0;b=1;n=258; h=(b-a)/n;Sum=0; for i=1:n xj=a+(i-1)*h; xi=a+i*h; fxj=subs(fx,'x',xj); fxi=subs(fx,'x',xi); Sum=Sum+(fxj+fxi)*h/2; end fprintf('积分为%g\\n',Sum); 运行结果:积分为-1.33334 (3)抛物线法: clear;clc; n=258;a=0;b=1; h=(b-a)/n;inum5=0; %忘记初始化“inum5=0” f=@(x)(1+x^2)*(-1); %输入“@(x)”时忘记输入括号,写成“@x” for i=1:n x1=a+(i-1)*h;x2=a+i*h;x3=(x1+x2)/2; inum5=inum5+(f(x1)+4*f(x3)+f(x2))/6;

搜索更多关于: (matlab)数学实验报告二 的文档
(matlab)数学实验报告二.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4zxoy9le7u3fmdy9ul8q7b8vd538ce00y08_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top