-
复化辛普森公式n_复化辛普森公式及龙贝格方法求解积分
2021-02-05 09:51:27实验目的:(1) 学习用复化辛普森公式及龙贝格方法求解积分并掌握这种方法。(2)了解这些辛普森公式及龙贝格方法的概念,参考课本写出用复化辛普森算法以及龙贝格方法计算目标题目的程序,在matlab 中实现,并用...一、实验目的及题目
1. 实验目的:
(1) 学习用复化辛普森公式及龙贝格方法求解积分并掌握这种方法。
(2)了解这些辛普森公式及龙贝格方法的概念,参考课本写出用复化辛普森算法以及龙贝格方法计算目标题目的程序,在matlab 中实现,并用matlab 内置的函数计算出结果,并提出存在的问题。
2. 题目:
利用复化辛普森公式和龙贝格方法计算下列积分: (1)dx e x ?-5
.002
(2)dx x x ?20
2sin )2sin(cos π
二、实验用仪器设备、器材或软件环境 计算机、matlab 软件。
三、实验原理、程序框图、程序代码 1.实验原理:
根据微积分学基本定理,若被积函数f(x)在区间[a,b]上连续,只要能找到f(x)的一个原函数F(x),便可利用牛顿-莱布尼茨公式求得积分值。但会经常遇到如下问题:找不到用初等函数,找到了原函数,但因表达式过于复杂而不便计算等等。此时则不能用牛顿-莱布尼茨公式,因此有必要研究如下公式。 1)复化求积公式及原理
由于高阶插值的不稳定性,为了提高计算积分的精度,可把积分区间分为若干个
小区间,将()I f 写成这些小区间上的积分之和,然后对每一个小区间上的积分应用到辛普森公式,或柯特斯公式,并把每个小区间上的结果累加,所得到的求积公式就称为复化求积公式。
辛普森公式的数值积分公式为:
?
+++-≈
b
a
b f b a f a f a b dx x f )]()2
(
4)([6
)(
-
MATLAB复化辛普森(Simpson)公式和复化梯形公式求积分
2019-12-26 09:36:22包含代码和文档 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。 采用复化梯形公式和复化辛普森公式求积分,并与精确值进行比较得下表。 -
数值积分matlap复化梯形法,复化辛普森法,龙贝格法,三点高斯公式程序.rar
2020-05-18 09:27:40文件中包含了4种数值积分方法,分别是复化梯形法,复化辛普森法,龙贝格法,三点高斯公式,对于求解复杂函数的积分问题很有帮助。是学习计算方法和数值积分的好代码。 -
Python实现梯形公式 、辛普森公式、复化梯形公式、复化辛普森公式
2021-01-19 09:05:58数值分析:梯形公式 、辛普森公式、复化梯形公式、复化辛普森公式 Python实现梯形公式 、辛普森公式、复化梯形公式、复化辛普森公式 数值求积公式概念 梯形公式与辛普森公式 梯形公式与辛普森公式的余项 复化求积...数值分析:梯形公式 、辛普森公式、复化梯形公式、复化辛普森公式
Python实现梯形公式 、辛普森公式、复化梯形公式、复化辛普森公式
数值求积公式概念
梯形公式与辛普森公式
梯形公式与辛普森公式的余项
复化求积公式
复化梯形公式与其余项
复化辛普森公式与其余项
Python实现四种公式.
题目.
Python编写梯形公式、辛普森公式、复化梯形公式、复化辛普森公式
并利用其分别求解sqrt(x) * log(x) 与 sin(x)/x 在(0,1)上的积分。具体代码实现:
import math import numpy as np import matplotlib.pyplot as plt #待求解数值积分sqrt(x) * log(x) def f1(x): if (float(np.fabs(x))<1e-15) : return 0 y=np.sqrt(x) * np.log(x) return y #待求解数值积分sin(x)/x def f2(x): if (float(np.fabs(x)) < 1e-15): return 1 y=np.sin(x)/x return y #梯形公式 f为待求解积分 a为积分下限 b为积分上限 def TX(f,a,b): TX = 0.5 * (b - a) * (f(a) + f(b)) print("梯形公式计算结果为:TX = ", TX) #辛普森公式 f为待求解积分 a为积分下限 b为积分上限 def XPS(f,a,b): XPS = (b-a)*(f(a)+4*f((a+b)/2)+f(b))/6.0 print("辛普森公式计算结果为:XPS = ", XPS) #复化梯形公式 f为待求解积分 a为积分下限 b为积分上限 n为区间等分数 def FHTx(f,a,b,n): ti=0.0 h=(b-a)/n ti=f(a)+f(b) for k in range(1,int(n)): xk=a+k*h ti = ti + 2 * f(xk) FHTx = ti*h/2 print("复化梯形公式计算结果为:FHTx = ", FHTx) #复化辛普森公式 f为待求解积分 a为积分下限 b为积分上限 n为区间等分数 def FHXPs(f,a,b,n): si=0.0 h = (b - a) / (2 * n) si=f(a)+f(b) for k in range(1,int(n)): xk = a + k * 2 * h si = si + 2 * f(xk) for k in range(int(n)): xk = a + (k * 2 + 1) * h si = si + 4 * f(xk) FHXPs = si*h/3 print("复化辛普森公式计算结果为:FHXPs = ", FHXPs) def main(): a = input("a = ") # 积分下限 b = input("b = ") # 积分上限 a = float(a) # 强制转换为float类型 b = float(b) n = input("n = ") #将区间分成为n等份 n = float(n) #TX(f2,a,b) #调用梯形公式求解 #XPS(f2,a,b) #调用辛普森公式求解 #FHTx(f2,a,b,n) #调用复化梯形公式求解 FHXPs(f2,a,b,n) #调用复化辛普森公式求解 if __name__ == '__main__': main()
-
复化辛普森法计算矩形区域二重积分-Python实现
2020-09-25 11:39:53自编Python程序实现数值计算矩形区域二重积分,使用复化辛普森法。以函数f=xsiny在0和pi/2区域上的积分为例。网格节点数m,n需为2的倍数。对于非矩形区域可以使用虚拟节点和区域,填补为矩形区域后计算,填补区域上... -
复化梯形公式和复化辛普森公式的对比分析与应用
2020-01-29 21:39:57复化梯形公式和复化辛普森公式的对比分析与应用,刁红,赵晓慧, 通过结合复化梯形公式和辛普森公式概念和性质的论述,将其进行对比和示例的演示,诣在了解数值分析在实际中的应用以及复化积分� -
复化辛普森Simpson求积公式 c语言实现 数值积分
2018-01-31 12:44:42复化辛普森Simpson求积公式 c语言实现 数值积分复化辛普森Simpson求积公式 c语言实现 数值积分
标签:计算方法实验
/* 本实验用复化辛普森求积公式求sinx在[1, 2]的定积分。 */ #include <stdio.h> #include <math.h> double f(double x){ return sin(x); } double Simpson(double a, double b, int n){ double h = (b - a) / n, s1 = f(a + h / 2), s2 = 0; for(int i = 1; i < n; i++){ //1 <= k <= n - 1 s1 += f(a + i * h + h / 2); s2 += f(a + i * h); } return h * (f(a) + 4 * s1 + 2 * s2 + f(b)) / 6; } int main(){ int n = 8; //区间等分数 double a = 1, b = 2; //上下限 printf("answer = %f\n", Simpson(a, b, n)); return 0; }
实验结果
-
复化辛普森公式求二重积分matlab源码及例题
2020-06-08 17:04:18复化辛普森公式求二重积分matlab源码 直接拷贝到matlab编辑器,傻瓜式操作。具体算法自行探究,网上都有,小编只提供代码。用的好的请加个关注,篱落~~成殇~~再次先行谢过。 %%%%%%%%%% 2020.6.5 %%%%%%%%% %%%%...复化辛普森公式求二重积分matlab源码
直接拷贝到matlab编辑器,傻瓜式操作。具体算法自行探究,网上都有,小编只提供代码。用的好的请加个关注,篱落~~成殇~~再次先行谢过。
%%%%%%%%%% 2020.6.5 %%%%%%%%% %%%%%%%%%%复化Simpson公式求二重积分%%%%%%%%% %%%%%%%%%% Liu Deping %%%%%%%%% clear all; %%%被积函数及积分上下限导入; s=input('请输入函数表达式:f = ','s'); f=inline(s); a = input('请输入积分变量x左边界a的值:'); b = input('请输入积分变量x右边界b的值:'); c = input('请输入积分变量y左边界c的值:'); d = input('请输入积分变量y右边界d的值:'); h1 = input('请输入积分变量x步长h1的值:'); h2 = input('请输入积分变量y步长h2的值:'); m=round((b-a)/h1); n=round((d-c)/h2); %%%系数表T,t[i,j]为复化梯形公式的系数; T=zeros(m+1,n+1); R=[1,4,1;4,16,4;1,4,1]; for p=0:m/2-1 for q=0:n/2-1 for i=1:3 for j=1:3 T(i+2*p,j+2*q)=T(i+2*p,j+2*q)+R(i,j); end end end end fprintf('系数表:'); T %%%计算各二维节点函数值,并存放于矩阵F中; F=zeros(m+1,n+1); for i=0:m for j=0:n F(i+1,j+1)=f(a+i*h1,c+j*h2); end end %%%结果输出; format long; fprintf('各节点函数值;') F fprintf('复化Simpson公式计算结果;') Snm=(b-a)*(d-c)/(9*m*n)*sum(sum(T.*F))
下面附上一个例题吧,感受一下代码的强大。
只看第(2)问,利用辛普森公式计算积分。(关于第一问的代码可以去关注上一篇文章〈复化梯形公式公式求二重积分matlab源码〉)
步骤:
1.复制代码到matlab编辑器,点击运行;
2.按照提示输入:
3.得到结果(包括系数、节点函数值和积分结果):
如果代码对你有帮助,请加一下关注,如果有问题可以私聊!最后,再次感谢喜欢我的小伙伴。 -
复化梯形、复化辛普森、复化科特斯、龙贝格MATLAB实现
2019-05-16 17:11:44%下面除了龙贝格外,其他均以此fun函数作为被积函数 %梯形、辛普森、科特斯:都是已知积分上下限和分段数,求解积分近似值。 function a = fun(x) a = cos(x*x);...% Tn :复化梯形积分结果 h = (xR-x... -
C++实现复化辛普森公式求积分算法
2019-09-21 20:51:21取 n=10,利用复化辛普森公式计算积分: 3. 程序代码 # include using namespace std ; double fun ( double x ) { return 4 / ( 1 + x * x ) ; } double Simpson ( ... -
计算方法之数值积分方法——复化梯形法,复化辛普森法,龙贝格法,三点高斯公式 附matlap程序下载
2020-05-18 09:52:47数值积分 复化求积法就是将求积区间[a,b]划分为n等份,步长h=(b-a)/n,等分点为xi=a+ih,i=0,1...(2): 复化辛普森法设计思想:即用simpson公式求每个子段[xi,xi+1]上的积分值。然后再将各子段积分值求和,得到公式: (3) -
自适应复化辛普森公式求积算法(C语言实现)
2019-10-12 18:44:13自适应复化辛普森公式求积算法(C语言实现)利用复化辛普森公式求积分自适应步骤基于C语言实现的代码 利用复化辛普森公式求积分自适应步骤 h为步长,a为积分下限,b为积分上限,f为积分函数,n为划分的积分次数,ε... -
编程MATLAB程序 实现复化梯形和辛普森数值积分.pdf
2020-11-11 17:08:32数值分析实验报告 [1] 掌握复化梯形和辛普森数值积分法的基本原理和方法 实 验 [2] 编程 MATLAB程序实现复化梯形和辛普森数值积分 目 的 1. 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x*log(x; 实... -
编程MATLAB程序实现复化梯形和辛普森数值积分.pdf
2020-09-02 12:41:44数值分析实验报告 实 [1] 掌握复化梯形和辛普森数值积分法的基本原理和方法 验 目 [2] 编程 MA TLAB 程序实现复化梯形和辛普森数值积分 的 1. 编程序实现复化梯形数值积分求积公式 function y=f(x) y=sqrt(x*log(x;... -
【数值分析实验MATLAB】数值积分:梯形公式、辛普森公式、复化梯形公式、复化辛普森公式、龙贝格算法、...
2020-01-21 17:06:50复化辛普森公式: a = 0 ; b = 1 ; e = 1e-6 ; N = 20 ; n = 0 ; h0 = ( b-a ) /2 ; S0 = h0/3* ( f1 ( a ) +f1 ( b ) +4*f1 (( a + b ) / 2 )) ; while n < N n = n+1 ; h1 = h0/2 ; sum1 = 0 ; ... -
基于Java实现通过复化梯形公式、复化辛普森公式以及精度为0.025的自动选步长梯形公式对积分求解
2020-03-31 21:24:24System.out.print("复化辛普森计算得出:"+s); } public static void certainStep(double a,double b,double eps){ boolean done = false; int n = 1; double h=b-a; double tn = h*(0.8771925739840309+fun(b))/2;... -
复化梯形法和辛普森数值积分的matlab实现程序
2013-06-30 11:06:20这是一段复化梯形法和辛普森数值积分的matlab实现程序。 -
复化梯形公式和复化辛普森公式matlab_科学计算第五讲(Newton-Cotes公式与复化公式及其误差估计,逐次分半与...
2020-12-14 20:00:33第五章、数值积分5.1Newton-Cotes公式目标:定积分 难点: 原函数不好求思路: ,其中 是插值多项式5.1.1梯形求积公式使用 两个点的插值多项式. 用梯形面积近似积分5.1.2抛物线形求积公式(Simpson公式)使用 三个点的... -
求解函数定积分,梯形公式、复化梯形公式、复合辛普森公式求解定积分近似值程序
2016-10-20 11:19:07以函数f(x)=sin(x)/x为例,求解其在[0,1]区间的定积分。 #include #include #include #include #include using namespace std; const int inf=0x3f3f3f3f; double f(double x)//定义和修改函数f(x) { if... -
python辛普森积分_Python龙贝格法求积分实例
2020-12-02 14:21:25# 龙贝格法求积分import matha=0 # 积分下限b=1 # 积分上限eps=10**-5 # 精度T=[] # 复化梯形序列S=[] # Simpson序列C=[] # Cotes序列R=[] # Romberg序列def func(x): # 被积函数y=math.exp(-x)return ydef Romberg...
-
用微服务spring cloud架构打造物联网云平台
-
近期总结的一些面试问题
-
2021 PHP租车系统 毕业设计 毕设源码 源代码使用教程
-
JavaWeb之JavaBean
-
美团外卖Android平台化架构演进实践
-
朱老师c++课程第3部分-3.5STL的其他容器讲解
-
程序员必修基础套餐课
-
PTA 基础编程题目集 7-38 数列求和-加强版 (20 分)
-
数据仓库多维数据模型设计
-
Linux基础入门系列课程
-
有相同元素值时的快速排序——对经典快速排序划分过程的改进
-
DHCP 动态主机配置服务(在Linux环境下,配置单网段或跨网段提)
-
LeetCode刷题(9. 回文数)
-
自动释放数据库句柄和结果集(RAII机制)
-
Kubernetes下日志采集、存储与处理技术实践
-
安卓数据库案例
-
arwin:Visual C ++项目中的arwin-源码
-
ELF视频教程
-
使用dockerfile-maven-plugin将java项目打包并推送到阿里云私服
-
全局绝热搜索算法的电路模型