采用梯形法编程实现积分

复制代码
 1 #include <stdio.h>
 2 float Fun1(float x);
 3 float Fun2(float x);
 4 float Integral(float (*f)(float), float a, float b);
 5 int main()
 6 {                            
 7     float y1, y2;
 8     y1 = Integral(Fun1, 0.0, 1.0);
 9     y2 = Integral(Fun2, 0.0, 3.0);
10     printf("y1=%f\ny2=%f\n", y1, y2);
11     return 0;
12 }                            
13 /*  函数功能:计算函数1+x*x的函数值 */
14 float Fun1(float x)
15 {                            
16     return  1 + x * x;
17 }                            
18 /*  函数功能:计算函数x/(1+x*x)的函数值 */
19 float Fun2(float x)
20 {                            
21     return x / (1 + x * x);
22 }                            
23 /*    函数功能:用梯形法计算函数的定积分 */
24 float Integral(float (*f)(float), float a, float b)
25 {                            
26     float s, h;
27     int n = 100, i;
28     s = ((*f)(a) + (*f)(b)) / 2;
29     h = (b - a) / n;
30     for (i = 1; i < n; i++)
31     {                            
32         s += (*f)(a + i * h);
33     }
34     return s * h;
35 }                      
复制代码

 

 
posted @   油菜园12号  阅读(273)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示