辛普森公式编程c语言,c语言版本复合梯形法、辛普森法求积公式

数值分析实验c语言版

复合梯形法求积公式(f(x)=sinx/x) #include "stdio.h"

#include "math.h"

void main()

{

int k;

double a,b,n,h,x;

double f,f1,f2,T,F=0.0;

printf("请输入a b n :");

scanf("%lf%lf%lf",&a,&b,&n); h=(b-a)/n;

for(k=1;k

{

x=a+k*h;

f=sin(x)/x;

printf("\nf=%0.7f",f);

F+=f;

printf("\nF=%0.7f",F);

}

if(a!=0.0)

f1=sin(a)/a;

else(f1=1.0);

printf("\nf1=%0.7f",f1);

f2=sin(b)/b;

printf("\nf2=%0.7f",f2);

T=0.5*h*(f1+2*F+f2);

printf("\nT=%0.7f",T);

}

复合辛普森公式(f(x)=sinx/x) #include "stdio.h"

#include "math.h"

void main()

{

int k;

double a,b,n,h;

double x,f,f1,f2,F1=0.0,F2=0.0,S=0.0;

printf("请输入a b n :");

scanf("%lf%lf%lf",&a,&b,&n); h=(b-a)/n;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你回答这个问题。下面是用C语言实现复化梯形公式和复化辛普森公式估计定积分的代码: ```c #include <stdio.h> #include <math.h> double f(double x) { // 定义被积函数 return exp(x); // 以e为底的x次方函数 } double trapezoidal(double a, double b, int n) { // 复化梯形公式 double h = (b - a) / n; // 梯形的高度 double sum = (f(a) + f(b)) / 2; // 将首尾两项加入和中 for (int i = 1; i < n; i++) { double x = a + i * h; // 计算每个梯形的左端点x sum += f(x); // 将每个梯形的面积加入和中 } return sum * h; // 最终结果为和乘以梯形的高度 } double simpson(double a, double b, int n) { // 复化辛普森公式 double h = (b - a) / n; // 梯形的高度 double sum = f(a) + f(b); // 将首尾两项加入和中 for (int i = 1; i < n; i++) { double x = a + i * h; // 计算每个梯形的左端点x sum += 2 * (i % 2 + 1) * f(x); // 将每个梯形的面积加入和中,注意系数的变化 } return sum * h / 3; // 最终结果为和乘以梯形的高度除以3 } int main() { double a = 0, b = 1; // 积分区间为[0,1] int n = 100; // 梯形梯形数量为100 printf("Trapezoidal rule: %lf\n", trapezoidal(a, b, n)); printf("Simpson's rule: %lf\n", simpson(a, b, n)); return 0; } ``` 在上面的代码中,我们定义了被积函数f(x)为以e为底的x次方函数,然后分别用复化梯形公式和复化辛普森公式估计了在区间[0,1]上的定积分,并输出了结果。你可以根据需要修改被积函数和积分区间,以及调整梯形梯形数量来得到更精确的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值