定积分(任意函数求积分)

 1 #define eps 1e-8
 2
 3 double fun(double x) {
 4     /*函数部分*/
 5 }
 6
 7 double Definite_Integral(double a, double b) {
 8     double p = eps + 1.0;
 9     double t, h = b - a, t1 = (fun(a) + fun(b)) * h / 2;
10     while(p >= eps) {
11         double s = 0;
12         for(double k = a + h / 2; k <= b; k += h)s += fun(k);
13         t = t1 / 2 + h * s / 2;
14         p = fabs(t - t1);
15         t1 = t;
16         h /= 2;
17     }
18     return t;
19 }

定积分(任意函数求积分),布布扣,bubuko.com

时间: 2024-11-08 16:57:01

定积分(任意函数求积分)的相关文章

复化梯形求积分——用Python进行数值计算

用程序来求积分的方法有很多,这篇文章主要是有关牛顿-科特斯公式. 学过插值算法的同学最容易想到的就是用插值函数代替被积分函数来求积分,但实际上在大部分场景下这是行不通的. 插值函数一般是一个不超过n次的多项式,如果用插值函数来求积分的话,就会引进高次多项式求积分的问题.这样会将原来的求积分问题带到另一个求积分问题:如何求n次多项式的积分,而且当次数变高时,会出现龙悲歌现象,误差反而可能会增大,并且高次的插值求积公式有可能会变得不稳定:详细原因不赘述. 牛顿-科特斯公式解决这一问题的办法是将大的插

神经网络是如何拟合任意函数的

一个最原始粗暴的拟合任意函数的思路,是将函数切成很多段线性函数,之后用逻辑门控制当x在哪一个区间时,某些逻辑门被激活,对应的线性函数的权重w与偏移量b在逻辑门的包裹下变成非0,计算出y在这一段的输出值. 需要推导出拟合函数y=f(x)需要哪些逻辑门,以及如何使用神经网络构建这些逻辑门. 首先最简单的是开关门: ${s^{(1)}}(x) = t{\rm{ = Relu}}({\rm{1 - 1000*Relu}}({\rm{u}}))$ 使用Relu激活函数构建的开关门比起使用sigmoid函数

[算法][求积分][复合辛普森公式]

1 //这里f()为被积函数,输入a,b为积分上下限, 2 //eps为计算精度[这里要注意假收敛,一般设小一点好] 3 #include <iostream> 4 #include <cmath> 5 #define eps 1e-6 6 using namespace std; 7 double f(double x){ 8 return sqrt(1+cos(x)*cos(x)); 9 }//被积函数 10 double Sn(double a,double b,double

JavaScript中有三个可以对字符串编码的函数,分别是: escape(),encodeURI(),encodeURIComponent()

JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent . 下面简单介绍一下它们的区别 1 escape()函数 定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法 escape(string) 参数  描述  string  必需.要被转义或编码的字符串. 返回值 已编码的

关于神经网络拟合任意函数的讨论

参考这篇文章: https://www.cnblogs.com/yeluzi/p/7491619.html 从这篇文章看, 1. 文章里面讨论的是两层隐藏层的,但是实际上一层网络就能拟合任意函数 2. 实际工作上,深的还是更好. 原文地址:https://www.cnblogs.com/charlesblc/p/8494079.html

对任意函数求导的sas模拟

*模拟求导 步长一定要比阈值小,才能得出准确的结果; data Derivation (keep=interval slope); * function y = 1/x only concern about x>0; deltaX = 1e-6; *割线变为切线时x1减小的步长; x0 = 2; y0 = 0; %function(y0,x0);*需要求导的点; put y0; slope = 0; *需要求得的斜率,即倒数; interval = 5; *x0与x1的在x轴的间距,也是判定停止

如何用12864液晶显示图片和绘制任意函数图象(打点)

一. 显示图片 显示图片的要点在于:1.取模 2.利用扩展指令设置液晶3.清楚液晶地址的概念 1.1取模 取模软件用的是"字模221"下图是他的参数设置 这里对参数设置先解释一下,所谓横向取模就是,一张图片从图片最左上角的8位开始取模,从左向右,每次取8位二进制数据转化为16进制保存,第一排取完之后,接着到第二排最左边8位开始取模,以此类推.为什么要这样取模呢?因为12864液晶的横纵坐标就是这个取模顺序,这点在之后还会详细提到. 1.2液晶的设置 液晶显示图片必须用扩充指令集,初始化

习题5.11 分离链接法的删除操作函数 (20分)

试实现分离链接法的删除操作函数. 函数接口定义: bool Delete( HashTable H, ElementType Key ); 其中HashTable是分离链接散列表,定义如下: typedef struct LNode *PtrToLNode; struct LNode { ElementType Data; PtrToLNode Next; }; typedef PtrToLNode Position; typedef PtrToLNode List; typedef struc

经典Mathematica函数大全

转自:http://blog.renren.com/share/238323208/8426343822  Mathmatic 函数表  一.运算符及特殊符号 Line1; 执行Line,不显示结果 Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 n! N的阶乘 !!filename 显示文件内容 < Expr>> filename 打开文件写 Expr&g