• 求积分方法总结(转载总结)


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


  • 相关阅读:
    Git -- 分支管理简介
    Git -- 从远程库克隆
    Git -- 添加远程仓库
    C# sha256 加密算法
    如何将IOS版本的更新下载文件指向到自己的服务器
    如何让windows服务器IIS支持.apk/.ipa文件下载
    vistual studio 去除 git 源代码 绑定
    Redis 环境搭建与使用(C#)
    c#图片添加水印
    C#使用WSDL服务总结
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1360401.html
Copyright © 2020-2023  润新知