-
2021-04-20 13:03:04
Matlab实验报告四(矩形法梯形法抛物线法求定积分)
数学与信息科学系实验报告
实验名称 定积分的近似计算 所属课程 数学软件与实验 实验类型 综合型实验 专 业 信息与计算科学 班 级 学 号 姓 名 指导教师 一、实验概述【实验目的】
【实验原理】
【实验环境】 MatlabR2010b二、实验内容分别用中点矩形法、梯形法、抛物线法计算,其中的值分别为.
1.分析问题
2.问题求解
矩形法:
function f zuoye fun,a,b,n
h b-a /n;
x a:h:b;
y x;
for i 2:n+1 y i fun x i +x i-1 /2 ;
end
f h*sum y 1:end
梯形法:
function f zuoye1 fun,a,b,n
h b-a /n;
x a:h:b;
y x;
for i 1:n+1 y i fun x i ;
end
f h* sum y -1/2*y 1 -1/2*y end ;
抛物线法:
function f zuoye3 fun,a,b,n
h b-a / 2*n ;
x a:h:b;
y x;
for i 1:2*n+1 y i fun x i ;
end
s1 0;
s2 0;
for i 1:n s1 s1+4*y 2*i ;
end
for i 2:n s2 s2+2*y 2*i-1 ;
end
s y 1 +y end +s1+s2;
f b-a / 6*n *s;
x 0.1的方程:
function f f1 x
f sqrt 1+0.1^2*cos x .^2 ;
x 0.5的方程:
function f f1 x
f sqrt 1+0.5^2*cos x .^2 ;
x 0.9的方程:
function f f1 x
f sqrt 1+0.9^2*cos x .^2 ;
3.结果
f zuoye @f1,0,2*pi,100
f 6.2989
f zuoye1 @f1,0,2*pi,100
f 6.2989
f zuoye3 @f1,0,2*pi,100
x 6.2989
4.结论及分析
三、实验小结
1
更多相关内容 -
如何用矩形法(梯形法)求定积分
2020-09-05 01:42:13思路就是将积分区间划分成n等份,然后将这n等份近似看成矩形(或梯形),然后对所有的矩形(或梯形)的面积进行求和 -
C语言使用矩形法求定积分的通用函数
2021-04-23 19:48:33本文为大家分享了C语言使用矩形法求定积分的通用函数,供大家参考,具体内容如下要求:写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x 。分析:矩形法,学过高等数学就知道化曲为直的思想。将定积分...本文为大家分享了C语言使用矩形法求定积分的通用函数,供大家参考,具体内容如下
要求:
写一个用矩形法求定积分的通用函数,分别求:sin(x),cos(x),e^x 。
分析:
矩形法,学过高等数学就知道化曲为直的思想。将定积分化为多个函数连续的和。基本思想是将区间[a,b]化成n等分,当n越大的时候结果越准确。图形化成一小块一小块的矩形。底边长都为(b-a)/n.高为每个等分点的函数值。然后将每个矩形的面积相加即为所求。
如:
y=x;
可以通过矩形的方法来无限逼近定积分的求解,如下:
因为被分成n等分,就可以认为每一等分是一个矩形,那么每一矩形的面积为: 每一个矩形面积为:***Sn=f(x)(b-a)/n 总面积为:****S=S1+S2+…+Sn
#include
#include
#include //引入sin x,cos x,e^x的库
//使用指向函数的指针变量来复用一个通用函数
int main()
{
int i,j,k,n,m;
float res;
float (*fun)(float);//定义指向函数的指针变量
float integral (float a,float b,float (*fun)(float),int n);//n为将积分区间(b-a)分成n等分,当n的值越大的时候结果越精确,数学上的定义是取无穷大
float fsin(float);//sin x函数的声明
float fcos(float);//cos x函数的声明
float fexp(float);//e^x 函数的声明
printf ("请输入积分的下限\n");
scanf ("%d",&m);
printf ("请输入积分的上限\n");
scanf ("%d",&n);
printf("请输入你要计算的函数的具体函数\n");
printf("1.sin(x) 2.cos(x) 3.e^x\n");
scanf ("%d",&i);
switch(i)
{
case 1:
fun=fsin;//函数地址(入口)交给指针变量,灵活性强
break;
case 2:
fun=fcos;
break;
case 3:
fun=fexp;
}
res=(fun)(2.00);
//printf("xxxx=%f\n",res);
printf ("计算的结果为\n");
res=integral(m,n,fun,200000);
printf("res=%f",res);
return 0;
}
float fsin(float x)
{
// printf("fsinx=%f\n",x);
return sin(x);
}
float fcos(float x)
{
//printf("fcosx=%f\n",x);
return cos(x);
}
float fexp(float x)
{
//getchar();
//printf("fexp=%f\n",x);
return exp(x);
}
float integral(float a,float b,float (*fun)(float),int n)
{
//矩形法计算,定积分转换为连续求和的形式
int i=0;
float x=a,s=0;
float h=(b-a)/n;
for (i=1;i<=n;i++)
{
x=x+h;
s=s+((*fun)(x)*h);
}
return s;
}
结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
-
2 矩形公式的MATLAB程序
2020-06-07 17:25:08用MATLAB矩形公式计算 并与精确值进行比较。 >> h=pi/40;x=0:h:pi/2; >> y=exp(sin(x)); >> z1=sum(y(1:20))*h z1 = 3.0364 >> z2=sum(y(2:21))*h z2 = 3.1713 >> syms x >...1 用sum函数计算定积分
sum函数调用格式
sum(X);
sum(X,dim);
用MATLAB矩形公式计算
并与精确值进行比较。>> h=pi/40;x=0:h:pi/2; >> y=exp(sin(x)); >> z1=sum(y(1:20))*h z1 = 3.0364 >> z2=sum(y(2:21))*h z2 = 3.1713 >> syms x >> F=int(exp(sin(x)),x,0,pi/2) F = int(exp(sin(x)), x, 0, pi/2) >> Fs=double(F) Fs = 3.1044 >> wz1=abs(Fs-z1),wz2=abs(Fs-z2) wz1 = 0.0680 wz2 = 0.0670
2 用consum函数计算定积分
cumsum函数调用格式
cumsum(X);
cumsum(X,dim);
用MATLAB的函数sum和cumsum及矩形公式计算
并与精确值进行比较。>> h=pi/40;x=0:h:pi/2;y=exp(-x).*sin(x); >>> z1=sum(y(1:20))*h,z2=sum(y(2:21))*h,z=cumsum(y); z1 = 0.3873 z2 = 0.4036 >> z11=cumsum(z(20))*h z11 = 0.3873 >> z11=cumsum(z(21)-z(1))*h z12 = 0.4036 >> wz1=abs(Fs-z1),wz2=abs(Fs-z2) wz1 = 0.0088 wz2 = 0.0075
这两种函数求矩形区域积分的原理是一样的,都是分割,求和。
与最开始圆的计算原理一样。 -
MATLAB实验三 定积分的近似计算
2021-04-23 11:24:45实验三定积分的近似计算一、问题背景与实验目的利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似...实验三定积分的近似计算
一、问题背景与实验目的
利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分.
本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法.对于定积分的近似数值计算,Matlab有专门函数可用.
二、相关函数(命令)及简介
1.sum(a):求数组a的和.
2.format long:长格式,即屏幕显示15位有效数字.
(注:由于本实验要比较近似解法和精确求解间的误差,需要更高的精度).3.double():若输入的是字符则转化为相应的ASCII码;若输入的是整型数值则转化为相应的实型数值.
4.quad():抛物线法求数值积分.
格式: quad(fun,a,b) ,注意此处的fun是函数,并且为数值形式的,所以使用*、/、^等运算时要在其前加上小数点,即 .*、./、.^等.例:Q = quad('1./(x.^3-2*x-5)',0,2);
5.trapz():梯形法求数值积分.
格式:trapz(x,y)
其中x为带有步长的积分区间;y为数值形式的运算(相当于上面介绍的函数fun)
例:计算
0sin()d
x x
π
⎰
x=0:pi/100:pi;y=sin(x);
trapz(x,y)
6.dblquad():抛物线法求二重数值积分.
格式:dblquad(fun,xmin,xmax,ymin,ymax),fun可以用inline定义,也可以通过某个函数文件的句柄传递.
例1:Q1 = dblquad(inline('y*sin(x)'), pi, 2*pi, 0, pi)
顺便计算下面的Q2,通过计算,比较Q1 与Q2结果(或加上手工验算),找出积分变量x、y的上下限的函数代入方法.
Q2 = dblquad(inline('y*sin(x)'), 0, pi, pi, 2*pi)
例2:Q3 = dblquad(@integrnd, pi, 2*pi, 0, pi)
这时必须存在一个函数文件:
53
-
matlab用辛普森公式求积分_标准正态分布概率密度函数的定积分计算方法及Python实现代码...
2020-11-20 18:43:21梯形公式 为了计算出更加准确的定积分,采用梯形代替矩形计算定积分近似值,其思想是求若干个梯形的面积之和,这些梯形的长短边由函数值来决定。这些梯形左上角和右上角在被积函数上。这样,这些梯形的面积之和就约... -
matlab用辛普森公式求积分_数值积分常用方法
2020-11-21 11:26:44数值积分的基本思想由积分中值定理可知,在积分区间 内存在一点 ,成立 式的几何意义即为:底为 而高为 的矩形的面积恰等于所求曲边梯形的面积 。因此,要想求出 式左端积分,我们只需要知道三个值: 即可,这里 是... -
定积分的近似计算(数学实验报告matlab版).doc
2021-04-22 01:47:3612月 5日班级2011应数一班姓名孙婉婉学号1101114143实验名称定积分的近似计算加深理解积分理论中分割、近似、求和、取极限的思想方法了解定积分近似计算的矩形法、梯形法与抛物线法会用MATLAB语言编写求定积分近似值... -
matlab如何求解定积分
2021-04-23 12:20:22用递推公式计算定积分(matlab版)_数学_自然科学_专业资料。.. . 用递推公式计算定积分实验目的: 1.充分理解不稳定的计算方法会造成误差的积累,在计算过程中会......这样求定积分问题就分解为求和问题。 2.数值积分的... -
三用MATLAB实现定积分计算.PPT
2021-04-23 08:48:05令用式计算我们不妨只考虑二高斯求积公式各种近似求积公式都可以表示为若...积分近似值有代数精度为而构造代数精度为的形如的求积公式成立依次将代入即可得到确定的方程组如何选择节点和系数使计算的精度更高对于应该有... -
编写程序,使用矩形法、梯形法、辛普生法计算一重积分
2021-04-22 01:11:20function ss=exam3_3(t,a,b,n)%format long%exam3_3(1,0,1,200)%exam3_3(2,0,1,200)%exam3_3(3,0,1,200)%exam3_3(4,0,1,200)%一元函数积分%t控制积分方法 [a,b]对应积分区间 n 分割份数% ss积分近似值 er误差dx=(b-a... -
复化梯形公式积分计算 matlab程序
2011-03-26 13:37:53计算定积分,在函数体中修改函数名和上下限以及误差精度。 matlab程序m文件。 -
matlab求不定积分定积分
2021-04-18 04:13:49运用matlab 求不定积分及定积分近似值的方法Matlab 作为一款强大的数学软件,通过计算机使一些不定积分及定积分计算变得简单,运用好这款软件,能有效地计算各种问题。微积分基本定理(Newton-Leibniz 公式):f(x)在... -
matlab图像定积分
2021-04-20 03:41:12用递推公式计算定积分(matlab版)_数学_自然科学_专业资料。.. . 用递推公式计算定积分实验目的: 1.充分理解不稳定的计算方法会造成误差的积累,在计算过程中会......这样求定积分问题就分解为求和问题。 2.数值积分的... -
用matlab求定积分的三个实例代码
2021-04-18 03:48:52一、符号积分符号积分由函数int来实现。该函数的一般调用格式为:int(s):...int(s,v,a,b):求定积分运算。a,b分别表示定积分的下限和上限。该函数求被积函数在区间[a,b]上的定积分。a和b可以是两个具体的数,也可以... -
matlab实验三 定积分的近似计算.doc
2021-04-19 02:40:02matlab实验三 定积分的近似计算.doc 53实验三定积分的近似计算一、问题背景与实验目的利用牛顿莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不... -
matlab 实验二 定积分的近似计算
2021-04-19 02:39:38实验二定积分的近似计算利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的... -
matlab利用复化梯形公式,复化simpson公式计算积分
2011-03-26 13:22:27matlab中利用复化梯形公式和复化simpson公式实现积分运算,对于数值计算类课程很有帮助。 -
用matlab编写程序求f(x)在[a,b]的定积分,用梯形法写出程序!
2021-04-18 04:46:34%梯形法求累计积分 plot(x,y,x,s) 计算xsin(x)在[0,4]的定积分答:matlab中,用梯形法计算定积分的函数是trapz函数。tapz调用格式为: Z = trapz(X,Y,DIM) X为自变量,可以缺省,缺省时函zhuan数将做间隔为1的积分... -
matlab定积分运算
2021-04-22 06:19:30该函数地一般调用格式为: int(s):没有指定积分变量和积分阶数时,系统......(end) %采样间隔 %数值计算适合于有限区间上,取 %计算区间内曲线下图形面积,为 %所求定积分值 %图示 plot(t,Ft,'*r','MarkerSize',4) hold... -
玩转matlab之一维 gauss 数值积分公式及matlab源代码
2021-04-18 11:55:20在数值分析中,尤其是有限元刚度矩阵、质量矩阵等的计算中,必然要求如下定积分: $$ I=\int_a^b f(x)dx $$学好gauss积分也是学好有限元的重要基础,学过高等数学的都知道,手动积分能把人搞死(微笑脸),而且有些函数... -
matlab定积分的近似计算.ppt
2021-04-19 02:39:40matlab定积分的近似计算.ppt MATLAB数学建模与仿真 定积分的近似计算 2 定积分计算的基本公式是牛顿 莱布尼兹公式 但当被积函数的原函数不知道时 如何计算 这时就需要利用近似计算 特别是在许多实际应用中 被积函数... -
matlab 求函数f(x)在[a,b]上的定积分的程序 用定义求解
2021-04-20 07:26:40假定用矩形或梯形拟合吧% function yanshi(fname,a,b,n)% %定积...给你一个例子。x=-1:0.05:1的积分区间划成步长为0.05的41个等分y=exp(-x...dx=0.1;x=0:dx:4;y=x.*sin(x);s=cumtrapz(y)*dx; %梯形法...quadgk(@(x)x... -
用matlab画(求)没有原函数的不定积分图像(定积分值)
2020-05-27 17:31:43用matlab画(求)没有原函数的不定积分图像(定积分值)问题描述求定积分值画原函数图像具体实例结论 问题描述 一般情况,用matlab的int函数可以很方便求解一个不定积分或者定积分值,并且通过plot画出其图像,但是... -
编程MATLAB程序实现复化梯形和辛普森数值积分.pdf
2020-09-02 12:41:44. 数值分析实验报告 实 [1] 掌握复化梯形和辛普森数值积分法的... 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x*log(x; 实 验 function T_n=F_H_T(a,b,n) 内 h=(b-a)/n; 容 for k=0:n 与 x(k+1)=a+k -
C语言复合梯形公式实现定积分
2021-05-19 19:00:12根据定积分的定义及几何意义,定积分就是求函数fx在区间,ab中图线下包围的面积。将积分区间n等分,各子区间的面积近似等于梯形的面积,面积的计算运用梯形公式求解,再累加各区间的面积,所得的和近似等于被... -
定积分问题的数值求解及Matlab实现
2021-04-18 12:49:28第 28 卷 第 5 期 2012 年 10 月 哈尔滨商业大学学报( 自然科学版) Journal of Harbin University of Commerce ( Natural Sciences Edition) Vol. 28 No. 5 Oct. 2012 收稿日期:2012 -03 -12.... 定积分问题... -
matlab实验报告--定积分的近似计算 -
2021-04-25 13:05:45数学实验报告实验序号:2 日期:2013 年11 月30日班级应数二班姓名丁慧娜学号1101114088实验名称定积分的近似计算实验所用软件及版本MATLAB R2012b问题背景描述:利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的...