“类比是科学发现的最基本方式”----拉普拉斯
学习委托为了便于理解改写一个C语言积分问题:
using System;
namespace Dgtst
{
public delegate float funDeletegate(float x);
class myMath
{
public float f1(float x)
{
float fVal;
fVal=1+x*x;
return fVal;
}
public float f2(float x)
{
float fVal;
fVal=1+x+x*x+x*x*x;
return fVal;
}
public float f3(float x)
{
float fVal;
fVal=x/(1+x*x);
return fVal;
}
public float Integral(funDeletegate funDg,float a,float b)
{
float s,h,y;
int n,i;
s=(funDg(a)+funDg(b))/(float)2.0;
n=100;
h=(b-a)/n;
for(i=1;i<n;i++)
{
s=s+funDg(a+i*h);
}
y=s*h;
return y;
}
}
class myMain
{
public static void Main()
{
float y1,y2,y3;
myMath mytst=new myMath();
y1=mytst.Integral(new funDeletegate(mytst.f1),(float)0.0, (float)1.0);
y2=mytst.Integral(new funDeletegate(mytst.f2),(float)0.0, (float)2.0);
y3=mytst.Integral(new funDeletegate(mytst.f3),(float)0.0,(float)3.5);
Console.Write("y1={0:f},y2={1:f},y3={2:f}",y1,y2,y3);
Console.ReadLine();
}
}
}
本文介绍了一个使用C语言实现的积分计算程序,通过定义不同的数学函数并利用委托进行积分运算。文章展示了如何创建委托、定义被积函数以及实现梯形法则进行数值积分。
1851

被折叠的 条评论
为什么被折叠?



