一个简单计算积分的工具
计算可算的复杂积分,根据待算积分的形式可与模块中的积分相匹配,输入积分上限、积分下限、被积函数待定系数后,点击“确定”便可得到结果。
看懂代码后,可以自由更改,只需更改textbox,就可以计算任意积分。
例如:[sin( ax^b+c)] ^d类型
static double jfys(double xxian, double sxian, Func<double, double> a, int n=1000 )
{
int i;
double dx ;
double sum = 0;
double x = xxian;
dx = (sxian - xxian) / n;
for ( i = 1; i <= n; i++)
{
x = (xxian + dx * (i - 1) + xxian + dx * i) / 2.0;
sum += a(x) * dx;
}
return sum;
}
public static double y2(double x) //sin
{
int i;
double y=1;
for (i = 0; i < common.x32; i++)
{
y *= x;
}
return Math.Pow( Math.Sin(common.x31* y + common.x33) , common .x34 );
}
private void button4_Click(object sender, EventArgs e) //计算sin类型
{
if (textBox1.Text == string.Empty || textBox2.Text == string.Empty)
{
MessageBox.Show("积分上下限不能为空");
}
else
{
double a = common.x31;
common.x31 = Convert.ToDouble(textBox14.Text);
common.x32 = Convert.ToDouble(textBox15.Text);
common.x33 = Convert.ToDouble(textBox16.Text);
common.x34 = Convert.ToDouble(textBox17.Text);
double xx, sx;
xx = Convert.ToDouble(textBox1.Text);
sx = Convert.ToDouble(textBox2.Text);
textBox18.Text = Convert.ToString(jfys(xx, sx, Function.y2));
}
}
欢迎关注本博客后续文章----------------------------------------------tsy