c#使用委托实现辛普森法求多个函数的定积分
来源:互联网 发布:胡歌顶级时尚资源知乎 编辑:程序博客网 时间:2024/06/09 15:00
用辛普生法对几个不同的被积函数求指定区间的定积分。被积函数为f(x),积分区间[a,b]被等分为n=2k份,每份步长为h=(b-a)/n,则积分值为:S≈h((f(a)+f(b))/2 +f(a+h)+…+f(a+(n-1)h))。
运行结果:
//辛普森法求积分copyright vivi_and_qiao 李伟using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 辛普森法求积分{ delegate double MyDelegate(double x); class Function { public double f1(double x) { return x * x; } public string getf1() { return "y= x* x"; } public double f2(double x) { return 2 * x + 1; } public string getf2() { return "y=2 * x + 1"; } public double f3(double x) { return Math.Atan(x); } public string getf3() { return "y= Math.Atan(x)"; } public double f4(double x) { return Math.Exp(Math.Exp(x)); } public string getf4() { return "y=Math.Exp(Math.Exp(x))"; } } class Program { public static double jifen(double a,double b,int n ,MyDelegate my) { double h = (b - a)/n; double value=0; for (int i = 1; i <= n; i++) value += h * (my(a + (i - 1) * h)); return value; } static void Main(string[] args) { int n; double a, b; Console.WriteLine("请输入精度!"); n = int.Parse(Console.ReadLine()); Console.WriteLine("请输入积分上限"); a = int.Parse(Console.ReadLine()); Console.WriteLine("请输入积分下限!"); b = int.Parse(Console.ReadLine()); Function f=new Function(); MyDelegate my=f.f1; Console.WriteLine("函数:"+f.getf1()+"在积分区间:"+"["+a+","+b+"]"+"的积分值为:"+jifen(a,b,n,my)); my = f.f2; Console.WriteLine("函数:" + f.getf2() + "在积分区间:" + "[" + a + "," +b+ "]" + "的积分值为:" + jifen(a, b, n, my)); my = f.f3; Console.WriteLine("函数:" + f.getf3() + "在积分区间:" + "[" + a + "," +b+ "]" + "的积分值为:" + jifen(a, b, n, my)); my = f.f4; Console.WriteLine("函数:" + f.getf4() + "在积分区间:" + "[" + a + "," +b+ "]" + "的积分值为:" + jifen(a, b, n, my)); Console.ReadKey(); } }}
1 0
- c#使用委托实现辛普森法求多个函数的定积分
- 三次样条函数的定积分
- 编制求解定积分的通用函数
- 求任意函数的定积分
- 【C】求函数的定积分
- 求定积分的通用函数
- 不可积分的函数、定积分可积不可积
- 定积分&&函数指针
- C#委托-委托的使用
- 定积分的问题
- 定积分的技巧
- 定积分的定义
- 定积分的性质
- 072 定积分之积分上限函数
- C#委托的实现
- C# 下使用委托跨窗体调用函数和控件的实现
- 编写一个求定积分的通用函数
- 一个定积分计算的类的实现!经典!
- java中什么是Yield给出一个例子
- JAVA IO流实现字节数组与任何基本类型和引用类型的相互转换
- 优化 | 再用传统分页SQL你就死定了
- Wireshark入门教程
- java中线程优先级是怎么回事给出一个例子
- c#使用委托实现辛普森法求多个函数的定积分
- sqlserver 多个条件的 LIKE语句
- Java.awt.Font 类
- 脑图和目录的区别
- 优化 | MySQL全面快速优化参考
- Spring-9 , 使用外部属性文件
- NYOJ1294 刚哥遇到了感情问题(二)(字符串处理)
- 程序编译,链接过程
- CodeForces 787A The Monster