站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题100分~求分析一道高数题~~

100分~求分析一道高数题~~

摘要: 100分~求分析一道高数题~~


编写程序,利用辛甫生公式求S=∫10 e^-x^2dx(积分上限为1,下限为0)取n为10及100两种情况。辛甫生公式:
S≈h/3[(f(x0)+f(xn))+2(f(x2)+f(x4)+…+f(xn-2))+4(f(x1)+f(x3)+…+f(xn-1))]
其中,h=(b-a)/n;
x0=a,xn=b;
f(xi)=f(a+I*h).

=========================================

我想问:f(xi)=f(a+I*h).这个怎么回事啊?数学不好,还有若求值,就要用到自然对数,那在计算机中又怎么办呢.我查查资料,希望知道的人帮分析下.


S=∫e^-x^2dx(积分上限为1,下限为0,不知怎么编辑,上面写错了)


up~Have a look everybody!~`


有空在看


这个好难啊


up!~`


不知道,學習


没人吗~~呼叫高手~`


很感兴趣,但是没怎么看懂.....


f(xi)=f(a+I*h).
是不是..
f(xi)=f(a+i*h).(i是下标)

f(xi)就是把a-b n等分之后各点得函数值....

就是利用求和球极限得思想来球定积分......(极限就是,到达允许得误差范围内)



matlab, mathmatics这些东东里有此功能吧,不过可能看不到源码。


关注···


数学系的飘过,qiyadeng()的说法是对的,他是个近似值,当N趋于无穷时近似于S,i是下标,取N个断点



我记得数值分析书上很多公式都是给出了编程步骤的,《李庆阳,王能超,易……》华中科技大学出版社
查一下


import java.math.*;
public class Integral
{
public static void main(String []args)
{
double s1=0,s2=0,h;
int a=0,b=1;
final int N=10;
h=(b-a)/N;
for(int i=1;i<=N-1;i++)
{
if(i%2==0)
s1+=Math.exp(-i*i);
else
s2+=Math.exp(-i*i);
}
s1=(h/3)*(Math.exp(-0*0)+Math.exp(-N*N)+2*s1+4*s2);
System.out.println(s1);
}

}
///看看有什么问题??


///自已修改了,应该可以了.~~
import java.math.*;
import java.io.*;
public class Integral1
{
public static void main(String []args)
{
double s1=0,s2=0,h;
int a=0,b=1,n=0;
System.out.println("请输入n的值(10或100):");
try
{BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
n= Integer.parseInt(reader.readLine());

}
catch(Exception e)
{
System.out.println("cannot read");
}
h=(double)(b-a)/n;
for(int i=1;i<=n-1;i++)
{
if(i%2==0)
s1=s1+Math.exp(-i*i);
else
s2=s2+Math.exp(-i*i);
}
s1=(double)(h/3)*(Math.exp(-0*0)+Math.exp(-n*n)+2*s1+4*s2);
System.out.print("积分的结果是:");
System.out.println(s1);
System.out.println(h);

}

}


import java.math.*;
import java.io.*;
public class Integral1
{
public static void main(String []args)
{
double s1=0,s2=0,h;
int a=0,b=1,n=0;
System.out.println("请输入n的值(10或100):");
try
{BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
n= Integer.parseInt(reader.readLine());

}
catch(Exception e)
{
System.out.println("cannot read");
}
h=(double)(b-a)/n;
for(int i=1;i<=n-1;i++)
{
if(i%2==0)
s1=s1+Math.exp(-i*i);
else
s2=s2+Math.exp(-i*i);
}
s1=(double)(h/3)*(Math.exp(-0*0)+Math.exp(-n*n)+2*s1+4*s2);
System.out.print("积分的结果是:");
System.out.println(s1);
System.out.println(h);

}

}



↑返回目录
前一篇: 关于类的设计
后一篇: 求助:如何将键盘的标准输入流(字节)输入到整型数组中?