zoukankan      html  css  js  c++  java
  • 求积分方法总结(转载总结)

    1、随机落入点法(蒙特卡罗法)

    下面程序是求x平方在0-1积分的小例子,原理就是向一个定积分规定的区域内随机投入无数点,统计投入在函数曲线与坐标轴之间的点数比总点数乘此块区域面积就是积分。针对复杂积分,需要扩展的地方还是很多的,例如,函数不单调(统计总区域面积就麻烦多了),函数跨越上下象限(需要对坐标求下绝对值就可以)。

    using System;
    using 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));//
    01的积分,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);//
    落入函数曲线下面的点数比总点数乘此块区域面积就是积分
    }
    }
    }


  • 相关阅读:
    c 概念详解
    c 目录
    win文件操作
    使用panads处理数据
    冒泡排序
    notepad++搭建python环境
    继承方法-->一级一级继承
    原型问题2—原型对象的替换
    原型问题1—原型对象的替换
    js继承——扩展Object方式实现继承
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1360401.html
Copyright © 2011-2022 走看看