Mapleトップページ
数式処理が世界を変える

数式処理の特長 数値計算の精度向上

「数式処理は世界を変える」トップページに記載したように、数値計算と数式処理では解を出すまでのプロセスが異なります。

数式処理では、数値計算では常に生じる誤差の心配がありません。数式処理は、パラメータの係数は未知変数や有理数・整数・代数的数など、厳密に正しい表現のままで計算を行えます。一方、数式処理は、文字通り数式を数式として認識します。従って、誤差が発生するような問題に対して、人間が対処するかの如く、式の整理や簡単化、余分な計算の排除などの処理を、数値計算を実行する前に適用することで、数値計算では必ず発生する誤差をより効果的に考慮するための対策を講じることが可能です。

例えば、微分方程式と代数方程式が混在した「微分代数方程式(Differential Algebraic Equation)」を数値計算の手法だけで解こうとした場合、通常の数値計算法とは異なる誤差への配慮が必要です。微分代数方程式は、ダイナミクスの振舞いと物理的な条件を同時に満たす方程式であり、電気回路やマルチボディシステム、化学反応などのあらゆる工学的現象の表現に用いられていますが、そのシミュレーションを効果的に行うには、数式処理と数値計算の統合的な計算法が必須となっています。

常微分方程式(ODE)部分、代数方程式(拘束式)部分

直交座標系で記述された振り子モデルを表す微分代数方程式(DAE)の例。
微分代数方程式の数値解法(シミュレーション)では、ルンゲ・クッタ法などの数値算法による1ステップの計算に加え、各時間ステップで拘束式の条件を満たしているか否かの計算も必要となり、計算コスト増に加えて誤差発生の一要因と成りえます。

左:解法の反復により誤差が発生し、振り子の長さが1であるという拘束条件から徐々にはずれている例
右:拘束を考慮した解法により反復を繰り返しても誤差が発生しない例




お問い合わせ サイバネットシステム株式会社 システムCAE事業部
TEL: 03-5297-3255 (受付時間 9:00〜12:00 / 13:00〜17:30 ※土日祝及び弊社休業日を除く)
メールでのお問い合わせ  お問い合わせフォーム  お問い合わせ一覧

モデルベース開発