社区
C++ 语言
帖子详情
如何利用1000个点计算定积分?
matrix2009
2008-04-06 11:16:26
如何利用1000个点的坐标计算定积分?
这些点构成一个二维曲线,Y坐标在【0,1)之间,我是想计算这个二维曲线与X轴围成的图形的面积,如何计算?
X坐标都大于零
因为没有现成的积分函数,请大家帮忙
要考虑时效性,越快越好
...全文
203
19
打赏
收藏
如何利用1000个点计算定积分?
如何利用1000个点的坐标计算定积分? 这些点构成一个二维曲线,Y坐标在【0,1)之间,我是想计算这个二维曲线与X轴围成的图形的面积,如何计算? X坐标都大于零 因为没有现成的积分函数,请大家帮忙 要考虑时效性,越快越好
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
csdn5211
2008-04-07
打赏
举报
回复
[Quote=引用 14 楼 WuBill 的回复:]
不确定出曲线的类型积什么分啊
[/Quote]
楼上没有学过数值分析。
matrix2009
2008-04-07
打赏
举报
回复
呵呵 是一些数据的概率分布,
WuBill
2008-04-07
打赏
举报
回复
不确定出曲线的类型积什么分啊
WuBill
2008-04-07
打赏
举报
回复
你这1000个点是关于什么的,他们代表的是什么物理变量,根据这些先要确定曲线的类型吧
matrix2009
2008-04-07
打赏
举报
回复
我准备采用数值积分的方法,利用Newton-Cotes求积公式,采用n=1的情况,即梯形公式,
利用1000多个点坐标计算。
myullian
2008-04-07
打赏
举报
回复
建议楼主找本数值计算的书看看,很多的,可以用龙格库塔法
Treazy
2008-04-07
打赏
举报
回复
如果要把这个问题解决的比较完美,请参考9楼!
Treazy
2008-04-07
打赏
举报
回复
曲线拟合?
误差分析?
数值方法?
高等数学?
c/c++语言?
matlab?
Supper_Jerry
2008-04-07
打赏
举报
回复
(x2-x1)*f(x1)+(x3-x2)*f(x2)+...(x1000-x999)*f(x999)这个就是使用前值近似求定积分。
你这个问题只能近似。
(x2-x1)*f(x2)+(x3-x2)*f(x3)+...(x1000-x999)*f(x1000)后值求定积分
两者都可以。
如果你想用这些点模拟曲线,然后利用公式计算定积分,那样误差更大的。
Cyrosly
2008-04-07
打赏
举报
回复
MotolCarlo算法,但估计点太少
WuBill
2008-04-07
打赏
举报
回复
如果你上面测量的数据是和电学有关,那么可能线型就和三解曲线有关,这种情况下你如果按折线对待,你的算法再精准,结果还是不对
楼主说了,他的数据是概率分布,那你先点个图看下,是接近于正态分布,还是其他(三解分布,对数分布,Gamma分布)...
WuBill
2008-04-07
打赏
举报
回复
[Quote=引用 16 楼 csdn5211 的回复:]
引用 14 楼 WuBill 的回复:
不确定出曲线的类型积什么分啊
楼上没有学过数值分析。
[/Quote]
我数值计算学得很好,如果不明白数据代表的物理意义,积分有什么意思
不同的物理现象对应不同的曲线类型
y
|
|
|
|
|
|_______________________________________________x
x1 x2 x3 .... x1000
如果你认为是按折线走,那么积分=0.5*((y1+y2)*(x2-x1)+(y2+y3)*(x3-x2) +...+(y999+y1000)**x1000-x999))
如果DeltaX是等距,那面上面的积分=deltaX*(0.5*(y1+y1000)+(y2+...+y999))
fallening
2008-04-06
打赏
举报
回复
Numerical Recipes in C 第4章,有现成的代码
matrix2009
2008-04-06
打赏
举报
回复
不是我随便想的,确实是需要根据大量的二维坐标点来计算曲线与X轴围成的图形的面积,误差不要太大
fallening
2008-04-06
打赏
举报
回复
[Quote=引用 2 楼 Inhibitory 的回复:]
可以把这个区域分成N份,由给出的那1000个点来分,然后求每个小四边形的面积和(也可以用梯形),这个与积分的微元法也是同样的思想,而且在计算机上实现,如果不能直接给出公式的话,那也只有用这种离散的方法来做了.
[/Quote]
主要问题在于舍入误差之类的
fallening
2008-04-06
打赏
举报
回复
经典的龙格 库塔 方法
星羽
2008-04-06
打赏
举报
回复
近似值?
按小梯形面积和算??
Inhibitory
2008-04-06
打赏
举报
回复
可以把这个区域分成N份,由给出的那1000个点来分,然后求每个小四边形的面积和(也可以用梯形),这个与积分的微元法也是同样的思想,而且在计算机上实现,如果不能直接给出公式的话,那也只有用这种离散的方法来做了.
geniuscaobo
2008-04-06
打赏
举报
回复
自已随便想了一个题目吧
不知可不可以用梯形的面积(也是积分的一种),虽然误差太大
((y1+y0)(x1-x0)+ ... + (y999+y998)(x999-x998))/2
蒙特卡洛(Monte-Carlo)
计算
定积分
【Python】
本文通过投点法介绍了如何使用Python进行蒙特卡洛
计算
定积分
,包括一重积分和二重积分的求解过程。通过在积分区域上随机投点,统计落在函数图像下方的点比例来估算积分值。
定积分
数值
计算
(C++实现)
本文介绍了一个使用C++实现的
定积分
数值
计算
程序,通过等分区间的方法近似
计算
特定函数在给定区间内的
定积分
。程序具备健壮性,能有效处理异常输入,并通过与解析解对比验证了
计算
精度。
C语言——
定积分
的
计算
本文介绍了一种使用C语言
计算
定积分
的方法。通过定义被积函数Fun(x) = x/(1+x^2),并实现了一个名为DefiniteIntegral的函数来
计算
从1到2的
定积分
。该函数使用了梯形法则进行数值积分,将区间分成
1000
份进行逼近。文章还反思了编程习惯,强调了先声明后使用的良好实践。
python编程通过蒙特卡洛法
计算
定积分
详解
本文介绍了如何使用Python通过蒙特卡洛法
计算
定积分
,对比了传统方法与重要抽样法的效果,展示了如何通过选择合适的概率密度函数提高
计算
精度。
利用
矩形法求解
定积分
本文介绍了一种使用矩形法求解
定积分
的方法,通过将积分区间细分为多个小区间并近似为点,进而
计算
每个小区间的面积之和来估算
定积分
的值。提供了C语言实现代码,支持sin(x),cos(x)和e^x等函数的积分
计算
。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章