这篇文章主要介绍了C语言如何实现黎曼和求定积分,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体内容如下
通过黎曼和解定积分既是把在xy平面中函数曲线与x轴区间区域划分成多个矩形并求它们的面积之和,矩形数量越多,得出的面积越精确。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int main(){
float function1(float); //函数f(x)1
float function2(float); //函数f(x)2
float function3(float); //函数f(x)3
void integration(float f(float),float,float); //求定积分方法,参数为,函数fx,区间[a,b]的两个点
int result_a=integration(function1,1,0);
int result_b=integration(function2,1,-1);
int result_c=integration(function3,2,0);
}
void integration(float f(float),float endPos,float startPos) //求定积分方法,参数为,函数fx,区间[a,b]的两个点
{
float x;
float totalArea=0; //totalArea,所有矩形的总面积
float n=1000; //将函数曲线下方划为n个矩形,n值越大,精确值越高
float width; //单个矩形宽度
float area=0; //单个矩形面积
width=(endPos-startPos)/n; //求单个矩形宽度,既是函数总长度除以矩形数量
for(float i=1;i<=n;i++) //计算每个矩形的面积
{
x=startPos+width*i; //转入到xy平面, 通过i的递增,得出每个矩形底部x的值,以求矩形高度
area=f(x)*width; //用x做实参调用函数进一步求出y值,既矩形的高度,再用底乘高得出面积
totalArea=totalArea+area; //各个矩形面积相加
}
printf("the value of function is %f",t2);
}
float function1(float x){ //函数f(x)1
float y;
y=sin(x);
return y;
}
float function2(float x){ //函数f(x)2
float y;
y=cos(x);
return y;
}
float function3(float x){ //函数f(x)3
float y;
y=exp(x);
return y;
}
感谢你能够认真阅读完这篇文章,希望小编分享的“C语言如何实现黎曼和求定积分”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。