編程求定積分
㈠ 編程求x的n次方乘e的x的n-1次方的定積分
一、按順推迭代法
>> E(1)=0.3679;
>> for n=2:15,E(n)=1-n*E(n-1);end
>> E(15)
二、按逆推迭代法
>> E(15)=0.0590;
>> for n=15:2,E(n-1)=(1-E(n))/n;end
>> E(1)
用matlab運行結果為
分析其運行結果,可以看到順推迭代法的結果不穩定,而逆推迭代法的結果很穩定(與精確值的誤差很小)。
㈡ VC編程求定積分
#include<stdio.h>
voidmain()
{備褲凳doublen,s,f0,h,x,i;
printf("輸入區間分隔仿旅數純虧n:");
scanf("%lf",&n);//這里是字母l,不是數字
h=1.0/n;
f0=4.0;
s=0.0;
for(i=1;i<n;i++)
{s+=f0*h;x=i*h;
f0=4.0/(1.0+x*x);}/*∫4/(1+x*x)dx積分上下限位0到1*/
printf("用矩形法求得定積分為:%1f ",s);}
㈢ 求C語言 用梯形法求定積分(數值求解演算法)
#include<stdio.h>
float f(float x)
{
return x*x+2*x+1;
}
void main()
{
float a,b,len,F=0;//
int n,i;
printf("Please input a,b: ");
scanf("%f%f",&a,&b);
printf("Please input n: ");
scanf("%d",&n);
len=(a+b)/n;//區間長度
for(i=0;i<n;i++)
{
F+=len*f(a);
a+=len;
}
printf("%f\n",F);
}
結果例如:
Please input a,b: 0 10.0
Please input n: 100
437.349792
㈣ matlab編程怎麼求無窮限定積分
matlab編程求無窮限定積分:
用如態帆下程序:
syms x
f = exp(-x^2);
int(f, x, 0, inf)
結果是pi^(1/2)/2,即2分之根號派
㈤ C語言,用梯形法編程求定積分x^3+x/2+1的值
這個其實很簡單,給你做了一個很簡單的通用的積分函數,
已經做過優化,自己一調用就可以了,效率很高。
#include <stdio.h>
double f(double x) //返回函數的值
{ double y;
y=x*x+x*2+1.0;
return y;
}
double Integrate(double (*f)(double),double a,double b,int n) //計算函數的定積分
{ double dx,y,sy,x;
if(n<=1)return 0.0;
dx=(b-a)/n;
x=a;
sy=0.0;
for(int i=0;i<=n;i++,x+=dx)
sy+=f(x);
sy-=f(a)/2.0;
sy-=f(b)/2.0;
return sy*dx;
}
void main()
{ double s;
s=Integrate(f, 1, 3, 100000);
printf("s=%lf\n",s);
}
㈥ C++中求定積分的編程
#include <亮團stdio.h>
#define DELTA 0.00001//Δt
int main()
{
double v0=5,t,s=0;
for(t=10.0;t<=15.0;t+=DELTA)
s+=(v0+2*t)*DELTA;
printf("s=%f\敬宴橘n",s);
return 0;}
結祥知果為150