JPH05181645A - 数値積分装置 - Google Patents

数値積分装置

Info

Publication number
JPH05181645A
JPH05181645A JP34667791A JP34667791A JPH05181645A JP H05181645 A JPH05181645 A JP H05181645A JP 34667791 A JP34667791 A JP 34667791A JP 34667791 A JP34667791 A JP 34667791A JP H05181645 A JPH05181645 A JP H05181645A
Authority
JP
Japan
Prior art keywords
value
calculation
addition
section
integrated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP34667791A
Other languages
English (en)
Inventor
Minoru Fujimoto
穰 藤本
Riyuugo Maeda
竜五 前田
Yoshiki Uchikawa
嘉樹 内川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shimadzu Corp
Original Assignee
Shimadzu Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shimadzu Corp filed Critical Shimadzu Corp
Priority to JP34667791A priority Critical patent/JPH05181645A/ja
Publication of JPH05181645A publication Critical patent/JPH05181645A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 積算時の桁落ちをできるだけ少なくし、精度
の高い数値積分を行なう 【構成】 被積分関数が積分区間内で正負の値をとると
きは各項の計算値の絶対値が大きい部分区間から順番
に、被積分関数の符号が積分区間内で変化しない場合は
各項の計算値の絶対値が小さい部分区間から順番に、総
和の積算を行なう。 【効果】 積算途中の桁落ちが最小限に抑えられ、数値
積分の計算精度が上がる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、数値積分を行なう装
置、特に、高精度の結果が要求される数値積分装置に関
する。
【0002】
【従来の技術】コンピュータの高性能化、高速化に伴
い、物理現象を数値計算により解明する方法が広く用い
られるようになってきた。これらの計算は、対象とする
物理現象に応じて電磁場解析、構造解析、流体解析等と
呼ばれるが、最終的には微分或いは積分を数値で計算す
ることにより、解明したい物理量を具体的数値で求める
ものである。
【0003】このうち、定積分 I=∫a bf(x)dx を数値計算する場合、積分区間(a,b)内のN個(又
はN+1個)の点x0,x1,…,xNにおけるf(x)
の値(f0,)f1,…,fNの線形結合 Σkk・fk (ここで、Σkはkについての総和を表わす)によって
近似計算を行なうことになる。この点xi及び重みwi
選び方によって、ニュートン−コーツの公式(台形公
式、シンプソンの公式等はこれに含まれる)、チェビシ
ェフの公式、ガウスの公式等の数値積分公式が古くから
知られている。
【0004】
【発明が解決しようとする課題】いずれの公式を用いる
にせよ、数値積分では、与えられた積分区間を有限個の
微小区間に分割し、各微小区間毎に所定の計算(面積計
算。ただし、ここにおける面積には負の値も含まれ
る。)を行なって、それを全微小区間について(すなわ
ち、積分区間全体にわたって)加算する(総和をとる)
という方法をとる。
【0005】この総和計算の際、従来は、所定の積分区
間の一方の端から順番に加算してゆくという方法をとっ
ていた。しかし、このような単純な加算方法では、加算
数と被加算数との絶対値が大きく異なる場合が生じ、和
が計算機の有効桁数を超えることになる加算が行なわれ
る可能性がある。この場合、計算途中で桁落ちが生じ、
計算結果の精度が低くなるという欠点がある。このよう
な問題は、特に、区間内に特異点を有する関数の積分
(特異積分)を行なう際に顕著に現われる。
【0006】本発明はこのような課題を解決するために
成されたものであり、その目的とするところは、加算時
の桁落ちをできるだけ少なくし、精度の高い数値積分を
行なうことのできる数値積分装置を提供することにあ
る。
【0007】
【課題を解決するための手段】上記課題を解決するため
に成された本発明では、被積分関数を2種に分け、各場
合について各々次のような数値積分装置を用いるように
する。
【0008】まず、積分区間内で正の値と負の値をとる
被積分関数に対しては次のような数値積分装置とする。
すなわち、積分区間を有限個の部分区間に区分し、各部
分区間毎にその部分区間における被積分関数の値を含む
計算を行ない、全部分区間について加算することにより
積分値を計算する数値積分装置において、加算を、各部
分区間における所定の計算値の絶対値が大きい部分区間
から行なうようにする。
【0009】次に、積分区間内で関数値の符号が変化し
ない被積分関数に対しては、次のような数値積分装置と
する。すなわち、積分区間を有限個の部分区間に区分
し、各部分区間毎にその部分区間における被積分関数の
値を含む計算を行ない、全部分区間について加算するこ
とにより積分値を計算する数値積分装置において、加算
を、各部分区間における所定の計算値の絶対値が小さい
部分区間から行なうようにする。
【0010】
【作用】被積分関数が正負の値をとる場合について、簡
単な例で説明する。有効数字3桁の計算機で1.01、
101、−101の3個の数値の加算を行なう場合、最
初から順番に計算を実行してゆけば、1.01+101
=102、102−101=1となるが、絶対値の大き
い数値である後2者の方から加算を行なうと、101+
(−101)=0となり、1.01+0=1.01とな
る。本発明の数値積分装置では、このように絶対値の大
きい部分区間から加算を行なってゆくため、加算時の桁
落ちが最小限に抑えられ、精度の高い数値積分を行なう
ことができる。次に、被積分関数の符号が(積分区間内
で)変化しない場合について簡単な例を挙げる。有効数
字1桁の計算機で1.0+0.2+0.2+0.2+
0.2+0.2という計算をこの順番で行なうと、途中
で桁落ちが生じ、和は1となる。しかし、0.2+0.
2+0.2+0.2+0.2+1.0のように絶対値の
小さい方から加算してゆくと、正しい値「2」を得るこ
とができる。このように、いずれの場合にせよ、本発明
に係る積分装置の本質は、各部分区間における計算値を
積算する途中で桁落ちができるだけ生じないようにした
ことである。
【0011】
【実施例】本発明に係る数値積分装置を電子顕微鏡の電
子光学系(電子レンズ)の設計に応用した例を述べる。
電子光学系の設計では、種々の電子レンズの配置毎に電
場の様子及び電子の運動を解析し、倍率や収差の評価を
行なわねばならない。このような設計において、導体表
面の電荷密度分布を近似的に表わす表面電荷法は、複雑
な電極(導体)形状、配置に対しても電界、磁界の大き
さを求めることができるため、有効な計算手段となって
いる。
【0012】表面電荷法によると、真空中に導体が存在
するとき、任意の点r0の電位φ(r0)は、導体表面上
の点rの周りの微小面積dSに分布する電荷の電荷関数
σ(r)が与えられれば、次のように表わされる。 φ(r0)=(1/4πε0)∫∫S{σ(r)/|r−r0|}dS (1) ここで、ε0は真空の誘電率であり、二重積分は全導体
表面Sについて行なわれる。この積分を所定の電極形状
(導体表面S)について数値積分で実行することによ
り、電子光学系の電場の解析を行なうことができる。以
下、本実施例の積分装置による数値積分の方法の説明
を、一般化した関数形により進めてゆく。
【0013】一般に、関数f(x)の定積分 I=∫a bf(x)dx (2) を数値計算する場合、 I=h・Σf(ih) (3) という式は、(a,b)が有限区間である場合には精度
が悪いが、(a,b)が無限区間(−∞,∞)である場
合には比較的精度が良い。このため、式(2)において
a,bが有限値である場合、変数変換x=φ(t)によ
って無限区間(−∞,∞)の積分に変換し、それを式
(3)により計算すれば、精度の高い計算を行なうこと
ができる。このとき、式(2)は、 I=∫f(φ(t))・φ'(t)dt (4) となり(積分区間は、−∞<t<∞)、数値計算式
(3)は Ih=h・Σf(φ(ih))・φ'(ih) (5) (総和区間は−∞<i<∞)となる。ここで、f(φ
(t))・φ'(t)のt→±∞における減衰が著しい場合に
は、式(5)の総和は有限項で打ち切ることができる。 Ih (N)=h・Σi=-N- N+f(φ(ih))・φ'(ih) (6) (N=N++N-+1)
【0014】上記式(1)の積分は電子顕微鏡の光学系
についてのものであるため、積分区間(導体表面)Sは
有限であるが、このように無限区間となるような変数変
換を施すことにより、精度の高い計算を行なうことがで
きる。この変数変換の方法の一つに、次の高橋−森の変
換がある。 ξ=φ(t)=tanh((π/2)・sinh(t)) (7) ただし、この変換を施す前に、上記積分式(2)の積分
区間(a,b)は、適当な変数変換を施すことにより
(−1,1)に正規化しておくものとする。I=∫-1 1
f(ξ)dξ
【0015】式(7)の関数φ(t)は|t|が大きくな
るとほぼ f(φ(t))・φ'(t) 〜 A・exp(-c・exp(|t|)) の形で減衰するため、総和は式(6)のように有限項で
打ち切ることができる。 Ih (N)=h・Σi=-N- N+f(tanh((π/2)・sinh(ih)))・ {(π/2)・cosh(ih)/cosh2((π/2)・sinh(ih))} (8) 式(8)を二重指数関数形積分公式と呼ぶが、これは、
前記の一般積分公式 I=Σii・f(ai) において、 分点aiを tanh((π/2)・sinh(ih))、 重みwiを (π/2)・cosh(ih)/cosh2((π/2)・sinh(ih)) (9) としたものとなっている。ここで、重みwiは被積分関
数f(x)に全く依存せず、分点aiとともに予め計算し
ておくことができる。この式(9)で表わされる重みw
iの具体的な形は図2に示す通りである。なお、図2で
は区分の数Nを4096とし、開始点−N-を-2048、終了点
+を2048としている。
【0016】式(8)の総和を計算するに際して、従来
の積分装置では単純に区間(−N-,N+)の端から順番
に加算を実行していた。このため、せっかく計算精度の
高い二重指数関数形積分公式を用いても、この総和を計
算する際に桁落ちが生じ、計算結果の精度が低くなる場
合があった。
【0017】それに対し、本実施例の積分装置では式
(8)の重みwiに注目し、重みwiの小さい区間から順
番に加算を実行するようにした。上述の通り、重みwi
自体は被積分関数に依存しないため、図1(a)に示す
ように、区分点iに対する重みwiの値は予め計算して
おくことができる(ステップS1)。従って、全ての区
分点iについての重みwiの計算が終了した後(ステッ
プS2)、重みwi絶対値が小さい順に区分点i(及び
重みwi)を並べ替えることができる(ステップS
3)。この並び替えによる各区分点iの順序、及び、各
区分点iにおける重みwiの値は、適当な記憶媒体(内
部記憶又は外部記憶)に記憶しておく(ステップS
4)。
【0018】上記式(9)の場合、図2に示すように、
重み関数は中心点i=0に関して対称であり、かつ、そ
れ自身も左右対称である2つの山を有する形となる。こ
のため、重みwiの絶対値の小さい方から順番に区分点
iを取ってゆくと(水平線Lを下から上に移動してゆ
き、その線Lと重みwiの曲線との交点を取ることに相
当する)、同じwiの値に対する区分点iは4点ずつ存
在することになる。
【0019】 そして、図1(b)に示すように、式(8)の総和 Ih (N)=Σi=-N- N+h・f(tanh((π/2)・sinh(ih)))・ {(π/2)・cosh(ih)/cosh2((π/2)・sinh(ih))} を、記憶された区分点iの上記順序に従って計算してゆ
く。すなわち、まず区分点iの番号を上記順序で記憶媒
体から読み出し(ステップS11)、被積分関数f
(x)にx=tanh((π/2)・sinh(ih))を代入してf(tanh
((π/2)・sinh(ih)))を計算する。そして、その区分点i
の重みwi=(π/2)・cosh(ih)/cosh2((π/2)・sinh(ih))
を記憶媒体から読み出して乗算する。この結果にさらに
区分幅hを乗算し、区分点iの項の計算を終える(ステ
ップS12)。次に、この区分点iの項の計算結果をそ
れまでの総和に加算し、新しい総和とする(ステップS
13)。全ての区分点iについて上記順序(重みwi
絶対値の小さい順)での総和計算が終了したとき、積分
値Ih (N)が得られたことになる(ステップS14)。こ
れにより、計算途中で桁落ちが生じる可能性が少なくな
り、従来よりも高精度の結果が得られる。
【0020】上記計算では、数値積分公式の総和Σkk
・fkの各項wk・fkの絶対値の小さいものから順番に加
算してゆくのではなく、その重みwkの小さいものから
順に計算するという方法をとった。これは、本実施例の
場合、積分の各項の値が重みの値により大きく支配され
ているためである。この場合、重みが被積分関数の具体
的な形に無関係に予め計算され得るため、積分順序も予
め決定しておくことができるという利点もある。しか
し、さらに桁落ちの可能性を下げ、加算結果の精度を上
げるため、上記実施例のような方法ではなく、各項wk
kの計算を行なった後、その絶対値の小さいものから
順番に加算してゆくという方法をとってもよい。
【0021】上記実施例は、電子顕微鏡の電子光学系を
解析するための表面電荷法に本発明に係る数値積分装置
を適用したものであるが、この場合には、被積分関数が
いたるところで正であるため、絶対値の小さい順に総和
の加算を実行したものである。それに対し、表面磁荷法
による解析の場合には、被積分関数は正及び負の双方の
値をとるため、絶対値の大きい方から加算してゆく。
【0022】
【発明の効果】本発明に係る積分装置では計算途中の桁
落ちによる計算精度の低下が最小限に抑えられるため、
特に、積分区間内に(或いは、境界点に)特異点を有す
る関数の積分(特異積分)について、計算精度を向上さ
せるのに有効である。
【0023】なお、上記実施例では電子光学系の設計を
例にとって説明したが、上記説明から十分理解されると
おり、本発明に係る数値積分装置は被積分関数f(x)
の具体的な形に関わらずに構成されているため、電磁場
解析(電子顕微鏡や加速器の設計)、構造解析(有限要
素法FEM、境界要素法BEM)、流体解析(気象計
算)等、あらゆる応用分野の数値積分に対して適用する
ことができる。また、使用する計算公式についても、ニ
ュートン−コーツの公式(台形公式、シンプソンの公式
等はこれに含まれる)、チェビシェフの公式、ガウスの
公式等、あらゆる方式の数値積分法に対して適用するこ
とができる。
【図面の簡単な説明】
【図1】 本発明の一実施例である積分装置の作用を示
すフローチャート。
【図2】 実施例の積分計算における重みのグラフ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 積分区間内で関数値が正の値と負の値を
    とる被積分関数の積分区間を有限個の部分区間に区分
    し、各部分区間毎にその部分区間における被積分関数の
    値を含む計算を行ない、全部分区間について加算するこ
    とにより積分値を計算する数値積分装置において、加算
    を、各部分区間における計算値の絶対値が大きい部分区
    間から行なうようにしたことを特徴とする数値積分装
    置。
  2. 【請求項2】 積分区間内で関数値の符号が変化しない
    被積分関数の積分区間を有限個の部分区間に区分し、各
    部分区間毎にその部分区間における被積分関数の値を含
    む計算を行ない、全部分区間について加算することによ
    り積分値を計算する数値積分装置において、加算を、各
    部分区間における計算値の絶対値が小さい部分区間から
    行なうようにしたことを特徴とする数値積分装置。
