o*******w 发帖数: 349 | 1 你可以查一查有关,在有损煤质中的天线, 电磁场数值计算方面的论文,。好像变成
HANKEL函数,然后在复平面上作围线数值积分。另外一种方法是直接积分(高速震荡被
积函数),然后处理,要做什么变换(Shanks 变换? 或者什么, 一般数值积分的教
课书好像不会讲)。你可以用这些作为关键词搜搜。记忆中应该前一种方法好. 仅供参
考. |
|
o*******w 发帖数: 349 | 2 你可以查一查有关,在有损煤质中的天线, 电磁场数值计算方面的论文,。好像变成
HANKEL函数,然后在复平面上作围线数值积分。另外一种方法是直接积分(高速震荡被
积函数),然后处理,要做什么变换(Shanks 变换? 或者什么, 一般数值积分的教
课书好像不会讲)。你可以用这些作为关键词搜搜。记忆中应该前一种方法好. 仅供参
考. |
|
x******e 发帖数: 466 | 3 如题,有没有大神推荐关于数值积分的书?小弟正在做关于贝赛尔函数汉克儿函数的数
值积分,就是用数值方法求解积分,快速收敛而且准确,比如索默菲尔德积分甚至更加
复杂的积分,在此谢谢大侠! |
|
o*******w 发帖数: 349 | 4 对的,我说的围线积分,就是苛西定理那个东西。
你如果在实数轴上,直接积分,也就是一个包一个的积分(因为是一个高速震荡)你将
会得到一个级数。不过我完全不了解你的东西。你如果再多提供一点信息,我也许能有
一个判断。不知道你为什么要在实数轴上积分。如果只是一个手段,你不必非要在实数
上做,复平面上的围线积分可以避免实数上高速震荡的情况。如果你的课题就是要研究
这种情况下的数值积分,那么我是一个十足的门外汉,对你来说。有一本书是
Philippe Flajolet & Robert Sedgewick 写的。因为我完全不知道你的目的,只能猜
也许有关。 |
|
m*******s 发帖数: 3142 | 5 现在遇到一个积分含有log函数,在积分区间的端点会得到log0之类的发散值,但是被
积函数
中的另一个因子恰好在端点处为0,能把发散的log0抵消掉。
所以应该积分是没有奇异点的。
问题是数值实现的时候,一个很小的数乘以一个很大的log0,得到的结果未必能控制得
非常小,所以得
到的积分结果误差比较大。
我对数值积分的经验几乎为0,只知道Gauss-Legendre之类的常规方法。
想问问大家有没有什么好的办法得到高精度的积分结果?
谢谢! |
|
j*****g 发帖数: 463 | 6 没太理解这位的问题. 数值积分?
不就是上底加下底乘高除以二么?
suppose you have a series of data
Y1, T1
Y2, T2
Yn, Tn
Numerical Integration of Y in t is:
(T2+T1)*(T2-T1)/2+....+(Yn + Yn-1)*(Tn - Tn-1)/2
That's my understanding of 数值积分.
What's the 数值积分 your guys talking about? |
|
l*********i 发帖数: 483 | 7 【 以下文字转载自 Computation 讨论区 】
发信人: lamborghini (隐形汽车Reventon), 信区: Computation
标 题: 问个数值积分的问题
发信站: BBS 未名空间站 (Sun Feb 17 17:42:52 2008), 转信
用GSL的adaptive Runge-Kutta routine数值解出了f(x)在x=0到1的数值,
如果想要求解g(f(x),x)在区间x=0到1之间的积分,有什么现成的C/C++ routine可以
用么?因为最初f(x)是用adaptive的routine求解的,所以x的步长并不是一个
固定的值,所以一般的Newton-Cotes的库没法直接用。哪位大侠指点一下? |
|
g********a 发帖数: 45 | 8 来自主题: Mathematics版 - 问数值积分 为什么数值积分(不调用maple本身积分函数)x^{-1/2} 在 【0,1】上积不出来呢??
是不是数值积分在零点附近发上了错误? |
|
u**x 发帖数: 45 | 9 数值积分的方法和公式很多, 实际比较除了精度效率以外, implementation 的简便性
其实也是经常的选择依据. 细分最好查书.
对于你说的大变化的函数, 偶想最起码的手段如自适应变步长不会忽视吧. 比较难办
的是振荡形的函数, 要想保证精度步长得比高频成份足够小才行. 如果是这种情况
的话, 可以试试样条插值积分. 如果被积函数有显式表达的话, 可以试试数学手段
分离出可积整荡部分后再对剩下部份作数值积分. |
|
i*********d 发帖数: 15 | 10 二维正方形区域内积分,只有中心点的数值,x方向是周期的边界条件,y方向不是,可
否有高于二阶精度的数值积分? |
|
c****r 发帖数: 185 | 11 【 以下文字转载自 Computation 讨论区 】
发信人: costar (科斯塔), 信区: Computation
标 题: 请教:高维数值积分
发信站: BBS 未名空间站 (Wed Aug 31 13:41:42 2005)
我想求一个m维数值积分,
F(x_1,...,x_m;n)= \int_{y_i>=x_i, \sum y_i=n} f(y_1,...,y_m;n) dy_1 ...dy_m
x_i>=0, n>0
应该怎么求?
多谢。 |
|
d*n 发帖数: 137 | 12 采用高斯积分, 有一本美国70年代出的数值积分数上面有计算高斯
节点的加速计算方法,
我采用这个方法计算过高速振荡函数的积分, 很好。
另外该书介绍的正负相间的数列和的加速法也非常有用, hehe, 我
曾经把它用进近红外光
三维成像的处理。 |
|
d*n 发帖数: 137 | 13 NUMERICAL INTEGRATION
PHILIP J. DAVIS
PHILIP RABINOWITZ
1967, 第一版
METHOD OF NUMERICAL INTEGRATION
PHILIP J. DAVIS
PHILIP RABINOWITZ
1975, 第二版
第二版在国内有翻译本,推荐看第二版, 该书的缺点是对高维积分
讲的不多。
处理高速振荡函数的积分, 还可以使用徐利治等的方法,徐的方法
是从衍射
仪的原理发展起来的, 似乎书名叫<<高维数值积分>>, 在最后两章
, 这个方法
对于成像分析等有用。 |
|
l******o 发帖数: 298 | 14 是高斯积分算法吗?
但是我感觉mathematica很厉害,一个很复杂的数值积分能算的非常准确! |
|
p*q 发帖数: 11 | 15 【 以下文字转载自 Programming 讨论区 】
【 原文由 pHq 所发表 】
被积函数总是正的, 但是可能震荡很多次(比如10,000次),
也不是规律的正弦余弦. 现在有比较好的办法作数值积分吗?
谢了先! |
|
j*****g 发帖数: 463 | 16 已知函数形式 Y=f(T),
如果有 Delta 函数. 理论上数值积分是不可能的吧?
只要不是这种情形, 只要 dT 充分小, 用我说的笨办法总是可以的,
且绝不会出错. :-)
当然如果要循环积 n 次, 就得考虑效率问题. |
|
c******m 发帖数: 599 | 17 去查有限元手册
基本就是取几个点,数值积分
如果只有piecewise poly,可以用重心坐标 |
|
c****r 发帖数: 185 | 18 我想求一个m维数值积分,
F(x_1,...,x_m;n)= \int_{y_i>=x_i, \sum y_i=n} f(y_1,...,y_m;n) dy_1 ...dy_m
x_i>=0, n>0
应该怎么求?
多谢。 |
|
o****o 发帖数: 8077 | 19 要做一个很简单的数值积分问题,其实就是求如下一个简单幂函数的期望
F(U)=U^(a-1), 实数 a > 0。
U的分布是一个Normal(\mu, \sigma) truncated at 0.
在对数据集中每个点进行这个计算的时候,出现了很奇怪的问题。我用的是quad,高斯
quadrature法
当abs(\mu) 远离0点, \sigma又较小的时候,即使\mu1 \mu2很接近计算出来的值也相差
很大。例如
>> quad(@numF1_e,1e-10,1-1e-10,0.00001,0, 3.0692,1.2014,0.5740,9.389589)
ans =
139.9154
>> quad(@numF1_e,1e-10,1-1e-10,0.00001,0, 3.0692,1.2014,0.5740,9.789589)
ans =
2.5851e-005
>> quad(@numF1_e,1e-10,1-1e-10,0.00001,0, 3.0692,1.2014,0.5740,9.689589)
ans =
149.5704
@numF1_e 是那个函数 |
|
|
m*******s 发帖数: 3142 | 21 【 以下文字转载自 Mathematics 讨论区 】
发信人: manifolds (流形), 信区: Mathematics
标 题: 数值计算含参变量的Fourier积分
发信站: BBS 未名空间站 (Thu Mar 3 21:35:56 2011, 美东)
现在遇到一个数值问题需要计算含参变量的Fourier积分,超出了我极其有限的数值分析
知识。
问题大概如下
而那个被变换的函数 \varphi,只能在指定t的情况下用数值求解关于t的微分方程的办
法计算出来,
事先不知道其特征。
常用的Gauss-Legendre方法对这种积分应该不太适用。
我想问一下大家,是否有一种数值积分方法可以比较好地处理这种Fourier积分,
而且节点是跟参变量t的取值是无关的?
谢谢了! |
|
m*******s 发帖数: 3142 | 22 现在遇到一个数值问题需要计算含参变量的Fourier积分,超出了我极其有限的数值分析
知识。
问题大概如下
而那个被变换的函数 \varphi,只能在指定t的情况下用数值求解关于t的微分方程的办
法计算出来,
事先不知道其特征。
常用的Gauss-Legendre方法对这种积分应该不太适用。
我想问一下大家,是否有一种数值积分方法可以比较好地处理这种Fourier积分,
而且节点是跟参变量t的取值是无关的?
谢谢了! |
|
g****t 发帖数: 31659 | 23 拉盖尔函数啥的是[0 inf)上的正交向量组,
要积分的东西能不能按照拉盖尔函数啥的展开?
具体点吧,一个关于时间的泛函积分,从负无穷大到0,而且积分表达式不是简单的实
函数,而是比较复杂的含时算符(矩阵)的函数, 不能直接积分得到解析表达式,而
且积分表达式随着里头算符的具体表达式不同而不同。
这个积分结果是要为后面的计算服务的,比较重要。
估计只能用数值积分,因为整个程序比较大,不能单独用mathematica来实现。
我的问题就是数值积分中怎么处理那个负无穷的下限。能否简单的用绝对值很大的负数
来代替负无穷?
求教熟悉数值计算的同学。 |
|
m*******s 发帖数: 3142 | 24 具体点吧,一个关于时间的泛函积分,从负无穷大到0,而且积分表达式不是简单的实函数,而是比较复杂的含时算符(矩阵)的函数, 不能直接积分得到解析表达式,而且积分表达式随着里头算符的具体表达式不同而不同。
这个积分结果是要为后面的计算服务的,比较重要。
估计只能用数值积分,因为整个程序比较大,不能单独用mathematica来实现。
我的问题就是数值积分中怎么处理那个负无穷的下限。能否简单的用绝对值很大的负数来代替负无穷?
求教熟悉数值计算的同学。 |
|
x******e 发帖数: 466 | 25 感觉遇到高人了,我作的项目是随公司项目决定的,也不是我的研究范畴,所以我也是
个初学者。你说复平面上的围线积分(苛西定理),这个不是只有在求当积分路径是封
闭的才能用么。我研究的积分路径是从0到正无穷,不是封闭的,这个围线积分也可以
用?如果可以,怎么用?还有啥叫一个包一个的积分?不大明白。。。请指教。还有我
研究的东西就是纯数学吧,只要能把积分积出来就好,目前还不涉及任何应用。 |
|
x******e 发帖数: 466 | 26 谢谢你的回答!你说的围线积分是苛西定理么?我正在研究的是第二种:直接积分,对
积分路径作处理,比如饶过奇点,branch point,branch cut。请问对此有什么建议?
就是找不到相关的有用的资料啊。。。我研究被积函数比较复杂,里面有hankel,
bessel函数的各种形式,各种次方。 |
|
R*********r 发帖数: 1855 | 27 先用exp{Ht}对rho做个相似变换,把左边第二、三项消去,既然没有关于F的任何信息
,当然只能老老实实做数值积分了,提高数值积分精度的方法到处都是,自己找。 |
|
o*******w 发帖数: 349 | 28 Sommerfeld 积分不是一个很成熟的东西吗? |
|
B********e 发帖数: 10014 | 29 关于这些special 函数和积分,各个数学软件都有现成的包,你需要研究什么?
打开matlab或者mathematica, maple的帮助手册看一下 |
|
x******e 发帖数: 466 | 30 谢谢!我做的是圆柱坐标下电磁波辐射场计算。被积函数比较复杂,里面有各种bessel
,hankel function,还有三角函数(正余弦)。软件包是有一些特定的special函数,不
过依然不行,我做的case基本上要manually 设计积分路线。而且还要写算法论文的,
这个东西迟早要攻克,所以还是要彻底搞懂最好。 |
|
l*********i 发帖数: 483 | 31 用GSL的adaptive Runge-Kutta routine数值解出了f(x)在x=0到1的数值,
如果想要求解g(f(x),x)在区间x=0到1之间的积分,有什么现成的C/C++ routine可以
用么?因为最初f(x)是用adaptive的routine求解的,所以x的步长并不是一个
固定的值,所以一般的Newton-Cotes的库没法直接用。哪位大侠指点一下? |
|
t**k 发帖数: 260 | 32 要求一个高维积分(20-50维),被积函数应该是连续的,变量有约束,即每一维大于0且和为1。
找不到解析解,打算用数值积分。
1。请问用什么方法比较好?google了一下,似乎应该用MCMC?
2。有什么软件推荐?Matlab或者java或者c/c++?
谢谢! |
|
a******e 发帖数: 197 | 33 Integral[f(t),{t,x,infinity}]=Integral[f(t),{t,1,Infinity}]
-Integral[f(t),{t,1,x}]
数值积分Integral[f(t),{t,1,Infinity}],然后任意取n+1个x,
数值积分Integral[f(t),{t,1,x}]。 |
|
a******e 发帖数: 197 | 34 Integral[f(t),{t,x,infinity}]=Integral[f(t),{t,1,Infinity}]
-Integral[f(t),{t,1,x}]
数值积分Integral[f(t),{t,1,Infinity}],然后任意取n+1个x,
数值积分Integral[f(t),{t,1,x}]。 |
|
x***u 发帖数: 6421 | 35 你的g函数的定义不对。x和y都不知道没办法数值积分
这个破函数你干嘛要用数值积分,动动手就出来了 |
|
s***l 发帖数: 2236 | 36 我估计是这样的,首先这个积分可能是不可积的,我猜测.但是
我用methematica试着解了一下他居然给出一个巨长的式子好
象给积出来乐!然后我试了几个肯定是积不出的函数它也都给
出了个解的形式,真是牛啊.
你的问题出在你要算定积分,但是你的表达式里有参量,那你让
它如何数值积分呢?所以有参量的积分不能用mathematica算定
积分.不能怪它的,毕竟不是人啊. |
|
c*******e 发帖数: 8624 | 37 kernal比如是f(x,y),x=x1(y) to x2(y), y=y1 to y2
我对matlab积分的函数不是很熟悉
首先是不是不能用dblquad,那样好象x也要求是定限?
我就想用int先积x部分,但是问题是int是符号积分
f(x,y)现在找不到这么一个解(等了很久也没结果)
平时我都自己写,4重的积分我也用Gaussian Quadrature
写过,但是效率好象很差,用的都是for loop,因为
这样的积分我要用很多次(在循环里面),是不是用
matlab本身的函数要效率好很多?
应该是很容易的问题,搞了1个多小时没搞出来,哪位帮忙看看吧. |
|
t*****k 发帖数: 390 | 38 对f(x1, x2, x3)求三重积分,x1,x2,x3都是从0积分到正无穷大
同时f(x1,x2,x3)=min(f1(x1,x2,x3), f2(x1,x2,x3))
能不能提供一个精度较高的Matlab中的积分方法
好像只能用数值积分的方法:(
3x |
|
R*********r 发帖数: 1855 | 39 方法1. 变量代换ln x=t,再用现成的方法积分
方法2. I=(I-int ln x)+int ln x,前一个已经去掉奇异性了,后一个可以解析积分
方法3. 分两段积分,(0,a)可以解析地积分成级数再相加,其它的就按常规积分 |
|
l******o 发帖数: 298 | 40 对于有限上下界积分、被积函数是连续的,龙贝格(romberg)数值积分是最好的,对吗?
比高斯积分好,对吗? |
|
p*q 发帖数: 11 | 41 看样子老大是不作数值计算的了. 数值计算不是光套最简单公式就可以的,
即使不说效率问题, 一些理论上正确的公式在计算机上就会给出错误的结果. |
|
i*f 发帖数: 85 | 42 【 以下文字转载自 EE 讨论区 】
发信人: iif (iif), 信区: EE
标 题: 请教:MATLAB如何做四重积分?
发信站: BBS 未名空间站 (Thu Oct 25 14:27:57 2007), 转信
查了帮助,1到3重都有函数可以直接调用,那么四重如何做
我要做的是数值积分。
谢谢! |
|
i*f 发帖数: 85 | 43 【 以下文字转载自 EE 讨论区 】
发信人: iif (iif), 信区: EE
标 题: 请教:MATLAB如何做四重积分?
发信站: BBS 未名空间站 (Thu Oct 25 14:27:57 2007), 转信
查了帮助,1到3重都有函数可以直接调用,那么四重如何做
我要做的是数值积分。
谢谢! |
|
i*f 发帖数: 85 | 44 ft,我就是想提高速度才从montecarlo换到数值积分的,至少在2重积分时候比
montecarlo要快
this |
|
a****l 发帖数: 8211 | 45 分别使用Forward Euler和Backward Euler两种方法做数值积分,这样做成的两个积分
器在频率响应上会有什么不同吗?从时域上看似乎基本就是一样的,但是从频域上看,
一个是有一个极点,一个是有一个极点和一个零点,这样一来似乎应该会产生不小的频
率响应上的区别。到底这两种方法区别大吗? |
|
w*******a 发帖数: 27 | 46 symbolic math toolbox
有积分,help里应该有。其实内核就是maple.
Ex:
syms x,a;
f = exp(-a*x^2);
int(f,x,-inf,inf)
This returns
ans =
1/(a)^(1/2)*pi^(1/2)
数值积分的话就quad吧。 |
|
d*n 发帖数: 137 | 47 把背时函数作级数展开。
还可以查积分手册, 国产的手册是刘中柱等编(宇航出版社), 国外
的士
前苏联出的。 如果手册上查不到。 一般考虑数值积分。 |
|
f*******r 发帖数: 204 | 48 也不能这么说。你的问题是已知函数形式。但是如果函数形式未知,只有一系列数值点,
哪也只能象张老大说的那么做了。 |
|
f*******n 发帖数: 70 | 49 【 以下文字转载自 Programming 讨论区 】
【 原文由 forgotten 所发表 】
俺一直用numerical recipe, 有没有更好的推荐一下, 比如做数值积分,
random number generator之类的, thx!! |
|
p*q 发帖数: 11 | 50 如果震荡次数太多, 高斯积分的效率是很低的. 只怕要分的子区域
个数和震荡次数成正比, 那就不划算了. |
|