用梯形法编程求函数f(x)=x2+2x+1的定积分 求大神帮我把这个题有c语言或c++编出来,急用,谢谢了 用梯形法编程求函数f(x)=x*2+2x+1的定积分 跪求设...

   www.gaoxiao88.net

/*

a b n : -3 1 100

S = 5.334400

Press any key to continue

*/

#include <stdio.h>
#include <math.h>

double f(double x) {
return x * x + 2 * x + 1;
}

double Area(double a, double b, int n) {
double dx = fabs(b - a)/n;
double x = a,area = 0.0;
while(x < b) {
area += dx * (fabs(f(x)) + fabs(f(x + dx)))/2.0;
x += dx;
}
return area;
}

int main() {
double a,b,n,t;
printf("a b n : ");
scanf("%lf%lf%lf",&a,&b,&n);
if(n <= 0.0) {
printf("n = %.0lf,非法值。");
return 1;
}
if(a > b) { t = a; a = b; b = t; }
printf("S = %lf
",Area(a,b,(int)n));
return 0;
}


程求函数f(x)=x2+2x+1的定积分 求大神帮我把这个题有c语言或c++编出来,急用,谢谢了
检举|37 分钟前中北郝泽朋 | 分类:C/C++ | 浏览14次
提示:把积分区间[a,b]等分为n等分

用梯形法编程求函数f(x)=x2+2x+1的定积分 求大神帮我把这个题有c语言或c++编出来,急用,谢谢了

#include
#include
double simp(double a,double b,double eps, double (*f)())
{
int n,k;
double h,t1,t2,s1,s2,ep,p,x;
n = 1;
h = b - a;
t1 = h *( (*f)(a) + (*f)(b) ) / 2.0; //计算T1=(b-a)/2*[f(a)+f(b)]
s1 = t1; //用 t1 代替s1
ep = eps + 1.0;
while(ep >= eps)
{
p = 0.0;
for( k = 0; k <= n - 1; k++)
{
x = a + ( k + 0.5) * h;
p = p + (*f)(x);
}
t2 = (t1 + h * p) / 2.0;
s2 = (4.0 * t2 - t1) / 3.0;
ep = fabs( s2 - s1 ); //计算精度
t1 = t2;
s1 = s2;
n = n + n;
printf("n=%d
",n);
h = h / 2.0;
}
return(s2);
}
double simpf(double x)
{
double y;
y = (pow( x , 2) + 1 + 2 * x);
return(y);
}
main()
{
double a,b,eps,t,simpf();
a = 0.0; //积分下限
b = 1.0; //积分上限
eps = 0.0001;//积分精度
t = simp(a,b,eps,simpf);
printf("
");
printf("t=%f
",t);
printf("
");
getch();
}
---------------
输出:
n=2
n=4
t=2.333333
----------------
函数f(x)=x2+2x+1的定积分的原函数式((x+1)^3)/3+c,在0到1之间结果是7/3=2.3333……
有空学下 辛普森求积公式,在编写程序就简单了。

就设double型的就好了吧。然后积分的范围和要分的梯形数目应该允许用户自己输入(当然为了保证积分的准确性可以默认要分成的梯形个数不少于10或者20之类的)。然后积分区间根据梯形个数直接分开,后面的事就是循环套面积公式了。。然后要注意处理f(x)的对称性,如果-1在积分区间里,划分好后要分两边计算

相关参考:

用梯形法编程求函数f(x)=x2+2x+1的定积分 求大神帮我把这个题有c语言或...
提示:把积分区间[a,b]等分为n等分

用梯形法编程求函数f(x)=x2+2x+1的定积分
d=(b-a)\/n;for(x=a;x<=b;x+=d){ A=A+(F(x)+F(x+d))*d\/2;} cout<<A;}

怎样编写c语言积分函数用梯形法求函数f(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(x)=x²+2,求在x=3处切线方程
f'(x)=2x 则斜率k=f'(3)=6 f(3)=9+2=11 切点是(3,11)所以切线是6x-y-7=0

设f(x)是连续函数,且f(x)=x^2+2∫上限1下限0f(t)dt,试求:(1)∫上限1...

用C语言编程,已知f(x)=(1+x^2),编写函数用梯形法计算f(x)在区间[a,b...
h> void main(){ double i,j;double a,b,c=0;printf("请输入积分上下限:");scanf("%lf%lf",&a,&b);for(i=a;i<=b;i+=10e-8){ j=i*i+1;j*=10e-8;c+=j;} printf("ans=%.4f\\n",c);} 对了 没考虑自变量取负值的情况,这个程序只适合算上下限都大于零的情况。

c++ 用梯形法求积分,这个函数的程序应该怎么编?
using namespace std;\/\/定义被积函数 double func(double x){ double ret=0;\/\/计算 ret 的值 return ret;} void main(){ double a,b,h,x,sum;int i,n;cout <<"Input a b and n: ";cin >>a >>b >>n;h=(b-a)\/n;x=a;sum=(func(a)+func(b))\/2;for(i=1; i<n; i...

这道题:已知函数f(x)=x²+2ax+1-a在x∈[0,1]时有最大值2,求a的值...
这题只与抛物线的递增递减区间有关,与抛物线和X轴有几个交点无关。(1)如果x=0时,f(x)取最大值2的话,那么对称轴-a≥1,此时1-a=2,a=-1,满足要求 (2)如果x=1时,f(x)取最大值2的话,那么对称轴-a≤0,此时1+2a+1-a=2,a=0,满足要求 综上所述,a=-1或0 ...

...下列分段函数值: x2+3x-4,x<0且x≠-4 f(x)= x2-6x+5,0=x<10且x...
{ fx = x*x - 4*x - 1; } printf("x=%lf,f(x)=%lf",x,fx); return 0;}请输入x的值:-3.0x=-3.000000,f(x)=-4.000000请输入x的值:-1.0x=-1.000000,f(x)=-6.000000请输入x的值:0.5x=0.500000,f(x)=2.250000请输入x的值:1....

已知f(x)=a[(x-1)^2]+b(x-1)+c-√[(x^2)+3]是x→1时(x-1)^2的高阶无...
2013-10-18 [高一]已知f(x)是二次函数,则f(x+1)=a(x+1)... 2014-11-17 用C语言编程,已知f(x)=(1+x^2),编写函数用梯形法... 7 2013-07-16 已知函数f(x)=|2^x-1|,a<b<c,且f(a)>f... 24 2015-04-11 已知函数f(x)=x^3+ax^2+bx+c在x=-2\/3与... 3 2013-06-30...

相关评论

  • 卜俭2795: 怎样编写c语言积分函数用梯形法求函数f(x -
    18029503309: #include 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{ F+=len*f(a); a+=len; } printf("%f\n",F); } 结例: Please input a,b: 0 10.0 Please input n: 100 437.349792

  • 卜俭2795: 编写程序,用梯形法求一元函数f(x)=x^3+2x^2 - 12x - 6(其中^表示幂运算),在区间[1,5]上的积分近似值S,要求结果保留3位小数(小区间数n=20,此参数不... - 作业帮
    18029503309:[答案] # include # define N 20 int main(void) { double d,t,x,s=0; d=4.0/N; for(x=1; x

  • 卜俭2795: 编写程序,用梯形法求一元函数f(x)=x^3+2x^2 - 12x - 6(其中^表示幂运算),在区间[1,5]上的积分近似值S -
    18029503309: # include <stdio.h># include<math.h># define N 20 int main(void) { double d, t, x, s=0; d=4.0/N; for(x=1; x<=5; x=x+d) { t=x+d; s=s+((pow(x, 3)+2*pow(x, 2)-12*x-6)+(pow(t, 3)+2*pow(t, 2)-12*t-6))*(d/2); } printf("%.2lf\n", s); return 0; }

  • 卜俭2795: 用梯形法编程求函数f(x)=x2+2x+1的定积分 求大神帮我把这个题有c语言或c++编出来,急用,谢谢了 -
    18029503309: 程求函数f(x)=x2+2x+1的定积分 求大神帮我把这个题有c语言或c++编出来,急用,谢谢了 检举|37 分钟前中北郝泽朋 | 分类:C/C++ | 浏览14次 提示:把积分区间[a,b]等分为n等分

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