JP34667791A 1991-12-27 1991-12-27 数値積分装置 Pending JPH05181645A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34667791A JPH05181645A (ja) 1991-12-27 1991-12-27 数値積分装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34667791A JPH05181645A (ja) 1991-12-27 1991-12-27 数値積分装置

Publications (1)

Publication Number Publication Date
JPH05181645A true JPH05181645A (ja) 1993-07-23

Family

ID=18385073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34667791A Pending JPH05181645A (ja) 1991-12-27 1991-12-27 数値積分装置

Country Status (1)

Country Link
JP (1) JPH05181645A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690545B2 (en) 2014-06-10 2017-06-27 Honda Motor Co., Ltd. Floating-point calculation apparatus, program, and calculation apparatus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690545B2 (en) 2014-06-10 2017-06-27 Honda Motor Co., Ltd. Floating-point calculation apparatus, program, and calculation apparatus

Similar Documents

Publication Publication Date Title
Li et al. A BMAP/G/1 retrial queue with a server subject to breakdowns and repairs
Ksasov et al. GB-splines of arbitrary order
Mitra et al. A simple method of computing the input quantization and multiplication roundoff errors in a digital filter
US5671395A (en) Method and system for dividing analyzing region in device simulator
JPH05181645A (ja) 数値積分装置
CN111622274A (zh) 山区巨粒土高填方地基基础沉降预测方法及系统
CN111460734A (zh) 一种结合先进自适应采样和人工神经网络的微波器件自动建模方法
Drummond Convergence speeding, convergence and summability
US7050999B1 (en) System for computing probability distribution of loan losses
JPS61256436A (ja) 演算装置
Harsha et al. A low error, hardware efficient logarithmic multiplier
Zhang et al. Multi-Objective Optimization on Multistage Half-Band FIR Filter Design Using Simulated Annealing Algorithm
JPH09293092A (ja) 電子回路のモデル化方法及び電子回路のシミュレーション方法
Capofreddi et al. The use of linear models for the efficient and accurate testing of A/D converters
KR100402339B1 (ko) 물성 모델의 파라미터 추출 방법 및 기록 매체, 및 비선형소자의 제조 방법
Hodgkins On the relation between dynamic relaxation and semi-iterative matrix methods
CN112181360B (zh) 浮点数的乘法运算方法及计算机可读存储介质
US20030125914A1 (en) System simulation using dynamic step size and iterative model
CN115563797A (zh) 一种数据处理方法、装置、设备及介质
RU2720219C1 (ru) Адаптивное цифровое прогнозирующее устройство
Lucas Suboptimal model reduction by multi-point Pade approximation
Christian Penland et al. Error analysis of the nodal expansion method for solving the neutron diffusion equation
Danninger Architectural Exploration of Arbitrary Sampling Rate Converters/Author Matthias Danninger, BSC
Ye et al. GEBA: Gradient-Error-Based Approximation of Activation Functions
Ishimura et al. Spline approximation of line images by modified dynamic programming