#Author:glm233

#这个程序就是一个黑箱接口,把要进行龙贝格求积的函数放在func函数里,可以自行修改,然后范围就是在Romberg里改

import math

'''给定一个函数,如:f(x)= x^(3/2),和积分上下限a,b,用机械求积Romberg公式求积分。'''

import numpy as np

def func(x):

return x**2+math.sin(x)/x

class Romberg:

def __init__(self, integ_dowlimit, integ_uplimit):

'''初始化积分上限integ_uplimit和积分下限integ_dowlimit输入一个函数,输出函数在积分上下限的积分'''

self.integ_uplimit = integ_uplimit

self.integ_dowlimit = integ_dowlimit

def calc(self):

'''计算Richardson外推算法的四个序列'''

t_seq1 = np.zeros(5, 'f')

s_seq2 = np.zeros(4, 'f')

c_seq3 = np.zeros(3, 'f')

r_seq4 = np.zeros(2, 'f')

# 循环生成hm间距序列

hm = [(self.integ_uplimit - self.integ_dowlimit) / (2 ** i) for i in range(0,5)]

print(hm)

# 循环生成t_seq1

fa = func(self.integ_dowlimit)

fb = func(self.integ_uplimit)

t0 = (1 / 2) * (self.integ_uplimit - self.integ_dowlimit) * (fa+fb)

t_seq1[0] = t0

for i in range(1, 5):

sum = 0

# 多出来的点的累加和

for each in range(1, 2**i,2):

sum =sum + hm[i]*func( self.integ_dowlimit+each * hm[i])#计算两项值

temp1 = 1 / 2 * t_seq1[i - 1]

temp2 =sum

temp = temp1 + temp2

# 求t_seql的1-4位

t_seq1[i] = temp

print('T序列:'+ str(list(t_seq1)))

# 循环生成s_seq2

s_seq2 = [round((4 * t_seq1[i + 1] - t_seq1[i]) / 3,6) for i in range(0, 4)]

print('S序列:' + str(list(s_seq2)))

# 循环生成c_seq3

c_seq3 = [round((4 ** 2 * s_seq2[i + 1] - s_seq2[i]) / (4 ** 2 - 1),6) for i in range(0, 3)]

print('C序列:' + str(list(c_seq3)))

# 循环生成r_seq4

r_seq4 = [round((4 ** 3 * c_seq3[i + 1] - c_seq3[i]) / (4 ** 3 - 1),6) for i in range(0, 2)]

print('R序列:' + str(list(r_seq4)))

r_seq5 = [round((4 ** 4 * r_seq4[i + 1] - r_seq4[i]) / (4 ** 4 - 1),6) for i in range(0, 1)]

print('A序列:' + str(list(r_seq5)))

return 'end'

rom = Romberg(0.3, 0.8)

print(rom.calc())

python乘积函数_龙贝格求积公式(Python实现)相关推荐

  1. 数值积分: 梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式

    数值积分:梯形规则--复合梯形规则--辛普森规则--复合辛普森规则--龙贝格求积公式 1.问题描述 微积分方法求积有很大的局限性,当碰到被积函数很复杂时,找不到相应的原函数.积分值 在几何上可解释为由 ...

  2. Romberg(龙贝格)求积公式求解数值积分时的注意事项

    <数值分析>第5版(李庆扬编著)的第四章课后习题第8-(2)题中,要求使用Romberg(龙贝格)求积公式求解f(x)=xsinx在区间[0,2pi]上的积分,要求误差小于10^(-5). ...

  3. python fact函数_第5天:Python 函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,所以我经常说函数是程序员规模化使用的基础. 函数能提高应用的模块性,和代码的重复利用率.在程序设计中,常将一些常用的功能模块编写成函数 ...

  4. Romberg算法(龙贝格求积公式C语言实现)

    目录 1.原理 2.案例 3.代码 4.结果 5.误差分析 1.原理 2.案例 3.代码 #include<stdio.h> #include<math.h> float f( ...

  5. python事件处理函数_事件驱动的简明讲解(python实现)

    关键词:编程范式,事件驱动,回调函数,观察者模式 作者:码匠信龙 举个简单的例子: 有些人喜欢的某个公众号,然后去关注这个公众号,哪天这个公众号发布了篇新的文章,没多久订阅者就会在微信里收到这个公众号 ...

  6. python纯函数_理想国真恵玩Python从入门到精通第006天_纯函数写游戏管理系统

    原标题:理想国真恵玩Python从入门到精通第006天_纯函数写游戏管理系统 前面已经带大家学习了函数,高级数据类型,比如说字典,今天带大家用函数加字典做一个游戏管理系统,希望大家喜欢.废话不多说,直 ...

  7. python数学函数_「分享」关于Python整理的常用数学函数整理

    原标题:「分享」关于Python整理的常用数学函数整理 1.函数说明 abs(number)返回数字的绝对值,如abs(-10)返回10 pow(x,y[,z]) 返回x的y次幂(所得结果对z取模), ...

  8. python初始化函数_当你学会了Python爬虫,网上的图片素材就免费了

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 加入作者的python学习圈子:1156465813 即可免费获取,资料全 ...

  9. python初始化函数_当你学会了Python爬虫,网上的图片素材就开始免费了

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 加企鹅群695185429即可免费获取,资料全在群文件里.资料可以领取包括 ...

最新文章

  1. 6月27日比特币现金消息总结
  2. 【网站搭建】搭建独立域名博客 -- 独立域名博客上线了 www.hanshuliang.com
  3. 电子信息科学与技术计算机科学与技术会计学,我是本三学生 学的电子信息科学与技术专业 今年大三 从没接触过会计 想考注册会计师 可以么 ?...
  4. 在 IE 中使用 HTML5 元素
  5. SublimeText2使用笔记
  6. [转]Tomcat启动报错:AnnotationConfigBeanDefinitionParser are only available on JDK 1.5 and higher...
  7. python如何实现日期格式的转换_python开发中时间格式如何转化?
  8. 游戏开发之函数的重载(C++基础)
  9. 深入浅出设计模式① —— 设计模式之路
  10. jade linux 安装教程,ROS-Jade版在UbuntuKylin15.04上的安装
  11. Lua 包管理 - Luarocks 使用指南
  12. Scrapy框架之传智项目整理
  13. 计算机网络协议指的是tcp ip协议吗,计算机除了有网络协议也就是TCP/IP协议以外,还有什么协议呢?...
  14. PlatoFarm几大创新经济模型,给予当下元宇宙市场的启发
  15. 区块链的共识机制是什么?
  16. 聊一聊龙蜥硬件兼容性 SIG 那些事儿 | 龙蜥 SIG
  17. Linux 用着太爽啦!!!
  18. 王者荣耀段位计算器软件
  19. python学了两个月我就开始接单了
  20. 企业号 php 考勤,使用微信企业号实现微信考勤和办公

热门文章

  1. RocketMQ学习第一步之源码构建
  2. c语言两数相加vs,两数相加(C语言)
  3. [TaskList] 省选前板子补完计划
  4. HDU——2768 Cat vs. Dog
  5. React文档(一)安装
  6. servlet下根据相对路径找资源
  7. Running Trinity in multiple steps
  8. Vue路由History模式分析
  9. cookie文件存放在服务器端,cookie存储在客户端还是服务器
  10. css3 呼吸的莲花_CSS3制作莲花盛开动画