复化求积公式
来源:互联网 发布:程序员的头像 编辑:程序博客网 时间:2024/04/30 05:01
一、简介
复化求积公式(composite integration rule )一类重要的求积公式,指将求积区间分为n个子区间,对每个子区间应用同一求积公式,所得到的复合数值积分公式。
详解
二、实现
# -*- coding: utf-8 -*-"""Created on Mon Dec 19 10:21:15 2016 复化梯形、复化Simpson@author: Administrator"""from numpy import *from scipy import integrateimport matplotlib.pyplot as plt#x [0,2pi]def f(x): return e**(3*x) * cos(pi * x)def T(a,b,n=50): h = (b - a) / n temp = 0 for i in range(1,n): x = a + i * h temp += 2 * f(x) return (b - a) / (2 * n) * (f(a) + temp + f(b))#50 100 200 500 1000def S(a,b,n=50): h = (b - a) / n temp1 = 0 temp2 = 0 for i in range(1,n): xk1 = a + h * i xk2 = a + h * (i + 1) xk12 = (xk1 + xk2) / 2 temp1 += f(xk1) temp2 += f(xk12) temp2 += f((a + a + h) / 2) return (b - a) / (6 * n) * (f(a) + 4 * temp2 + 2 * temp1 + f(b))if __name__ == '__main__': n =1000 #50 100 200 500 1000 a = 0 b = 2 * pi print 'Truth-value:',integrate.quad(f,a,b)[0] print 'T-Estimated-value:',T(a,b,n) print 'S-Estimated-value:',S(a,b,n) x = linspace(0,2*pi,100) y = f(x) fig = plt.figure(figsize=(8,4)) ax = fig.add_subplot(111) ax.set_xlabel('x') ax.set_ylabel('y') ax.plot(x,y,color='r',linestyle='-',label='f(x)') ax.legend(loc='upper left') fig.show() fig.savefig('a.png')
0 0
- 复化求积公式
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- 公式
- [数组公式] 数组公式
- 三角公式+菲涅尔公式
- 数论公式--斯大林公式
- 爱情公式
- 胸围公式
- 人生公式
- 宇宙公式
- 排列组合公式
- 实例说明jquery中html()、text()、val()方法的区别
- 跳表SkipList
- py脚本得到Python的版本
- UVALive 3516 Exploring Pyramids
- ElasticSearch5.0——中文分词插件IK安装
- 复化求积公式
- Ubuntu14.04 下安装PyCharm环境
- 直播博客
- Three.JS学习 6:光源
- 程序员面试金典: 9.13 C和C++ 13.7编写方法,传入参数为指向Node结构的指针,返回传入数据结构的完整拷贝。
- 激活ubuntu root帐号及使用SecureCRT登录
- 【C语言学习笔记】输出函数puts()
- iframe的优缺点
- ubuntu 14.04lts 桌面版中 nginx 和 swoole的 性能比较