
折叠不定积分
众所周知,微积分的两大部分是微分与积分。微分实际上是函数的微小的增量,函数在某一点的导数值乘以自变量以这点为起点的增量,得到的就是函数的微分;它近似等于函数的实际增量(这里主要是针对一元函数而言)。而积分是已知一函数的导数,求这一函数。所以,微分与积分互为逆运算。
实际上,积分做历轿还可以分为两部分。第一种,是单纯的积分,也就是已知导数求原函数,而若F(x)的导数是f(x),那么F(x)+C(C是常数)的导数也纯肆是f(x),也就是说,把f(x)积分,不一定能得到F(x),因为F(x)+C的导数也是f(x),C是任意的常数,所以f(x)积分的结果有无数个,是不确定的,我们一律用F(x)+C代替,这就称为不定积分。
用公式表示是:f'(x)=g(x)->∫g(x)dx=f(x)+c
折叠定积分
而相对于不定积分,还有定积分。所谓定积分,其形式为∫[a:b]f(x)dx 。之所以称其为定积分,是因为它积分后得出的值是确定的,是一个数,而不是一烂手个函数。
微积分的最初发展中,定积分即黎曼积分。用自己的话来说,就是把直角坐标系上的函数的图象用平行于y轴的直线和x轴把其分割成无数个矩形,然后把某个区间[a,b]上的矩形的面积累加起来,所得到的就是这个函数的图象在区间[a,b]的面积。实际上,定积分的上下限就是区间的两个端点a、b。而实变函数中,可以利用测度论将黎曼积分推广到更加一般的情况,如勒贝格积分.
用公式表示是:∫ [a,b]f(x)dx=lim(n->∞)∑(0-n)a+f(ti)*(b-a)/n
下面程序是求x平方在0-1积分的小例子,原理就是向一个定积分规定的区域内随机投入无数点,统计投入在函数曲线与坐标轴之间的点数比总点数乘此块区域面积就是积分。针对复杂积分,需要扩展的地方还是很多的,例如,函数不单调(统计总区域面积就麻烦多了),函数跨越上下象限(需要对坐标求下绝薯裤对值就可以)。
using Systemusing System.Collections.Generic
using System.ComponentModel
using System.Data
using System.Drawing
using System.Text
using System.Windows.Forms
namespace Jifen
{
public partial class Form1 : Form
{
public Form1()
察绝 {
InitializeComponent()
}
private void button1_Click(object sender, EventArgs e)
{
double jieguo = jifen(0, 1, Convert.ToInt32(textBox1.Text))//求0到1的积分,textBox1.Text是投点个数,默认是999999就比较准确了
textBox2.Text = Convert.ToString(jieguo)
}
private double jifen(int x, int y, int count)
{
double a
double b
int fenzi=0
Random rd = new Random()//随机对象
for (int i = 0 i < count i++)
{
a = x+(y-x)*rd.NextDouble()//得到随机投入的横坐标
b = (y * y) * rd.NextDouble()//得到随机投入的纵坐标
if 败手姿(b < a * a)//求x平方积分,这里判断投点是否在其函数曲线下面
fenzi++//是的话计数
}
return (double)fenzi / count * (y - x) * (y * y)//落入函数曲线下面的点数比总点数乘此块区域面积就是积分
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)