JP5257962B1 - 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム - Google Patents

高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム Download PDF

Info

Publication number
JP5257962B1
JP5257962B1 JP2012551403A JP2012551403A JP5257962B1 JP 5257962 B1 JP5257962 B1 JP 5257962B1 JP 2012551403 A JP2012551403 A JP 2012551403A JP 2012551403 A JP2012551403 A JP 2012551403A JP 5257962 B1 JP5257962 B1 JP 5257962B1
Authority
JP
Japan
Prior art keywords
interval
value
variable
section
fractional
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.)
Expired - Fee Related
Application number
JP2012551403A
Other languages
English (en)
Other versions
JPWO2013024810A1 (ja
Inventor
正考 福長
信行 清水
洋 那須野
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.)
MOTIONLABO INC.
Taica Corp
Original Assignee
MOTIONLABO INC.
Taica 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 MOTIONLABO INC., Taica Corp filed Critical MOTIONLABO INC.
Priority to JP2012551403A priority Critical patent/JP5257962B1/ja
Application granted granted Critical
Publication of JP5257962B1 publication Critical patent/JP5257962B1/ja
Publication of JPWO2013024810A1 publication Critical patent/JPWO2013024810A1/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

分数階微積分演算を行う高速演算装置であって、関数f(τ)の積分区間[a,t]を、区間[a,c1]と区間[c1,t]とに分割し、区間[a,c1]においては、計算してメモリに記憶しておいたtに依存しない重み付き積分値を用いて微積分演算を行い、区間[c1,t]について計算した微積分演算の結果と合算することにより、微積分演算結果を得る。tが更新されるのにしたがって、新たな分割点c2を設定し、区間[c1,t]における計算結果に基づいて区間[a,c2]の重み付き積分値を算出し、メモリに記憶する。

Description

本発明は、分数階微積分値を計算する高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、この高速演算装置を備えた機器制御システム、並びにこの高速演算装置を備えたシミュレーションシステムに関する。
工学設計や現象解析、装置の制御などの作業において、コンピュータを用いた数値計算やシミュレーション、さらにはそれを応用した製品設計が多くの分野で盛んに実践されている。特に、近年、コンピュータの飛躍的な性能向上により、従来の単純化したモデル式から、より精度に優れたモデル式でのシミュレーションや制御方法が研究されている。その一手法として、従来の整数階の微積分要素でのモデルに代えて、非整数階である分数階微積分要素を含むモデルの適用が有効であり、例えば、振動現象などの挙動解析や、信号処理、画像処理など多くの分野で研究がされている。
分数階微分は、Newton力学で使用される整数階微分を一般化したものであり、現在では工学分野のみならず多くの自然科学分野でも使用されつつある。しかし、分数階微分は、整数階微分に比べて解析が困難なことから、一部では1以上の導関数を含む整数階微分モデルに変換して解析する試みも行われている。
分数階微分は、Riemann−Liouvilleの定義、Grunwald−Letnikovの定義、及びCaputoの定義で代表されるように、積分式で記述されるため、コンピュータによる分数階微分値の計算は、積分値から求める手法が用いられている。また、Riemann−Liouvilleの定義やCaputoの定義のように分数階微分は、分数階積分の形で定義されることから明らかなように、分数階微分の計算手法は、分数階積分値の計算にも適用できる。
積分計算としては、従来から台形則やシンプソン則など公知の方法が使用されている。これら従来の方法は、積分計算に際して積分間隔を細かく分割して計算するため、高い精度の計算値を得るには変数軸の分割点を多くする必要がある。しかし、分割点の数が多くなるほど計算時間が増加し、計算精度を求めるほど処理時間が膨大となる。例えば、Riemann−Liouvilleの定義における閉区間[a,t]についての積分において、変数の点(変数が時間の場合には時刻)τについての積分は、変数tに対する相対値(t−τ)で表された変数tに依存の積分であるため、従来の分数階微分値や分数階積分値の計算では、全ての分割点のf(τ)をメモリに記憶しておき、変数tが進む毎にメモリのf(τ)を用いて更新前の積分計算を行う必要があることから、第nステップまでの積分計算ではnオーダーの計算が必要となる。これは、Grunwald−Letnikovの定義、及びCaputoの定義など、積分形式を含む場合にも共通する課題である。
このような課題を解消する方法として、整数階微分の計算法であるNewmark−β法を分数階微分に拡張して応用する方法が提案されている(非特許文献1)。
前述の課題を解消するために他の方法として、変数tを時間として現時刻から過去の時間領域の分割幅が広くなるようにベキ時間を適用して計算ステップ数を減じることにより、計算時間の短縮化を試みる提案がされている(非特許文献2)。
那須野洋,清水信行:「非線形分数階微分方程式のための数値積分アルゴリズム」,日本機械学会論文集(C編)72巻722号(2006−10)論文No.06−137 那須野洋,清水信行:「ベキ時間を用いた分数階微分方程式の数値積分法」,日本機械学会論文集(C編)72巻724号(2006−12)論文No.06−605 那須野洋,清水信行,安野拓也:「分数階微分で記述される粘弾性体の幾何学的非線形静的・動的モデル」,日本機械学会論文集(C編)72巻716号(2006−4)論文No.05−130 R.Deng, P.Davies, A.K.Bajaj:「Application of Fractional Derivatives to Modeling the Quasi−Static Responce of Polyurethane Foam」, Proceedings of ASME 2003 Design Engineering Technical Conferences, VIB−48397 (2003)
しかしながら、非特許文献1に記載の方法は、処理時間が長く、実用できるものではなかった。
また、非特許文献2に記載の方法によると、幅を広くすると計算精度が低下し、また、時刻tが更新される度に全区間の分割点について積分計算を実行しなければならず、依然として実用レベルの精度確保と処理時間の短縮化を実現できるものではなかった。
このように従来方法では、精度と処理時間を両立することが困難であり、実用化において大きな課題となっているが、コストや効率を含めて実用的な計算方法は未だ開発されていない。
分数階微積分が適用、又は期待されている具体例として、電気炉やエアコンなどの温調機能を有する機器の温度制御などの機器制御技術がある。代表的な制御技術としては、現在PID(比例・積分・微分)制御が適用されており、これに分数階微積分を適用したPIλμ制御等が、より正確な制御法として研究されているが、分数階微積分値の計算に際して処理時間がかかりすぎて、未だ十分な精度で制御が行えないのが現状である。
また、挙動解析においては、例えば近年研究が進んでいる粘弾性の変形挙動解析について、粘弾性体のゴムやポリウレタンフォームなどでは、試料の荷重試験による周波数応答からその粘弾性を推定する研究が数多く報告されているが、より正確な予測、解析を目的に、分数階微分モデルを用いた粘弾性の推定手法(非特許文献3)が提案され、また、実際に分数階微分モデルを用いてポリウレタンフォームの粘弾性を推定すること(非特許文献4)などが報告されている。
しかしながら、この分数階微積分からなる要素の計算方法は、台形則やシンプソン則やGrunwald−Letnikov法など様々な方法が提案されているが、精度を求めるほど処理時間が膨大となり、精度と処理時間を両立させる大きな課題となっており、コストや効率を含めて実用的な計算方法は未だ開発されておらず、分数階微積分モデルを用いた解析や製品設計の実用化できない原因となっていた。
このようなことから、高精度かつ短時間で処理可能な分数階微積分値の計算方法が開発されれば、様々な分野での実用化が進み、産業的に大きな貢献をもたらすため、コンピュータを用いた革新的な分数階微積分値の高速演算装置の開発が切望されていた。
従って、本発明の目的は、上記問題点に鑑み、高い精度を維持しつつ短い計算時間で分数階微積分値を計算することができる高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステムを提供することにある。
本発明者等は、上記問題点を解決するために、分数階微分をRiemann−Liouvilleの定義(以下RL定義と称する)、Grunwald−Letnikovの定義(以下GL定義と称する)、及びCaputoの定義(以下C定義と称する)による式を用いて分数階微分値及び/又は分数階積分値を求める際に、f(τ)の区間[a,t]の積分計算を行うにあたり、区間[a,t]をその区間内の点c(以下分割点と称する)で区間[a,c]と区間[c,t]とにまず分割し、区間[a,c]の積分を特定の条件の下で、(t−τ)のベキをtのベキとτのベキの積に変換することによって、従来のf(τ)に代えて、変数tと独立なτによるf(τ)の重み付き積分を用いて、f(τ)の重み付き積分項と、変数tのベキに依存する重み付き係数との積の和として計算するように構成した高速演算装置を提供する。これにより、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させておき、その値を読み出して使用することによって、その都度、最初から再計算する必要がないため、さらに、全ての計算ステップに対する関数値f(τ)を記憶部上に記憶しておく必要もなくなるため、極めて高速に分数階微積分値計算を行うことができる。また、分数階微分の定義に分数階積分が含まれていることから、分数階微分の場合と同様に分数階積分値も極めて高速に計算することができるのである。
即ち、本発明によれば、高速演算装置は、分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより分数階微積分要素の変数tにおける分数階微積分値を求めるように構成されており、パラメータ及びデータf(τ)を入力するための入力部と、変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、入力部及び記憶部に電気的に接続されている演算部とを備えている。演算部は、
積分区間[a,t]又は[t,a]内において、変数tがΔ進む毎に式(1)を満たしながら更新される分割点cを設定することにより、積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する第1の分割設定手段と、
Figure 0005257962
(ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
変数tが幅h更新される度に、区間[c,t]又は区間[t,c]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c]又は区間[c,a]において、変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、分割点cを上端とする幅Δの小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c]又は区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c,t]の分数階微積分値Aと区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c]の分数階微積分値Aと区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えている。
変数tに関する積分区間が[a,t]であって、
第1の分割設定手段は、式(2)の条件を満たす設定値M及びmにおいて、t−(M+m)h=cとなった時点を分割点cとして設定するものであり、
積分演算手段は、区間[a,c]の変数tの更新に依存しない重み付き積分値の算出を、分割点cが設定された時点からc=aとして開始し、以降、変数tがmh(=Δ)進みc=t−(M+m)hの条件を満たす度に、区間[c,t−Mh]の幅h刻みのf(τ)データを用い、c=t−Mhへの更新を伴って、更新されたcを上端とする幅Δの小区間の重み付け積分値を算出する重み付き計算ステップを実行して記憶部に記憶させる第1の積分演算部を備えている
Figure 0005257962
(ただし、εは計算精度、Mは時間刻み幅h区間の積分計算のステップ数、mはΔに纏められる幅h刻みの区間の個数であり2以上の整数、Kは展開次数)、
ことが好ましい。
変数tに関する積分区間が[t,a]であって、
第1の分割設定手段は、式(3)の条件を満たす設定値M及びmにおいて、t+(M+m)h=cとなった時点を分割点cとして設定するものであり、
積分演算手段は、区間[c,a]の変数tの更新に依存しない重み付き積分値の算出を、分割点cが設定された時点からc=aとして開始し、以降、変数tがmh(=Δ)進みc=t+(M+m)hの条件を満たす度に、区間[t+Mh,c]の幅h刻みのf(τ)データを用い、c=t+Mhへの更新を伴って、更新されたcを上端とする幅Δの小区間の重み付け積分値を算出する重み付き計算ステップを実行して記憶部に記憶させる第1の積分演算部を備えている
Figure 0005257962
(ただし、εは計算精度、Mは時間刻み幅h区間の積分計算のステップ数、mはΔに纏められる幅h刻みの区間の個数であり2以上の整数、Kは展開次数)、
ことも好ましい。
第1の分割設定手段によって、式(4)の条件を満たす設定値M及びmにおいて、変数tのh刻みの更新に伴い分割点cがc=t−Mhとして更新され、さらに、c=aを初期値として、区間[a,c]内のcを上端とする幅Δ’が変数tのh刻みの更新によってhからmhまで変化するものであって、
Figure 0005257962
(ただし、εは計算精度、Mは時間刻み幅h区間の積分計算のステップ数、mはΔに纏められる幅h刻みの区間の個数であり2以上の整数、Kは展開次数)、
積分演算手段は、幅Δ’がmh未満の場合には、cを上端とする幅Δ’の小区間は幅h刻みのf(τ)データを用い、変数tの更新に依存する積分値の計算を変数tの更新毎に繰り返し実行して記憶部に記憶させ、幅Δ’がmhとなった場合には、小区間の幅h刻みのf(τ)データを用い、分割点cを上端とする幅Δ(=mh)の小区間の変数tの更新に依存しない重み付け積分値を算出する重み付き計算を変数tの更新毎に繰り返し実行して記憶部に記憶させる第1の積分演算部を備えており、
第2の分数階微積分値演算手段は、幅Δ’がmhとなった場合に分割点cに対応する重み付き積分値を記憶部から読み出して、忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して算出する分数階微積分値と、変数tの更新に依存する幅Δ’がmh未満の場合の小区間の積分値から算出する分数階微積分値とを合算して算出する第1の分数階微積分値演算部を備えていることも好ましい。
積分演算手段は、変数tを更新しながら区間[a,c]の重み付き積分を算出する際に、幅Δの小区間の個数Js−1(s=2)が式(5)で表されるLと等しくなった時点で、c=c−(L−m)Δである新たな分割点cを設定して区間[a,c]を中区間[a,c]と中区間[c,c]とに分割する第2の分割設定手段を具備し、
中区間[a,c]においては、cの設定された時点並びに以降、変数tがmΔ進む度に、分割点cから直近の分割点c方向に連続するm個の幅Δの小区間を纏めて幅Δの小区間とし、記憶部に記憶されているm個の各小区間の重み付き積分値を重み付き積分値として算出して記憶部に記憶させる第2の積分演算部を備えており、
Figure 0005257962
第2の分数階微積分値演算手段は、区間[a,c]の分数階微積分値Bを、記憶部に記憶されている中区間[c,c]と、中区間[a,c]の各小区間の重み付け積分値、をそれぞれ読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えていることも好ましい。
積分演算手段は、変数tを更新しながら区間[c,a]の重み付き積分を算出する際に、幅Δの小区間の個数Js−1(s=2)が式(6)で表されるLと等しくなった時点で、c=c+(L−m)Δである新たな分割点cを設定して区間[c,a]を中区間[c,a]と中区間[c,c]とに分割する第2の分割設定手段を具備し、
中区間[c,a]においては、cの設定された時点並びに以降、変数tがmΔ進む度に、分割点cから直近の分割点c方向に連続するm個の幅Δの小区間を纏めて幅Δの小区間とし、記憶部に記憶されているm個の各小区間の重み付き積分値を重み付き積分値として算出して記憶部に記憶させる第2の積分演算部を備えており、
Figure 0005257962
第2の分数階微積分値演算手段は、区間[c,a]の分数階微積分値Bを、記憶部に記憶されている中区間[c,c]と、中区間[c,a]の各小区間の重み付け積分値、をそれぞれ読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えていることも好ましい。
積分演算手段は、変数tを更新しながら区間[a,c]の重み付き積分を算出する際に、さらにs≧3(s=3,4,...,S)として、中区間[c,cs−1]の幅Δs−1の小区間の個数Js−1(s≧3)が式(7)で表されるLと等しくなる度に、c=cs−1−(L−m)Δs−1である新たな分割点cによってcs+1=aを初期値とする中区間[cs+1,c]と[c,cs−1]とを設定する第3の分割手段を具備し、cが設定された時点及びそれ以降、変数tがmΔs−1進む度に、分割点cから直近の分割点cs−1方向に連続するm個のΔs−1の小区間を纏めて幅Δの小区間とし、記憶部に記憶されているm個のΔs−1の各小区間の重み付き積分値を用いてΔの小区間の重み付き積分値として算出して記憶部に記憶させ、さらに、以降変数tの更新によってΔの小区間の個数がLとなる度にs=s+1として、以上の処理を繰り返す第2の積分演算部を備えており、
Figure 0005257962
第2の分数階微積分値演算手段は、区間[a,c]又は分数階微積分値Bを、記憶部に記憶されている中区間[c,c]及び中区間[c,c]並びにs≧3(s=3,4,...,S)とする中区間[cs+1,c]の各小区間の重み付け積分値をそれぞれ読み出し、全ての中区間の各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えていることも好ましい。
積分演算手段は、変数tを更新しながら区間[c,a]の重み付き積分を算出する際に、さらにs≧3(s=3,4,...,S)として、中区間[cs−1,c]の幅Δs−1の小区間の個数Js−1(s≧3)が式(8)で表されるLと等しくなる度に、c=cs−1+(L−m)Δs−1である新たな分割点cによってcs+1=aを初期値とする中区間[c,cs+1]と[cs−1,c]とを設定する第3の分割手段を具備し、cが設定された時点及びそれ以降、変数tがmΔs−1進む度に、分割点cから直近の分割点cs−1方向に連続するm個のΔs−1の小区間を纏めて幅Δの小区間とし、記憶部に記憶されているm個のΔs−1の各小区間の重み付き積分値を用いてΔの小区間の重み付き積分値として算出して記憶部に記憶させ、さらに、以降変数tの更新によってΔの小区間の個数がLとなる度にs=s+1として、以上の処理を繰り返す第2の積分演算部を備えており、
Figure 0005257962
第2の分数階微積分値演算手段は、区間[c,a]の分数階微積分値Bを、記憶部に記憶されている中区間[c,c]及び中区間[c,c]並びにs≧3(s=3,4,...,S)とする中区間[c,cs+1]の各小区間の重み付け積分値をそれぞれ読み出し、全ての中区間の各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えていることも好ましい。
mが2以上であることも好ましい。
が2であることことも好ましい。
忘却関数が式(9)であり、
積分演算手段は、式(9)の忘却関数又は式(9)の分子をあらかじめ計算し、得られたデータを記憶部に記憶させる第3の積分演算部を備えており、
第2の分数階微分値演算手段を実行する
Figure 0005257962
(ただし、bは、個々の小区間を識別するための任意の点、αは分数階微積分の積分定義で規定される積分階数、gは分数階微積分の積分定義で規定される関数、kは展開次数番号である)
ことも好ましい。
第3の積分演算部は、式(9)の分子をあらかじめ計算し、得られたデータを記憶部に記憶させるものであり、
積分演算手段は、さらに、重み付き積分にあらかじめ式(9)中の係数1/(k!Γ(α−k))を乗じた重み付き積分値として算出して記憶部に記憶させる第4の積分演算部を備えており、
第2の分数階微積分値演算手段は、記憶部に記憶されている小区間の前述の係数を乗じた重み付け積分値を読み出し、全ての中区間の各小区間に対応する式(9)の忘却関数の分子を乗じた値を小区間毎に算出し、全小区間について合算することによって区間[a,c]の分数階微積分値を算出する第3の分数階微積分値演算部を備えている
ことも好ましい。
区間[a,c]の分数階微積分定義がRiemann−Liouvilleの定義であり、区間[c,t]の分数階微積分定義がCaputoの定義であることも好ましい。
本発明によれば、さらに、分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより分数階微分要素の変数tにおける分数階微分値を求めるコンピュータの高速演算プログラムであって、
コンピュータは、パラメータ及びデータf(τ)を入力するための入力部と、変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、入力部及び記憶部に電気的に接続されている演算部とを備えており、
コンピュータを、
積分区間[a,t]又は[t,a]内において、変数tがΔ進む毎に式(10)を満たしながら更新される分割点cを設定することにより、積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
Figure 0005257962
(ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
変数tが幅h更新される度に、区間[c,t]又は区間[t,c]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c]又は区間[c,a]において、変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、分割点cを上端とする幅Δの小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c]又は区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c,t]の分数階微積分値Aと区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c]の分数階微積分値Aと区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
して機能させる高速演算プログラムが提供される。
本発明によれば、さらにまた、分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより分数階微積分要素の変数tにおける分数階微積分値を求めるコンピュータの高速演算プログラムであって、
コンピュータは、パラメータ及びデータf(τ)を入力するための入力部と、変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、入力部及び記憶部に電気的に接続されている演算部とを備えており、
コンピュータを、
積分区間[a,t]又は[t,a]内において、変数tがΔ進む毎に式(11)を満たしながら更新される分割点cを設定することにより、積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
Figure 0005257962
(ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
変数tが幅h更新される度に、区間[c,t]又は区間[t,c]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c]又は区間[c,a]において、変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、分割点cを上端とする幅Δの小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c]又は区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c,t]の分数階微積分値Aと区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c]の分数階微積分値Aと区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
して機能させるための高速演算プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
本発明によれば、さらに、設定データである入力データと制御対象のシステム出力とを入力するデータ入力部と、データ入力部から得られる入力データとシステム出力との差分を計算する差分演算部と、差分演算部から得られる差分と制御器の分数階微分要素を有する伝達関数とから制御器出力値を計算する制御器出力演算部と、制御器出力演算部から得られる制御器出力値を制御対象に出力する制御器出力用出力部とを備えており、制御器出力用出力部から得られる制御器出力値と制御対象の伝達関数とからシステム出力を出力して制御対象の被制御機器を作動させる制御を、システム出力と次の設定データとから繰り返し実行するように構成した機器制御システムであって、
制御器出力演算部は、制御器の伝達関数における分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより分数階微積分要素の変数tにおける分数階微積分値を求める高速演算装置を備えており、
高速演算装置は、パラメータ及びデータf(τ)を入力するための入力部と、変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、入力部及び記憶部に電気的に接続されている演算部とを備えており、
高速演算装置の演算部は、
積分区間[a,t]又は[t,a]内において、変数tがΔ進む毎に式(12)を満たしながら更新される分割点cを設定することにより、積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
Figure 0005257962
(ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
変数tが幅h更新される度に、区間[c,t]又は区間[t,c]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c]又は区間[c,a]において、変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、分割点cを上端とする幅Δの小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c]又は区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c,t]の分数階微積分値Aと区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c]の分数階微積分値Aと区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えている機器制御システムが提供される。
本発明によれば、さらに、物理現象が時間を変数とした分数階微積分要素を含む分数階微積分式を用い、分数階微積分式が積分式で表現されるようにモデル化し、分数階微積分要素から分数階微積分値を計算する第1の演算手段と、分数階微積分値を用いて運動方程式の解を計算する第2の演算手段と、物理現象の測定データと運動方程式の経時的な解とを用いて物理現象の経時的な特性値を計算する第3の演算手段とを備え、物理現象の挙動を解析するシミュレーションシステムであって、
第1の演算手段は、分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより分数階微積分要素の変数tにおける分数階微積分値を求める高速演算装置を備えており、
高速演算装置は、パラメータ及びデータf(τ)を入力するための入力部と、変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、入力部及び記憶部に電気的に接続されている演算部とを備えており、
高速演算装置の演算部は、
積分区間[a,t]又は[t,a]内において、変数tがΔ進む毎に式(13)を満たしながら更新される分割点cを設定することにより、積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
Figure 0005257962
(ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
変数tが幅h更新される度に、区間[c,t]又は区間[t,c]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c]又は区間[c,a]において、変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、分割点cを上端とする幅Δの小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c]又は区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c,t]の分数階微積分値Aと区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c]の分数階微積分値Aと区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えているシミュレーションシステムが提供される。
本発明の高速演算装置による分数階微積分値の計算手法によれば、分数階微分の定義式中の積分計算で記憶部に記憶するのはf(τ)ではなく、変数tに依存しない重み付き積分Is,kf(τ)であるので、記憶部に記憶させるデータ数が低減されて記憶部容量を小さくでき、変数tが更新される毎に全積分区間の積分を再計算する必要がなく、その重み付き積分値を読み出して使用すればよいため、また、計算ステップも低減されるので計算時間を大幅に短縮した高速化を行うことができる。さらに、分数階微分の定義に分数階積分が含まれていることから、分数階微分の場合と同様に分数階積分値も極めて高速に計算することができる。
しかも、その計算誤差も小さいので、高精度かつ高速に分数階微積分値を求めることができる。従って、分数階微積分要素を含んでモデル化された様々な現象、事象の解析について、精度よく、かつ高速に結果が得られるので、例えば、PID制御を組み込んだ装置の制御をはじめ、様々な分野の装置の設計や解析などに活用できる。また、本発明の高速演算プログラム及びこの高速演算プログラムを記録したコンピュータ読み取り可能な記録媒体は、プロセス量のPID制御や各種物理現象の経時的挙動のシミュレーション、それらを応用した製品設計などを効率的に実施することができる。
さらに、機器制御システムは、その分数階微積分値計算が上述の高速演算装置によって高速で行われるため、高い精度を確保しつつかつ高速な機器制御を行うことができる。また、シミュレーションシステムも、その分数階微積分値計算が上述の高速演算装置によって高速で行われるため、高い精度を確保しつつかつ高速なシミュレーションを行うことができる。
本発明の第1の実施形態として、高速演算装置のハードウェア構成を概略的に示すブロック図である。 図1の実施形態における高速演算装置の一部動作を説明するフローチャートである。 図1の実施形態における高速演算装置の一部動作を説明するフローチャートである。 図1の実施形態における高速演算装置の一部動作の別形態を説明するフローチャートである。 図1の実施形態においてソフトウェアによって構築される高速演算装置の主要部の構成を概略的に示すブロック図である。 図1の実施形態における高速演算装置において、分数階微分値を計算する場合に、区間[0,t]内のc点で、区間[0,c]と区間[c,t]とに分割することを説明するための説明図である。 分数階微分値を計算する場合に、微分変数の置き換えを説明するための説明図である。 分数階微分値を計算する場合の計算ステップ1を説明するための模式図である。 分数階微分値を計算する場合の計算ステップ2を説明するための模式図である。 分数階微分値を計算する場合の計算ステップ3を説明するための模式図である。 分数階微分値を計算する場合に、s=2としたときの計算ステップ4を説明するための模式図である。 分数階微分値を計算する場合の計算ステップ4を説明するための模式図である。 分割点c=t−Mhに固定する条件で計算するアルゴリズムにより分数階微分値を計算する方法の説明図である。 本発明の第2の実施形態として、PID制御システムのハードウェア構成を概略的に示すブロック図である。 図8の実施形態におけるPID制御システムの一部動作を説明するフローチャートである。 図8の実施形態においてソフトウェアによって構築されるPID制御システムの主要部の構成を概略的に示すブロック図である。 本発明の第3の実施形態において、粘弾性体の変形挙動シミュレーションを行う場合を説明するためのモデル図である。 本発明の第3の実施形態として、粘弾性解析を行うシミュレーション装置の一部動作を説明するフローチャートである。 図12の実施形態においてソフトウェアによって構築されるシミュレーション装置の主要部の構成を概略的に示すブロック図である。 本発明の高速演算装置における計算方法と従来の計算方法との効果検証結果を対比するためのグラフである。 本発明の高速演算装置における計算方法と従来の計算方法との効果検証結果を対比するためのグラフである。
(I)第1の実施形態(高速演算装置)
図1は本発明の第1の実施形態として、分数階微積分を求める高速演算装置のハードウェア構成を概略的に示している。なお、分数階微積分の計算手法は、分数階積分値の計算にも適用できるので、以下分数階微分の場合について説明する。なお、分数階積分の計算の場合には、以下の分数階微分の場合の説明において、「分数階微分」を「分数階積分」と置き換えればよい。
図1に示すように、本実施形態における高速演算装置は、コンピュータ10と、このコンピュータ10に接続される外部装置11とから構成されている。
コンピュータ10は、バス10aを介して互いに接続された中央処理装置(CPU)10bと、リードオンリメモリ(ROM)10cと、ランダムアクセスメモリ(RAM)10dと、ハードディスク駆動装置(HDD)10eと、音声処理部10fと、画像処理部10gと、ブルーレイディスク/デジタルバーサタイルディスク/コンパクトディスク(BR/DVD/CD)に関してデータ等の読み書きを行うディスク駆動装置10hと、入出力インタフェース10iとを主に備えたコンピュータ及びこれを作動させるプログラムから構成される。
音声処理部10fはスピーカ10jに接続されており、画像処理部10gはディスプレイ10kに接続されている。ディスク駆動装置10hはBR/DVD/CDが装着可能となっており、入出力インタフェース10iにはキーボード10l、マウス10m及びプリンタ10n等が接続されている。さらに、この入出力インタフェース10iには、外部装置11が接続されている。
CPU10bは、ROM10c又はHDD10eに記憶されているオペレーションシステム(OS)やブートプログラム等の基本プログラムに従ってRAM10dに記憶されているプログラムを実行して本実施形態の処理を行う。また、CPU10bは、ROM10c、RAM10d、HDD10e、音声処理部10f、画像処理部10g、ディスク駆動装置10h、及び入出力インタフェース10iの動作を制御する。
RAM10dは高速演算装置のメインメモリとして使用され、HDD10eやディスク駆動装置10hから転送されたプログラムやデータを一時的に記憶する。また、RAM10dは、プログラム実行時の各種データが一時的に記憶されるワークエリアとしても使用される。
HDD10eには、プログラム及びデータがあらかじめ記憶されている。また、HDD10eは、RAM10dのワークエリアとしての容量が不足している場合に、補助的にその各種データを一時的に記憶する。
音声処理部10fは、CPU10bの指示に従って必要な音声データを再生するための処理を行い、スピーカ10jへその音声信号を出力する。
画像処理部10gは、CPU10bの指示に従って画像データを生成する。生成された画像データは、ディスプレイ10kに出力される。
ディスク駆動装置10hは、必要な場合は、CPU10bの指示に従って、セットされたBR/DVD/CDからプログラムやデータを読出し、RAM10dへ転送する。また、セットされたBR/DVD/CDへプログラムやデータの書き込みをすることも可能である。
入出力インタフェース10iは、キーボード10l、マウス10m及びプリンタ10nとCPU10b又はRAM10dとの間のデータのやり取りを制御する。さらに、この入出力インタフェース10iは、外部装置11とのデータの入出力を制御するように構成されている。
このようなハードウェア構成の高速演算装置において、CPU10bは、作動時は、まず、RAM10d内にプログラム記憶領域、データ記憶領域及びワークエリアを確保し、HDD10eやディスク駆動装置10hからプログラム及びデータを取り込んで、プログラム記憶領域及びデータ記憶領域に格納する。次いで、このプログラム記憶領域に格納されたプログラムに基づいて、図2a〜図2cに示す処理を実行する。CPU10bがプログラムを実行することによって、図3に概略的に示すごとき構成の主要部を備えた高速演算装置が構築される。
即ち、本実施形態の高速演算装置は、分数階微分を高速で実行可能な演算装置であり、積分下限aを0とした例として、図3に示すように、分数階微分値を計算するために必要な各種の一次パラメータや、計算対象となる各変数の関数値データを入力する入力部30と、入力された一次パラメータやデータから二次パラメータを算出する二次パラメータ演算部31と、区間[c,t](ただし、cは分割点)の分数階微分値を算出する第1の分数階微分値演算部32と、区間[0,c]を構成する各小区間Δsの入力データf(τ)に重み付けした変数tに依存しない(変数tと独立な)τによる重み付き積分(以下、単に重み付き積分と称す)した値を算出する重み付き積分演算部33と、重み付き積分値を用いて区間[0,c]の分数階微分値を算出する第2の分数階微分値演算部34と、全区間[0,t]の分数階微分値を合算により求める全分数階微分値算出部35と、必要に応じて設けられ、計算結果を出力する出力部36と、入力部30及び各演算部とデータの保存及び/又は読み出し作業がなされる構成となっており、高速解析プログラム、入力データ及び各演算データを記憶する記憶部37とを備えるように構築される。
ここで、図1のハードウェア構成と対比すると、入力部30は、入出力インタフェース10iを介してCPU10bに接続されている外部装置11及びキーボード10l、又はディスク駆動装置10h等から構成され、二次パラメータ演算部31、第1の分数階微分値演算部32、重み付き積分演算部33、第2の分数階微分値演算部34及び全分数階微分値算出部35は、CPU10bから構成され、出力部36は入出力インタフェース10iを介してCPU10bに接続されている外部装置11及びプリンタ10n、又はディスク駆動装置10h等から構成され、記憶部37は、RAM10d及びHDD10e等から構成される。
図2a、図2b及び図2cは本実施形態における高速演算装置の主要部の動作の一部を説明している。以下、これら図2a、図2b及び図2cのフローチャートに基づいて説明を行うが、本発明の原理及び技術思想を適用しかつ本発明の効果を得ることができる構成であれば、これらフローチャートに限定されるものではない。
以下、積分区間が[a,t](ここでa<t)において、変数tが時間であって、積分下限値aが0であり、tの進む方向がaからtの方向(正の方向という)である場合に、RL定義の分数階微分値を演算する手順について説明する。この演算は、図2aに示す以下のステップS1〜S11を実行することによって行われる。
(ステップS1):分数階微分値計算用一次パラメータの入力(又は設定)
まず、一次パラメータとして、h、ε、m、m、M、K、Smax及び計算終点条件が、入力部10aを介して高速演算装置に入力される。ただし、hは積分計算時の時間tの刻み幅、εは許容誤差、mは幅Δの小区間に置き換えられる区間幅hの小区間(Δ)の個数(又は積分ステップの個数)、mは小区間Δに纏められる小区間Δs−1の個数、Mは最初の分割点cまでの区間幅hの積分計算する回数(ステップ数)、Kはテイラー展開次数、Smaxは時間区間[cs+1,c]の最大ステップ数である。計算終点条件はパラメータを定数値とし、処理するプログラムに応じて、時刻、ステップ数、及びデータ個数等を適宜設定することができる。
(ステップS2):読み込んだ一次パラメータから二次パラメータの計算(又は設定)
入力設定された一次パラメータから分数階微分値計算に必要な二次パラメータとして、L、L、Δ、Δs、maxstepが二次パラメータ演算部31により式(14)〜式(18)を用いて計算され、記憶部37に記憶される。ただし、Lは[0,c]区間の計算に移行するデータ個数、Lは第s番目の中区間を構成する幅Δsの小区間の最大個数、Δは第1番目の中区間を構成する小区間幅、Δは第s番目の中区間を構成する小区間幅、maxstepはタイムステップ数の上限値である。
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
(ステップS3):初期条件の設定
計算開始時の初期条件として、パラメータi、J、及びcに初期値0が与えられる。即ち、i=0、J=0,J=0,...,J=0,...,JSmax-1=0、c=0,c=0,...,c=0,...,cSmax=0。ただし、iはタイムステップ数、J(s=0,1,2,...,Smax−1)は第s番目の中区間のメモリ数、c(s=1,2,...,Smaxは第s番目の中区間の上端である。
(ステップS4〜ステップS7):区間[c,t]の分数階微分値の計算
第1の分数階微分値演算部32により、区間[c,t]の分数階微分値が算出される。まず、計算区間[c,t](s=0番目の中区間)のメモリ数JがJ=Lとなるまで(ステップS7においてNoと判断されている間)は、タイムステップiとメモリ数Jとを1つずつ歩進させながら(ステップS4)、時間幅h刻みのデータf=f(τ)を入力部30を介して例えば外部装置11(図1)から読み込み(ステップS5)、台形則などの従来法で[c,t]の分数階微分値Aを算出し、算出した分数階微分値Aを記憶部37に記憶させる(ステップ6)。この処理は、後述する重み付き積分の計算アルゴリズムの説明における計算ステップ1に相当する。なお、ステップS5におけるデータf(τ)の読み込みは、区間[0,t]の全データをあらかじめ入力して記憶部37に記憶させたものを読み出す方式や、信号制御等のようにリアルタイムで時間更新時のデータを外部装置11等から順次取り込む方式等、目的に応じて適宜適用することができる。
(ステップS8):区間[0,c]の小区分の重み付き積分の計算
メモリ数JがJ=Lとなった時点で(ステップS7においてYesと判断されたとき)、区間[0,c]の分数階微分値Bの計算に移行する。まず、ステップS8において、重み付き積分演算部33により、区間[0,c]の分数階微分値Bの計算に用いる、区間[0,c]を構成する幅Δの小区間(s=1,2,...,Smax−1)の重み付き積分値が算出される。重み付き積分値の計算は、まず、時刻tが更新されてJ=Lとなる度にs=1である時刻tにおけるcを上端とするΔ幅の小区間についてのみ実行され、cは重み付き積分の計算が実行される度にt側にΔずつ移動し、移動後の小区間[c−Δ,c]に固有の重み付き積分値として記憶部37に記憶される。さらに、s≧2以上に移行して区間[0,c]内を幅Δの小区間(Δ=mΔs−1)からなる中区間[cs+1,c]で構成し、前述のcをc、前述のΔをΔとして同様の処理を実行する。こうして固有の重み付き積分値を有する各小区間[c−(j+1)Δ,c−jΔ]同士は、重複することなく時系列で連続して並んで区間[0,c]を構成し、各小区間の重み付け積分値は、時刻tに依存しないため、一度計算して記憶させておけば、時刻tの更新毎に再計算する必要はないため、非常に高速な計算処理を行うことができる。このステップS8における計算の詳細については、サブルーチンフローとして後述する。
(ステップS9):区間[0,c]の分数階微分値Bの計算
記憶部37に記憶されている区間[0,c]を構成する小区間の重み付き積分値を用い、式(19)又は式(20)(s=1固定の場合)によって分数階微分値Bが計算される。式(19)及び式(20)の内容については後述する。応用例として、あらかじめ入力して記憶しておいた式(19)又は式(20)中の右辺中の(t−c+jΔ−q−k−1のベキ計算値を読み出しながら式(19)又は式(20)の計算を実行してもよい。
Figure 0005257962
Figure 0005257962
(ステップS10):[0,t]の分数階微分値の計算
全分数階微分値算出部35により、分数階微分値Aと分数階微分値Bとを合算して[0,t]の分数階微分値(時刻tにおける分数階微分値)が算出される。
(ステップS11):計算終点判断
次いで計算終点判断が行われ、終点条件に達しない場合は、ステップS4へ戻り、タイムステップiとメモリ数Jとを1つずつ歩進(時間更新に相当)させながら計算終点条件までステップS4〜S11を繰り返して実行することにより、目的の時刻tの分数階微分値を算出し、終点条件に達した時点(ステップS11においてYesと判断したとき)にこの処理を終了する。なお、リアルタイム制御のように、分数階微分値計算のフローが制御フローのサブルーチンとして適用される場合には、制御フローの計算終点条件によって分数階微分値計算フローが終了される。
次に、ステップS8の処理内容を図2bに示すサブルーチンフローを用いて詳細に説明する。
まず、区間[0,c]に移行した時点でs=1が与えられ(ステップSS1)、幅Δの小区間[c,c+Δ]のm個のh区間のデータf(τ)が記憶部37から読み出され、その重み付き積分値I1,kf(c+Δ)が積分上端をmhとした式(21)によって算出され、又はm=2の場合には式(21)は、式(22)によって算出される(ステップSS2)。これら式(21)及び式(22)の内容については後述する。次いで、c=c+Δとして、分割点cを現時刻t側にΔだけ移動させ、重み付き積分値I1,kf(c+Δ)が重み付き積分値I1,kf(c)として記憶部37に記憶される(ステップSS3)。この処理は、後述する重み付き積分の計算アルゴリズムの説明における計算ステップ2に相当する。
Figure 0005257962
Figure 0005257962
次いで、JをJ+1と歩進させ、合わせて区間[c,t]の幅hの区間数に相当するメモリ数Jを重み付き積分として纏めたm個分を減じてJ=J−mとする(ステップSS4)。このステップSS4の処理は、時間更新されて図2aのステップS4に戻ったときに、区間[c,t]の幅hの区間数に相当するメモリ数JがM個からステップS6の分数階微分値Aの計算が再開され、mステップ進むとステップS8のサブルーチンに移行するように実行するものである。次いで、幅Δの小区間数に相当するメモリ数JがLに達したかが判断され(ステップSS5)、Noと判断された場合はサブルーチンを完了して図2aのステップS9へ移行する。
さらに時間更新して図2aのステップS4〜S11の処理が繰り返し実行される流れの中で、その都度、図2bのサブルーチンにおけるステップSS1〜SS5の処理が繰り返され、各小区間に固有の重み付き積分値が順次記憶部37に記憶される。このサブルーチンにおける、この処理は、後述する重み付き積分の計算アルゴリズムの説明における計算ステップ3に相当する。なお、図2aのステップS9において、式(19)によって分数階微分値Bが計算される場合においては、現時刻tを基準に、j、sによって総和計算を行うため、幅Δの小区間の重み付き積分値はc側から最新の重み付け積分値をj=0番目データとして、過去に向かって順次1番目〜(J−1)番目まで識別ラベルを時間更新毎に貼り替える処理(代入計算)をして記憶部37に記憶される。このラベルの貼り替え処理には任意の方法が適用できる。
図2bに示すサブルーチンのステップSS5において、J=Lであると判断された時点で(Yesと判断したとき)、(J−1)番目から(J−m)番目の幅Δの小区間を幅Δの小区間に纏める処理に移行するために、ステップSS6へ進む。
ステップSS6においては、分点拡大処理を実行するかどうか判断し、実行する場合(Yesと判断したとき)は、次のステップSS7へ進む。ステップSS7においては、s=s+1(=2)として分点cが設定され、次いで、中区間[c,c]の(J−1)番目から(J1−m)番目の幅Δの小区間を纏めた区間[c,c+Δ](ここでΔ=mΔ)の重み付き積分値が、既に計算、記憶された上述の(J−1)番目から(J1−m)番目の小区間の重み付け積分値を用いて、s=2とした式(23)によって算出され、m=2の場合には式(24)を用いて算出される(ステップSS8)。これら式(23)及び式(24)の内容については後述する。なお、以上はs=2として説明したが、本ステップでは、第(s−1)中区間を構成する幅Δs−1の小区間のうち、(Js−1−1)番目から第(Js−1−m)番目の小区間の積分データを用いて区間[c、c]の重み付き積分値が式(23)を用いて算出されるのである。
Figure 0005257962
Figure 0005257962
次いで、分点cをΔ分だけ現時刻t側に移動(c=c+Δとして幅Δの小区間の上端をcとする処理)し、重み付き積分値I2,kf(c+Δ)が重み付き積分値I2,kf(c)として記憶部37に記憶される(ステップSS9)。この処理は、後述する重み付き積分の計算アルゴリズムの説明における計算ステップ4に相当する。
その後、区間[c,c]中の幅Δの小区間の数に相当するメモリ数JをJ=J+1と更新すると共に、幅Δに纏められた幅Δの小区間数m個分をステップSS4のJから減じる処理(J=J−m)が実行される(ステップSS10)。この処理により、次回のサブルーチン実行時に中区間[c,c]中の幅Δの小区間数Jは(L−m)個から開始される。次いで、幅Δの小区間数に相当するメモリ数JがLに達したかを判断し(ステップSS11)、Yesの判断であれば、ステップSS7に戻ってs=s+1としてs≧3の場合に移行し、s=2の場合と同様に、ステップSS7〜SS11の処理が繰り返して実行される。
即ち、ステップSS7において分点cが設定され、次いで第(s−1)中区間を構成する幅Δs−1の小区間のうち、(Js−1−1)番目から第(Js−1−m)番目の小区間の積分データを用いて区間[c、c]の重み付き積分値が式(23)を用いて算出される(ステップSS8)。次いで、分点cをΔ分だけ現時刻t側に移動(c=c+Δとして幅Δの小区間の上端をcとする処理)し、重み付き積分値Is,kf(c+Δ)が重み付き積分値Is,kf(c)として記憶部37に記憶され(ステップSS9)、その後、区間[cs+1,c]中の幅Δの小区間の数に相当するメモリ数JをJ=J+1と更新すると共に、幅Δに纏められた幅Δs−1の小区間数m個分をJs−1から減じる処理(Js−1=Js−1−m)が実行され、次いで、幅Δの小区間数に相当するメモリ数JがLに達したかの判断(ステップSS11)処理が繰り返される。
一方、ステップSS11における判断がNoの場合は、このサブルーチンを完了して図2aのステップS9の処理へ移行し、以後、ステップS8の実行の度にサブルーチンSS1〜SS11が実行される。
このように、図2bのサブルーチン処理は、s≧1においてJがLに達した中区間[c,cs−1]について、cに直近の連続するm個(s=1の場合はm個)の幅Δs−1の小区間を纏めて幅Δの小区間の重み付き積分値とする演算を実行する。また、s−1の場合と同様に、幅Δの小区間の重み付き積分値(s≧2)は、c側から最新の重み付け積分値をj=0番目データとして、もとからあるデータは過去に向かって順次1番目〜(Js−1)番目まで識別ラベルを時間更新毎に張り替える処理(代入計算)をして記憶部37に記憶される。このラベルの張り替え処理には任意の方法が適用できる。
また、図2aにおけるステップS8のサブルーチンフローとして、図2cに示す他のサブルーチンフローを適用することができる。図2cに示す他のサブルーチンは、図2bのステップSS2〜SS3及びステップSS8〜SS9に代えて、ステップNS2〜NS3及びステップNS8〜NS9の処理を行うものである。即ち、先にc及びcの移動を含め旧重み付き積分値データの並べ替えを実行した(ステップNS2及びNS8)後に、新Δ小区間の重み付き積分I1,kf(c)及び新Δ小区間の重み付き積分値Is,kf(c)(ここでs≧2)の計算を実行する(ステップNS3及びNS9)ものであり、その他のステップNS1、NS4〜NS7、及びNS10〜NS11は図2bのステップSS1、SS4〜SS7、及びSS10〜SS11とほぼ同様である。ただし、図2cのフローの方が図2bのフローに比べて数値計算の工程が少なくて済むため、より高速で処理することができる。
以上、本発明の第1の実施形態として、変数tを時間とし、積分下限aをa=0とした高速演算装置について説明したが、本発明は、変数の変化に方向をもつものであれば時間以外の変数からなる分数階微分要素の分数階微分値の計算にも適用でき、積分下限も0に限定されない。また変数の方向も、変数を時間とした上記説明の例とは逆の現在から過去への流れ方向(負の方向という)の場合にも適用できる。時間以外の変数の例としては、分数階の空間微分モデル化した拡散現象の解析などに適用できる。また、後述する制御技術においては制御対象として、時間以外にも、温度、圧力、長さ(距離)、面積、体積、重量などがあり、これらの変化を計算し、適宜電気信号として制御器に入力し、対象物(製品、原料・反応物)の流量、タンク内のレベル、ポンプやコンプレッサーの回転数などを制御することができる。温度、圧力、長さ(距離)、面積、体積、重量のいずれかを変数とする場合は、上述の計算方法において、時間(時刻)の代わりに、これら温度などを用いることで全く同様に計算することができる。本発明の場合、変数が時間であれば、現時刻を基準として過去に遡って分割点を設けて区間を決め計算することにしているが、温度であれば、基準温度に対して低温側(あるいは高温側)に分割点を設けて区間を決め計算することになる。
(II)高速演算装置における分数階微分値の計算方法
本実施形態の高速演算装置は、分数階微分要素を含むモデルにおける分数階微分要素を式(25)のRL定義、式(26)のGL定義、式(27)のC定義のような積分形式の定義を用いて区間[a,t]の分数階微分値を計算する。ただし、これらの式(25)〜式(27)において、正の非整数qに対して整数nは、q<n<q+1を満たすものである。また、積分方向が逆向き(変数の進みの方向が負)の場合には、式(25)のRL定義は、式(28)、同様に式(27)のC定義の場合には式(29)となり、中区間及び小区間の並びを負の向きに並べ替えるなど、変数列(上述の例では時間列)を反転すれば、上述の変数の進みが正の場合と全く同じ手法で高速演算することができる。
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
本実施形態においては、特に、
(1)図4に示すように、区間[a,t]内のc点(分割点)において、区間[a,c]と[c,t]とに分割する、
(2)区間[a,c]の積分計算において、入力データf(τ)に重み付けした変数tに依存しない(変数tと独立な)τによる重み付き積分(以下、単に重み付き積分と称す)Is,kg(b)として記憶部に記憶する、
(3)この記憶した重み付き積分Is,kg(b)を用いて積分計算する、
ことを基本思想とするものである。これにより、区間[a,c]の積分計算で記憶部に記憶するのはf(τ)ではなく、変数tに依存しない重み付き積分Is,kg(b)であるから、記憶部容量を小さくできると共に、過去の時刻における積分を再計算する必要がないので、計算時間を短縮でき、このときの計算時間は計算ステップ数nに対してnlognで増加するので、従来のnに比べて劇的に短くできるようにしたものである。なお、図4において、区間[c,t]のh刻みの点τは、t側からτ=t、τ=t−h、τ=t−2h、・・・、τJ0−1=t−(J−1)hのように全て異なるが、簡易的に区別せずにτとして関数値を全てf(τ)と記載している。また、上述した重み付き積分Is,kg(b)は、式(25)〜式(27)の各定義における区間[a,c]の積分値If(t)を一般化した場合の式(30)における関数g(τ)の重み付け積分であり、τ=b−u、b=c−jΔとして式(31)で定義される。ここで、RL定義の場合、α=−q、g(τ)=f(τ)であり、Grunwald−Letnikovの定義(以下GL定義)及びCaputoの定義(以下C定義)の場合は、α=n−q、g(τ)=f(nq)(τ)である。この一般化については後述する。
Figure 0005257962
Figure 0005257962
さらに、本実施形態においては、区間[a,c]をさらに小区間に分割する分割点c(ここで、s=1,2,3・・・S)を設定したときに、(t−c)が十分に大きい条件(分数階微分値を求める変数tの点から十分に離れた領域)では、(t−c)の大きさ(変数が時間の場合には、現時刻tからどのくらい過去の時点か)に応じた範囲毎に既に計算されて記憶部に記憶されている重み付き積分Is,kg(b)を一纏めとした積分値に置き換えて記憶部に記憶し、それを用いて計算しても計算精度を維持することができ、分割点間隔を拡大できるので、重み付き積分Is,kg(b)の数を一層低減することによって計算時間の短縮化と精度の維持が実現できる。
(II−1)高速演算化の原理と理論
本発明の分数階微分値の高速演算化の原理と理論について、積分区間が[a,t](ここでa<t)において、変数tが時間であって、tの進む方向がaからtの方向(正の方向)であるRL定義を例にとり説明する。
式(25)のRL定義式において、積分する時間区間[a,t]を分割点cで分割すると、式(25)は式(32)に変形することができる。
Figure 0005257962
式(32)において、第1項の積分の上限cと第2項の積分の下限cとは共に時間とともに変化するが、第2項の積分の下限cに対する微分は、ちょうど第1項の積分の上限cの微分を相殺するので、式(32)では、2つの積分のそれぞれ上限及び下限として固定されているとして計算する。そして、区間[a,c]の積分に対応する右辺の第1項の積分に注目すると、この第1項の積分は、前述の通り積分区間の上下限が固定されているので、時刻tについての微分を積分の中に入れることが可能であり、第1項の積分をIf(t)と定義して式(33)のように変形できる。
Figure 0005257962
通常、台形則やシンプソン則による数値積分の古典的な手法では、区間[a,c]を短い間隔で分割した区間の積分を用いて数値計算されるので、今、時刻b(b∈(a,c])を上限とした小区間幅Δとして、この小区間の積分IΔf(b)について考えると、式(33)は式(34)の形の積分の和に置き換えられる。ここで、b−Δ≧0である。ただし、時刻bは、個々の小区間を識別するラベルのような役割を有しており、個々の小区間を識別できれば、任意の点(時刻)に設定できるものであって、上記のbの定義はその一例であり、これに限定されない。
Figure 0005257962
この小区間の積分の計算について、本発明では、従来の方法では記憶しておいたf(τ)を用いて台形則などの近似方法に代えて以下の方法を適用する。即ち、時刻bにおける(t−τ)−1−q項について、式(35)のようにTaylar展開する。ここで、kは展開次数であり、式(35)は|τ−b|<t−bのときに収束する。
Figure 0005257962
この式(35)を式(34)に代入し、τ=b−uとする。ここでτ=b−uは、図5に示すように、区間[b−Δ,b]内の時刻τに関し、区間上限bを基準に定義したものであり、bを基準として変数uによってτが変化するので、変数τを変数uに置き換え、uの積分区間を[0,Δ]とすれば、式(36)が導かれる。こうした置き換えは、区間幅Δの特定区間内における時刻τの積分計算をプログラムする場合においても有用である。
Figure 0005257962
こうして、ある特定区間(区間幅Δ)の上限が決まれば、区間幅を積分範囲とする変数uを導入した方がプログラム構成でも取り扱いやすくなる。
さらに、u以外の項を積分外に移動して式(36)を変形し、式(37)を得る。ここで、IΔ,kf(b)は式(38)で定義される重み付け積分である。
Figure 0005257962
Figure 0005257962
式(37)は、式(33)のIf(t)が、式(38)で定義されるuの重み付き積分によって計算できることを示している。そして注目すべきは、式(38)の重み付き積分が時刻tに依存しないので、bがtよりも過去において、式(38)の重み付き積分IΔ,kf(b)を計算して記憶しておけば、時刻tが更新された後にも、その重み付き積分IΔ,kf(b)を再計算することなく式(33)のIf(t)の計算に利用できることであり、これが本発明の重要な第1の原理である。
小区間の幅Δは、式(37)における級数の収束条件として、式(39)の条件によって制限される。
Figure 0005257962
式(37)は無限和であるが、数値計算においては近似値として有限の展開次数(k=K)まで、式(40)を用いて計算する。
Figure 0005257962
このときの真値と近似値との誤差は、式(41)に示す通りである。ここで、‖f(τ)‖は、|f(τ)|の上限であり、O( )は、Landauのオーダー記号である。
Figure 0005257962
式(38)の小区間の幅Δは、式(39)の条件を満たせば、任意に設定できる。そして、振動波形の解析問題においては、波形の周期よりも広い間隔で積分すると精度が著しく低下する従来の方式と異なり、この小区間の幅Δは、式(39)の条件においては振動波長よりも広く設定することさえでき、この点が従来法と全く異なる本発明の重要な第2の原理である。
本発明は、上述した第1の原理と第2の原理に基づいた計算方法の発明であり、これにより高い精度と処理時間の短縮を実現しようとするものである。
(II−2)分割点間隔の拡大による更なる高速演算化の理論
次に、時間発展によってtが増加する状況を考える。時間経過とともにある固定された時点bにおける時間間隔Δは、t−bに比例して(近似の精度を落とさずに)増加することができる。これが本発明の重要な第3の原理である。
時刻τの単位長さあたりの幅Δの小区間数は、εを比例定数としてΔ=ε(t−b)とおくと、1/ε(t−b)となる。そして、分割された全ての合計は、(1/ε)log(t−a)で表される時刻τの単位長さ当たりの数を統合して計算される。このように、式(33)の区間[a,c]の積分If(t)を計算するための重み付き積分IΔ,kf(b)の総数は、log(t−a)で対数的に増加する。
従って、本発明は、前述した第1の原理及び第2の原理に、さらに第3の原理を適用して、飛躍的に処理時間の短縮化を実現することができる。なお、本原理の導出過程の式(35)においてTaylar展開を適用したが、他の展開方法に適用しても同様に、本発明の各原理に帰着する。
(分割点間隔の拡大原理を適用した場合の区間[0,c]の分数階微分値計算理論)
この第3の原理は、「現時刻tから離れるほど(過去に遠ざかるほど)小区間の幅Δを広く設定しても計算精度が維持される」というものであるので、現時刻t、式(32)の積分下限a=0とした区間[0,t]において、現時刻tからの距離によって幅の異なる区間での積分を計算することを考える。
分割点cで分割した区間[0,c]区間をさらに中区間[cs+1,c](ここでs=1、2、3、・・S−1)に分割する。ここで、c=cであり、cをc=0(s=S−1のとき)に固定する。なお、s=0のときには、c=tとして、区間[c,t]となり、Δ=hに相当する。そして、t−Jhがcに相当する。
さらに、中区間[cs+1,c]内をΔ=2hの幅に分割した小区間における積分を考える。この幅ΔはΔ=2Δs−1に相当するが、後述するように2倍に限定されず、2以上の整数倍であればよい。ここで、各小区間のΔの個数は1個から複数個まで取り得るので、分割点c側から添え字jとして0、1、2・・・、J−1と番号付けて考える。
添え字sが増えることは現時刻tから遠ざかることに対応するので、現時刻tから遠い区間[cs+1,c](中区間という)内のΔの幅も広くなる。
収束条件は、式(39)において、ΔをΔと置き換え、bをcと置き換えると、式(42)となり(ここで、εは精度よい結果を得るための基準値)、その条件下において積分If(t)は、式(38)において、ΔをΔと置き、bをc−jΔと置き換えた式(45)を用いて式(37)を区間[a,c]において和をとった式(43)によって計算できる。なお、ここで、cは中区間の右端点、Δは小区間の幅であり、式(43)の右辺の式(44)の項は、忘却関数である。また、式(43)では前記時刻bは、b=c−jΔとおいている。前述のb=c−jΔとおいた場合の時刻bは、変数tの更新に伴う過去の分割点cの履歴点(時刻)であって、式(43)は、b=c−jΔを上端とする小区間の重み付け積分値Is,kf(c−jΔ)と式(44)の忘却関数との積を計算して、合算することによって分数階微分値が算出されることを示している。また、式(42)において、s=1のとき、式(1)及び式(10)〜式(13)となる。また、式(42)の分母は、積分区間が[a,t]の場合にはt−cであり、変数の進みが逆(負の方向)である積分区間[t,a]の場合にはc−tである。
なお、式(43)の計算を実行するプログラムは、各小区間の重み付け積分値の識別は、必ずしもb=c−jΔで行う必要はなく、例えば(s,j)の二次元マトリックスデータとして識別処理する手法の他、公知のコーディング手法を適用してもよい。
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
式(43)の中括弧{}内が中区間[cs+1,c]の積分値を与えるので、[0,c]が複数の中区間[cs+1,c]で分割されているときには、それらの中区間の積分値を加算すればよいのである。また、式(43)はkについて無限和であるため、数値計算においては有限の展開次数(k=K)までコンピュータに計算させればよく、近似値として式(46)によって計算できる。
Figure 0005257962
このときの真値と近似値の誤差は、|f(t)|の上限値をL、式(42)の誤差εを用いて式(47)となる。ここでO( )は、Landouのオーダー記号である。
Figure 0005257962
なお、s=1に限定し、小区間Δの個数の上限を設けない場合には、式(46)は式(48)となり、区間[0,c]が複数のΔ幅からなる小区間で構成される場合には、各小区間の重み付き積分値を合算することで区間[0,c]の分数階微分値が計算できることになる。
Figure 0005257962
ここで、I1,kf(c−jΔ)は、c−jΔ=bとして式(49)で計算できる。
Figure 0005257962
これは、前述した本発明の第1の原理及び第2の原理に基づいた最も基本的な計算方法に相当する。
以上まとめると、本発明は、前述の第1の原理、第2の原理に基づいて、前述の変数tが幅Δ進む毎に特定条件を満たしながら更新される分割点cを設定することにより、区間[a,t]を区間[a,c]と区間[c,t]とに分割し、区間[c,t]は従来法で分数階微分値を算出し、
区間[a,c]においては、変数tがΔ更新される度に、幅Δの小区間内のf(τ)を用いて、小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶し、各小区間について各小区間の重み付け積分値と、各小区間に対応する忘却関数の積を計算したのち、全ての小区間について合算して分数階微分値を算出し、
区間[a,c]と区間[c,t]の各分数階微分値を合算して、全区間[a,t]の分数階微分値を算出することに特徴点を有している。
さらに、前述の小区間の重み付け積分値として、第3の原理に基づき区間[0,c]をさらに中区間[cs+1,c](ここでs=1、2、3、・・S−1)に分割した場合には、[cs+1,c]中の小区間Δの重み付け積分値は、中区間cに隣接して連続する中区間[c,cs−1]の小区間Δs−1の重み付け積分値を結合して算出したものを適用できることに特徴点を有している。なお、前述の第1から第3の原理やそれらに基づく上記特徴点は、前述したとおり、分数階積分の計算にも適用できるので、分数階微積分値の計算方法の原理及び特徴点といえる。
(II−3)RL定義による分数階微分式以外への拡張
以上は、RL定義に沿って説明した本発明の第1の原理〜第3の原理であるが、これらの原理は、分数階微分を積分形式で表記した他の定義を適用した場合においても適用できる。例えば、式(25)〜式(27)における、区間[a,c]の積分値は、前述の通り、式(30)として一般表記できる。
このとき、式(49)の積分下端a=0とすると、式(40)は次の式(50)の通り一般化され、本発明の第1の原理及び第2の原理が、積分項を含む他の分数階微分の定義にも適用できる。
Figure 0005257962
ここで、式(50)中のIΔ,kg(b)は、式(51)である。
Figure 0005257962
同様に、区間[0,c]の分数階微分値を計算する式(46)は、次の式(52)の通り一般化される。
Figure 0005257962
ここで、式(52)中のIs,kg(c−jΔ)は、b=c−jΔとおいた式(31)である。また、式(52)中の忘却関数を、b=c−jΔとおくと式(53)となる。なお、変数の進みが負の場合には、式(53)の分子(t−b)α−k−1は、(b−t)α−k−1となる。
Figure 0005257962
さらに、s=1に限定し、小区間Δの個数の上限を設けない場合である式(48)及び式(49)は式(54)及び式(55)で一般化される。
Figure 0005257962
Figure 0005257962
式(52)〜式(55)において、RL定義の場合、α=−q、g(τ)=f(τ)とし、GL定義及びC定義の場合は、α=n−q、g(τ)=f(nq)(τ)とすれば、各定義における区間[0,c](又は[0、c])の積分値が得られ、この積分値から分数階微分値が得られ、また、α>0、g(τ)=f(τ)とすれば分数階積分の内区間[0,c]における値が計算できる。
なお、変数の進みが負の場合には、変数の進みが正の方向の場合と逆に、変数が進むと変数は小さくなる(例えば、変数tを起点とするとt、t−h、t−2h、・・・)。そして、分割点cはc=t+mh、分割点cs(s≧2)はc=cs−1+(L−m)Δs−1であり、分数階微分値を算出は、式(52)Is、kg(c−jΔ)をIs、kg(c+jΔ)に、忘却関数の分子の(t−c+jΔα−k−1を(t+c−jΔα−k−1のように変数列(上述の例では時間列)を反転して計算すればよい。
(初期値について)
一般に、分数階微分値計算においては、τ≦aのf(τ)の振る舞いを無視しているために、特にa=0の場合の事象を取り扱う場合には、τが0以前の履歴がないので、分数階微分方程式の解の解釈に曖昧さが生じる。
本発明においては、τ≦aで初期値f(τ)=0、かつτ=aにおいてf(a)のあらゆる微分の微分係数が0、としている。即ち、f(a)=0、f(1)(a)=0,・・・,f(nq−1)(a)=0(τ=a、微分階数p>0)である。この初期値設定の条件であっても本発明の分数階微分値計算の精度は確保されている。
なお、式(26)のGL定義には、第2項に初期値項を有するが、式(26)の第1項の計算における初期値と上述の第2項の初期値項は相殺されるため、式(49)及び式(51)には式(26)の初期値項に起因する項は含まれない。そして、f(a)=0、f(1)(a)=0,・・・,Dnq−1f(a)=0のとき、GL定義及びC定義は同じ計算式で計算できる。
(II−4)重み付き積分の計算アルゴリズム
次に、式(46)の重み付き積分Is,kf(b)の計算方法について、4つの計算ステップに分けてさらに詳細に説明する。
ここで、現時刻tの近傍の時刻τ=bとし、さらに、式(56)の条件(ここで、εは精度よい結果を得るための上限値)を満たす最小の0より大きいmの整数倍であるMを定義する。
Figure 0005257962
式(56)中のMは、区間[c,t]におけるΔに等しい時間幅h区間の基準個数である。また、式(56)中のmは、幅Δの小区間に置き換えられる区間幅hの小区間の個数(又は積分ステップの個数)であり、2以上の整数が好ましく、さらにm=2又はKの値に依存して、mは2以上であると本発明の第1の原理〜第3の原理に基づいて計算が最も効率よくできるので特に好ましい。m=2以外の例として、K=2の場合はm=4が計算効率がよい。以下各状態に沿って図6a〜図6eを用いて説明する。なお、図6a〜図6eにおいて、区間[c,t]又は区間[c,t]のh刻みの点τは、t側からτ=t、τ=t−h、τ=t−2h、・・・、τJ0−1=t−(J−1)hのように全て異なるが、簡易的に区別せずにτとして関数値を全てf(τ)と記載している。
(計算ステップ1)
計算ステップ1は、現時刻tが、mh/(t−mh)≧ε(又は、J<M+m、mは2以上の整数)を満たし、c=c=0となる区間の計算ステップである(図6a参照)。
この区間は、本発明の分割点間隔拡大の手法(第1の原理〜第3の原理)を適用すると誤差が大きくなるので、従来法を用いて等間隔の時間幅hで数値計算を行う。従って、この計算ステップにおいては、f(τ)の値は全て記憶部に記憶される。
なお、上述のmhはmh=Δに相当する。以下m=2の条件にて説明するが、mは3以上の整数でも構わない。
(計算ステップ2)
計算ステップ1の状態から時間が経過して、ある現時刻tで、初めて2h/(t−2h)<ε又は、JがJ=M+2(J=M+mにおいてm=2としている)を満たした状態となったとき、この時点で、τ=0、h、2hのf(τ)を使って式(57)で積分計算する。これは、式(38)及び式(45)において、b=2h、Δ=2h(式(45)においてはΔ=2h)に該当する(図6b参照)。
Figure 0005257962
そして、得られた重み付き積分値は、式(58)のようにラベルを貼って記憶部に記憶させる(プログラミングにおける代入して保存する作業に相当)。ここで記号(:=)は、右辺を左辺に置換する操作と定義している。
Figure 0005257962
このとき、J=1である。そして、区間[c,t]の時間幅h(=Δ)による分割点数Jは2個減少してM個となる。
現時刻tが(M+2)hを超えたとき、区間[c,t]の間隔Δのf(τ)=f(t−jh)(ここでj=0,1・・・J)の値は高速演算装置の記憶部に記憶される。これらのデータは、式(32)の右辺の第2項の計算に使用する。また、これらのデータは、時間の更新によって、順次、式(46)中の重み付き積分I,kf(c)の計算にも使用する。
重み付き積分Is,kf(c−jΔ)の計算の道筋は2つあり、第一の筋道として、最初にs=1における幅Δの小区間の重み付き積分I1,kf(c−jΔ)が、区間[c,t]のf(τ)の値を用いて計算される計算ステップ3と、次に、第二の筋道として、s≧2の場合に、第s中区間中の間隔Δにおける重み付き積分Is,kf(c−jΔ)が、第(s−1)中区間中のΔs−1の積分値Is−1,kf(cs−1−jΔs−1)を用いて計算される計算ステップ4とである。
(計算ステップ3)
計算ステップ3は、時刻tが進んで、2h/(t−c−2h)<ε(ただし、c≧0)、又はJがJ=M+2(J=M+mにおいてm=2としている)の条件を満たした状態となったときであって、時刻tが進む以前に算出して記憶部に記憶されているj=0,1,2,...,J−1個の重み付き積分I1,kf(c−jΔ)に加えて、τ=c,c+h,c+2h(j=M+2,M+1,M又はj=J,J−1,J−2に対応)におけるf(τ)を用いて、s=1であるΔの重み付き積分I1,kf(c+2h)を式(59)によって計算し、高速演算装置の記憶部に記憶させる計算ステップである。この式(59)は、b=c+2h、Δ=2hとしたときの式(45)の計算に相当する(図6c参照)。
Figure 0005257962
次に、既に第s=1中区間に記憶されているI1,kf(c−jΔ)のラベルを式(60)の第2式のように貼り替え、式(59)で得られた値をI1,kf(c)の値として式(60)の第3式のように代入する。ただし、式(60)の第2式及び第3式の右辺のcは、第1式によってcの値を変更(貼り替え)する前のものである。なお、図6cにおいては、式(60)の第2式の右辺の重み付け積分I1,kf(c−jΔ)は、b=c−jΔとしてI1,kf(b)と表している。
Figure 0005257962
ここで注目すべきは、重み付き積分及び時刻tが進む以前に算出して記憶部に記憶されている重み付き積分は、ラベルのみ貼り替えており再計算しないで、代入記憶のみ実行することである。また、計算ステップ3において時刻tがさらに進んで(更新されて)時間経過したときにも、重み付き積分の計算は、更新された[c,c+2h]の区間のみ式(58)で計算し、時間更新前に計算された重み付き積分は、順次式(60)に倣ってラベルを貼り替えて記憶部に記憶させていくことである。
式(60)におけるJ及びJ(s=0,1におけるJに相当)のラベルの貼り替えは、s=0の幅Δの小区間からs=1の幅Δの小区間への変換の数の変化として反映されている。
(計算ステップ4)
この計算ステップ4は、時間を更新して、現時刻tが、Δ/(t−c−Δ)<ε(又はJs−1がJs−1=(m−1)M/m+m)の条件を満たした状態となったときであって、s番目の中区間[cs+1,c](ここでs=2,3,・・・,S−1)について、重み付き積分IS,kf(c+Δ)を、既に計算されて記憶部に記憶された(s−1)番目の中区間の幅Δs−1小区間のうち、cから直近の連続するm個の幅Δs−1小区間の重み付き積分値を用いて計算する計算ステップである(図6d及び図6e参照)。ここで、mは、2以上の整数であって、後述する通り、m=2が最も計算効率がよいので、以下m=2、m=2の例で説明するが、m及びmは3以上の整数でも構わない。なお、図6dはs=2の場合であって、式(60)の第2式の右辺の重み付け積分I1,kf(c−jΔ)は、b=c−jΔとしてI1,kf(b)と表している。
重み付き積分Is,kf(c+Δ)は、式(61)で計算する。なお、同式中の2Δs−1の2がmに相当する。
Figure 0005257962
式(61)の右辺は、式(64)の通り、次の式(62)及び式(63)に示すs−1番目の中区間を構成するj=Js−1−1番目とJs−1−2番目の小区間Δs−1の重み付き積分値を合算して求める。
Figure 0005257962
Figure 0005257962
Figure 0005257962
S,kf(c+Δ)が算出された後、式(65)の通りラベルを貼り替えて代入記憶する。次に、既に算出して記憶されている第s中区間を構成する小区間のΔ重み付け積分値Is,kf(c−jΔ)のラベルを式(65)の第2式のように貼り替え、式(63)で得られた値をIs,kf(c)の値として式(65)の第3式のように代入する。ただし、式(65)の第2式及び第3式の右辺のcは、第1式によってcの値を変更(貼り替え)する前のものである。なお、図6eにおいては、式(65)でs−1としたときの第2式の右辺の重み付け積分Is−1,kf(cs−1−jΔs−1)は、b=cs−1−jΔs−1としてIs−1,kf(b)と表している。
Figure 0005257962
ここで、Δ=2Δs−1である。
一方、mが3以上の場合、式(61)及び式(64)は、それぞれ式(66)及び式(67)で表される。なお、式(67)において、m=2とするとν=2となり式(63)となる。
Figure 0005257962
Figure 0005257962
なお、式(67)は分数階微分定義の一般形として式(68)で表される。
Figure 0005257962
式(65)のラベル貼り替え作業によって、ラベルJは1個増加し、Js−1はJs−1=M/2(Js−1=(m−1)M/mにおいてm=2、m=2の場合に相当)となるように2個減少し、また、mが3以上の場合は、Js−1=(m−1)M/2となるようにm個減少する。
もしs=Sの場合には、τ=0を指定するラベルの添え字は、SからS+1に置き換わり、cS+1=0、となる。
このラベル貼り替え作業は、計算ステップ3と同様に、ラベルのみ貼り替えており再計算しないで、代入記憶のみ実行すればよく、時刻tがさらに進んで(更新されて)時間経過したときにも、重み付き積分の計算は、更新された[c,c+2Δs−1]の区間のみ式(63)で計算し、時間更新前に計算された重み付き積分は、順次、式(65)に倣ってラベルを貼り替えて記憶部に記憶させていくのである。
以上のように、時間の進行に合わせて、区間[c,t](s=0の区間に相当)の時間幅h毎のf(τ)=f(t−jh)のデータを使って、計算ステップ1から計算ステップ4によって区間[0,c]中の小区間の重み付き積分値Is,kf(c−jΔ)(ここで、j=0,1,2,・・・J−1、s=1,2,3,・・・,S−1)に置き換えながら記憶部に記憶させ、記憶された重み付き積分値を用いて式(46)によって、区間[0,c]の分数階微分値が算出される。
なお、計算ステップ3及び計算ステップ4において、計算した重み付き積分値は、ラベルを貼り換える手法で時間tの進行に対応した時系列データとして識別できるようにしているが、本手法に限定されるものではなく、任意のプログラム手法を適用できることはいうまでもない。
(全区間[0,t]の分数階微分値の計算)
このように計算ステップ1〜4で計算された重み付き積分値を用いて、区間[0,c]の分数階微分値は、式(46)(一般化した表記では式(52))で計算し、区間[c,t]の分数階微分値は計算ステップ1のf(τ)で従来の方法で計算して、最後に区間[c,t]と区間[0,c]の分数階微分値を足し合わせて全区間[0,t]の分数階微分値を得る。
なお、このアルゴリズムから明らかなように、現時刻tにおける分数階微分値の計算において、データf(τ)は区間[c,t]分のみ必要であって、τ≦c−hのf(τ)は重み付き積分に置き換わるので記憶部から削除(又は重み付き積分で上書き)して、記憶部容量をさらに節約することができる。
以上のアルゴリズムにおいて、式(46)中の右辺中の(t−c+jΔ−q−k−1のベキ計算をsとjとの二元表に対応するデータ群としてあらかじめ与えておけば(計算データとして計算機に読み込んでおけば)、その分,記憶部容量は必要となるが、計算速度をさらに飛躍的に速くできる。ベキ計算をあらかじめsとjとの二元表に対応するデータ群としておくという方法は、単一のプログラムで同一時刻の分数階微分値を多数求める必要のある有限要素解析(FEM)や、統計データを求めるため繰り返し計算の必要な場合に、特に有効である。また、ただ一度の計算のみの場合も速度が重要視される計算に対して有効である。さらには、式(53)の忘却関数自体を先に計算して記憶しておくことも計算速度を向上するために有効である。
また、別のアルゴリズムとして、図7に示すように、現時刻tの更新に合わせて分割点c=t−Mhとなるように設定して計算するアルゴリズムとしてもよい。この場合s=1の最初の区間幅Δ’は、hからmhの間を変化し、mhのときにΔ’=Δとなる。上述のΔ’がhから(m−1)hの間は、区間[c,t]の分数階微分値計算と同様にh刻み毎のf(τ)を用いて時間に依存する重み付き積分計算として計算する(図7(b)及び(d))。これは、上述の最初の区間幅Δの上端を積分下限として現時刻tまでをh刻み毎のf(τ)を用いて、時間に依存する重み付き積分計算することに等しい。上述のΔ’がmhの場合にはΔとなって、現時刻tの更新に依存しない重み付け積分として、上述したアルゴリズムと実質的に同様に計算される(図7(c)及び(e))。なお、図7a〜図7eは、図6a〜図6eと同様に、区間[c,t]又は区間[c,t]のh刻みの点τは、t側からτ=t、τ=t−h、τ=t−2h、・・・、τJ0−1=t−(J−1)hのように全て異なるが、簡易的に区別せずにτとして関数値を全てf(τ)と記載している。
また、別のアルゴリズムとして、bをbs,j=c−jΔとおいた式(52)の重み付き積分値Is,kg(c−jΔ)に代えて、式(52)中の1/(k!Γ(α−k))を式(52)に乗じた式(69)の重み付き積分値I’s,kg(c−jΔ)として記憶し、式(70)で近似計算をすることによって、さらに高速で演算することができる。同様にs=1の場合に対応する式(54)及び式(55)はそれぞれ式(71)及び式(72)となる。この方法の場合には、記憶した重み付き積分値を纏めて新たな拡大した幅の小区間の重み付き積分値を算出するステップにおけるm=2の場合の式(62)は、式(49)の一般化した形式として式(73)となり、mが3以上の場合は、式(74)から算出できる。なお、式(74)において、m=2とするとν=2となり式(73)となる。
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
さらに、より計算精度を向上できる方法として、区間[0,c]の分数階微分値計算においては、RL定義を適用し、かつ区間[c,t]の分数階微分値計算をC定義とすることがより好ましい。これは、RL定義においては、その積分核は積分区間を分割することによって現時刻t近傍以外では(t−τ)−q−1とできるため、過去の影響(特に誤差の影響)を小さくでき、一方、C定義は、現時刻tでのn次までの微分係数が既知であればtでの分数階微分係数定義式から直接求められるため、両者の特徴を活かして全区間[0,t]の分数階微分値の精度を高めることができるのである。
この方法における微分定義式は式(75)となり、cが一定の場合にもt−cが一定の場合にも成り立つ。そして、式(75)の第1項の計算は、これまでに説明したRL定義での分数階微分値計算のアルゴリズムを適用すればよい。
なお、図7のアルゴリズムの場合には、現時刻tに依存しない重み付き積分の計算領域をRL定義、現時刻tに依存する積分計算の領域にC定義を適用すればよい。
Figure 0005257962
ちなみに、式(75)は以下の通り導出される。まず、式(25)のRL定義式を分点cで分割した式(32)をa=0として、式(76)の通り変形すると、cが定数の場合、式(76)の右辺第1項は式(77)となる。一方、式(76)の第2項は式(78)の通りC定義の微分式を関係付けられ、式(77)及び式(78)をそれぞれ式(76)の第1項及び第2項に代入すると式(75)が得られる。cがt−cで一定の場合にも導出の途中の変形が異なるが、結果として式(75)となる。
Figure 0005257962
Figure 0005257962
Figure 0005257962
(II−5)精度について
上記の計算アルゴリズムにおける精度を確保するためには、幅Δの小区間は、前述の式(42)によって制限されるが、さらにこの制限条件について詳細説明する。
前述した計算ステップ2及び計算ステップ3から理解されるように、第1番目(j=0番目)の幅Δの小区間は、式(42)から式(79)と書ける。
Figure 0005257962
第1番目の小区間の幅ΔはΔ/(t−c)<εを満足する。c(ここで、s=1,2,・・・、Smax−1)の値は、計算時刻t=nh(ここでnはタイムステップ数)によって変化する。しかしながら、s番目の中区間を構成する幅Δの小区間の最少個数は、m=m=2の場合M/mであり、一方、小区間の幅ΔはΔ=2hである。このようにt−cの最小値は、m=m=2として、式(80)の通り見積もられる。
Figure 0005257962
Δ=2hと式(80)との比から明らかなように、式(42)の左辺Δ/(t−c)の比は、常にεよりも小さい2/M以下であり、任意の整数sにおいて常に式(42)を満足するので、分割点の間隔を拡張しても精度が確保できるのである。
(II−6)最小の計算量となるm及びm条件
前述の通り、本発明の分数階微分値の計算方法によれば、従来法に比べてデータポイント数と分数階微分値計算に必要な総データ数を減らせるため、計算装置に記憶されるメモリ数も少なくて済むため処理時間を短縮できる。ここまではアルゴリズムを理解し易いように簡略的にm=m=2の場合で説明したが、次に記憶部容量と計算量が最小となるmとmについて説明する。
前述の計算ステップ2及び3において、m≧2の整数m、上述のmの倍数である整数Mにおいて、現時刻t(又はJ)がJ=M+m,m≧2の条件を満たしたとき、c+jh,j=0,1,2,・・・,mにおける各f(τ)を使ってI1,kf(c+mh)が計算される。
また、前述の計算ステップ4においては、s−1番目(ここで、s=2,・・・、Smax−1)の区間のJs−1がJs−1=m+(m−1)M/m,m≧2のとき、連続するm個分の小区間の重み付き積分Is−1,kf(c+jΔs−1)(ただし、j=0,1,2,・・・,m、k=0,1,2,・・・,K)を用いて、s番目の中区間の新たな小区間の重み付き積分値Is,kf(c+Δ)として計算される。
これらの手順では、式(46)の積分の精度を固定するための式(81)の条件が課される。この条件は、t−cが最少となる式(81)の条件の場合であっても、満足されなければならない。ここで、式(82)を満たすs番目の中区間の小区間の幅Δは、式(83)である。
Figure 0005257962
Figure 0005257962
Figure 0005257962
時刻t=cにおける計算に必要なデータポイント数は、以下の通りである。
(A)r番目の区間の最小幅は、(m −m r−1)Mh(r=1,2,・・・,S−1)であり、小区間Δrの幅はΔ=mm r−1hである、
(B)このように、中区間r番目の幅Δの小区間の最小の個数は、(m−1)M/mであって、rには依存しない、
(C)必要なΔの小区間数は、r番目の区間(r>0)において、(m−1)M/m+mであり、一方、s=0番目の区間(区間[c,t])では、データの組合せを考慮するとM+m+1である。
(D)総データ量をNmemとして、展開次数がK(K次)の近似値は、式(84)で与えられる。
Figure 0005257962
時刻t=cに至る分数階微分値の計算の総計算ステップ数nは、式(82)よりn=m s−1Mであることからs−1は式(85)となる。
Figure 0005257962
式(85)を式(84)の(s−1)に代入すると、式(86)が得られる。
Figure 0005257962
式(86)中、ε=m/Mは固定された値である。ここで、m/logと(m−1)/logとは、m≧2で単調増加する。mを固定した場合の総データ量が最小となるmの数は、m=2において総データ量が最小となる。m=2を式(86)に代入すると、式(87)となる。
Figure 0005257962
総データ量が最小となるmの数は、mを実変数として、式(87)を微分して得た式(88)の値が0となる条件から、式(89)に示す値となる。
Figure 0005257962
Figure 0005257962
このように、総データ量Nmemは、mminに最も近い整数mのときに最小となる。記憶部に記憶されるデータ量は、次の通り見積もられる。
今、m=2ν+1、またm=2の場合にM=Mとおく。ここで、νは、分割点cにおいて、m個の小区間でf(τ)を積分した場合、2個の小区間でf(τ)を積分するのに比べて減少する中区間の数を意味する。
ここで、M/m=M/2と仮定することは精度の点から自然である。このことは、異なるm間での積分精度が等しいことを保証している。このことから、M=M・2νとなる。
m=2の場合に、総データ数(Nmemは、m=2の式(84)から式(90)となる。
Figure 0005257962
一方、任意のmにおいて分数階微分値計算に必要な総データ数(Nmemは、式(91)となる。
Figure 0005257962
式(90)と式(91)との差は、M/m=M/2を用いて、式(92)で表される。
Figure 0005257962
式(92)の差の値は、K(展開次数)、m及びM/2に依存し、タイムステップには依存しない。
(総データ数の低減)
精度εは、mの値によらず、式(93)の条件で拘束される。
Figure 0005257962
展開次数として、式(93)を満たす最小の整数KεTとすると、式(94)の右辺を式(91)に代入すると、式(95)の通り、与えられた精度を満たす最小のデータ数が求まる。
Figure 0005257962
Figure 0005257962
式(86)は、m=2において式(96)の通りに書き換えられ、総データ数はn/M≫1となるnに対して対数的に増加する。
Figure 0005257962
これによれば、例えば、K=2、m=2、M=40の条件の場合、分数階微分値計算に必要な総データ数(従来の方法を1として)は、1250番目のタイムステップ(s=5)時点においては約1/3.4、10240番目のタイムステップ(s=8)時点においては約1/18、さらに、160000番目のタイムステップ(s=12)時点においては約1/200となり、タイムステップが多いほど従来法に比べて総データ量が少なくなるため、記憶部容量が節約されると共に、処理時間が劇的に短縮されるのである。
以上、分数階微分値の計算原理、アルゴリズムを説明してきたが、分数階積分値の計算への適用について説明すると、分数階積分αf(t)は、式(97)で定義され、忘却関数とf(τ)の積の積分として定義される。式(97)の積分区間を[a,c]と[c,t]とに分割したときの区間[a,c]の積分は式(30)と等しい。従って、上記で述べた分数階微分値の高速計算の原理、理論が適用できるので、分数階積分値の高速計算にも有効である。また変数の進みが負の方向の場合(変数を時間とした場合には未来から現在への流れ)にも、中区間及び小区間の並びを負の向きに並べ替えるなど、変数列(上述の例では時間列)を反転すれば、上述した通常の変数の進み方向(変数の進みが正)の場合の分数階微積分を全く同じ手法を適用できる。変数の進みが逆の方向の場合、変数をtとすると、分数階積分の定義式は式(98)である。
Figure 0005257962
Figure 0005257962
(III)第2の実施形態(機器制御システム)
本発明の第2の実施形態として、第1の実施形態における高速演算装置を用いて分数階微分値の高速計算を行う機器制御システムについて説明する。この機器制御システムは、その分数階微分値計算が第1の実施形態の場合と同様に高速で行われるため、高い精度を確保しつつかつ高速な機器制御システムが実現される。
本実施形態の機器制御システムのハードウェア構成は、第1の実施形態の場合と同様に、図1に示す、コンピュータ10と、このコンピュータ10に接続される外部装置11とから構成されている。
このようなハードウェア構成の機器制御システムにおいて、CPU10bは、作動時は、まず、RAM10d内にプログラム記憶領域、データ記憶領域及びワークエリアを確保し、HDD10eからプログラム及びデータを取り込んで、プログラム記憶領域及びデータ記憶領域に格納する。次いで、このプログラム記憶領域に格納されたプログラムに基づいて、図9、及び図2a〜図2cに示す処理を実行する。CPU10bがプログラムを実行することによって、図10に概略的に示すごとき構成の主要部を備えた機器制御システムが構築される。
即ち、本実施形態の機器制御システムは、設定データである入力データと制御対象のシステム出力(実測値)とを読み込んで、その差分を計算し、その差分と制御器の分数階微分項を有する伝達関数とから制御器出力値を計算して制御対象に出力し、この制御器出力値と制御対象の伝達関数とからシステム出力を出力して制御対象である被制御機器を作動させると共に、システム出力と次の設定値とから上述の制御フローを繰り返しながら制御するように構成されている。その際、上述の伝達関数は、分数階微分要素の分数階微分式が積分式で定義され、この積分式の分数階微分値が、第1の実施形態における高速演算装置と同様に演算される。このように、制御器の分数階微分項を有する伝達関数に基づいた出力によって機器を制御するものであり、その出力計算に本発明の高速演算装置における分数階微分値計算手法が適用される。以下、フィードバック制御の一つであるPID(比例・積分・微分)制御に適用される本実施形態の機器制御システムについて説明する。
(PID制御)
一般に、PID制御は、設定値と実測値との差である偏差に対して、この偏差に比例して入力値を変化させる動作(比例動作又はP動作)と、この偏差の積分に比例して入力値を変化させる動作(積分動作又はI動作)と、この偏差の微分に比例して入力値を変化させる動作(微分動作又はD動作)とを組み合わせて制御する技術である。そして、制御対象が分数階の動的なシステムの場合には、積分動作と微分動作とをそれぞれIλ、Dμとしたλ階の積分器とμ階の微分器とを有する制御器とすることにより、精度のよい制御が可能となることが知られている。この代表的なものには、A.Oustaloup等のCRONE Controller等があり、盛んに研究されている。
このようなPID制御は、エアコンでは温調制御に、また化学プラントでは、液面制御、圧力制御、又は反応物供給量制御などに適用されているが、積分動作では、周期的変動があり、遅れが生じやすいことが指摘されている。
PID制御において精度良く制御するには制御時間が重要であり、PIDの性能向上の一因として、制御時間(分数階微分処理の計算時間)の改善が有効である。
(PID制御システムの構成)
図8は、本実施形態の機器制御システムとして、PID制御システムの一例をブロック図で示している。
PID制御システムでは、まず、設定データである入力データW(s)と制御対象のシステム出力Y(s)(実測値に相当)とを読み込んでその差分E(s)を計算し、その差分E(s)と制御器の伝達関数G(s)とから制御器出力値U(s)を計算して制御対象に出力し、制御対象は制御器出力値U(s)と制御対象の伝達関数G(s)とからシステム出力Y(s)を出力して、以降、システム出力Y(s)と次の設定値W(s)とから上述の制御フローを繰り返しながら制御対象が制御される。なお、ここで、sはラプラス演算子であり、上記システムの説明は、時間tの関数をラプラス変換したs領域で行っている。
制御対象の伝達関数G(s)は、実際には各制御対象ごとに異なるが、分数階微分系制御においては、G(s)は式(101)のようなモデルに基づいて、式(102)のような分数階微分モデルであると仮定するが、実際の制御においては、式(102)の計算は不可能なので、結果として観測されるシステム出力Y(s)を上述の制御フローに適用している。よって、制御器において制御器出力値U(s)を計算する部分に分数階微分値計算を実施する。
制御器の伝達関数G(s)は、P動作の比例ゲインK、I動作の積分ゲインK、及びD動作の微分ゲインKを用いて表記すると式(99)となり、時刻tの微分方程式として、式(100)となる。なお以降、実施形態の説明においては、微分又は積分の端点を表す下付き添字は省略する。
Figure 0005257962
Figure 0005257962
この式(100)の分数階微分項の計算には、第1の実施形態における高速演算装置の分数階微分値計算手法を使用する。これにより、高速かつ精度よく分数階微分制御が可能となる。
Figure 0005257962
Figure 0005257962
本実施形態のPID制御システムの一部動作を説明するフロー及びソフトウェアによって構築されるPID制御システムの主要部の構成が図9及び図10に示されている。
図10に示すように、PID制御システムは、制御パラメータが入力される制御パラメータ入力部100と、制御対象において目標とする出力の設定値W(s)及びその実測値Y(s)が入力されるW(s)及びY(s)入力部101と、これら設定値W(s)及び実測値Y(s)の差分E(s)を計算する差分E(s)演算部102と、この差分E(s)と制御器の伝達関数G(s)とから制御器出力値U(s)を計算する制御器出力値U(s)演算部103と、この制御器出力値U(s)を出力するU(s)出力部104と、記憶部105とを備えたコンピュータ106、並びに制御対象107から構成される。差分E(s)演算部102、制御器出力値U(s)演算部103及びU(s)出力部104は、記憶部105に記憶された入力値又は記憶値を用いて計算処理及び出力処理を実行する。ここで、出力されたU(s)は、制御対象107に入力され、制御対象107はその出力U(s)に応じて作動して応答実測値Y(s)をフィードバックする。
このうち、制御器出力値U(s)を計算する制御器出力値U(s)演算部103に、第1の実施形態で述べた高速演算装置が適用されており、本発明の分数階微分値計算アルゴリズムに従って記憶部105に記憶された差分の履歴であるデータや重み付き積分値を読み出して、本発明の分数階微分値計算が実行される。
このPID制御システムの動作を図9のフローに従って説明すると、まず、制御パラメータの入力を行って制御条件の設定を行う(ステップS21)。これは、第1の実施形態の高速演算装置における一次パラメータの入力(ステップS1)、二次パラメータの計算(ステップS2)及び初期条件の設定(ステップS3)の処理とPID制御システムとしての必要な制御条件の設定処理とを行うものである。次いで、設定値W(s)と実測値Y(s)とが読み込まれる(ステップS22)。次いで、これら設定値W(s)と実測値Y(s)との差分E(s)が算出され、記憶装置に記憶される(ステップS23)。
その後、記憶装置に記憶された差分E(s)の履歴データと、制御器の伝達関数G(s)との積からなる分数階項を有する式が、第1の実施形態の高速演算装置の場合と同様に計算され、制御器出力値U(s)が算出される(ステップS24)。算出された制御器出力値U(s)が制御対象107へ出力され(ステップS25)、その後、制御終了の判断が行われる(ステップS26)。終了条件に達しない場合は、ステップS22へ戻り、ステップS22〜S26の処理が繰り返して実行される。終了条件に達した場合は(ステップS26においてYesと判断したとき)にこの処理を終了する。
本発明の分数階微分値計算方法を適用したPID制御は、電気炉やエアコンなどの温調機能を有する機器の温度制御、ハードディスクドライブ(HDD)のヘッダの位置を合わせる制御等の各種アクチュエータの駆動制御を含む既存のPID制御技術に広く適用できる。本実施形態の機器制御システムは、こうしたPID制御の他にも、画像処理としてはフラクタル画像処理の他、データ圧縮方法の一つであるフラクタル圧縮の処理などにも適用することができる。
(IV)第3の実施形態(シミュレーションシステム)
本発明の第3の実施形態として、第1の実施形態における高速演算装置を用いて分数階微分値の高速計算を行うシミュレーションシステムについて説明する。このシミュレーションシステムは、その分数階微分値計算が第1の実施形態の場合と同様に高速で行われるため、高い精度を確保しつつかつ高速なシミュレーションが実現される。
本実施形態のシミュレーションシステムは、分数階微分要素を含む運動方程式でモデル化できる物理現象、例えば振動現象や、ブラウン運動及び拡散現象等、任意の物理現象の解析シミュレーションに応用でき、高い精度を確保しつつ、かつ高速な処理を実現できる。以下、本実施形態のシミュレーションシステムとして、分数階微分でモデル化された粘弾性体の外部応力による形状変形挙動シミュレーションについて説明するが、本発明はこれに限られるものではない。
本実施形態のシミュレーションシステムのハードウェア構成は、第1の実施形態の場合と同様に、図1に示す、コンピュータ10と、このコンピュータ10に接続される外部装置11とから構成されている。
このようなハードウェア構成のシミュレーションシステムにおいて、CPU10bは、作動時は、まず、RAM10d内にプログラム記憶領域、データ記憶領域及びワークエリアを確保し、HDD10eからプログラム及びデータを取り込んで、プログラム記憶領域及びデータ記憶領域に格納する。次いで、このプログラム記憶領域に格納されたプログラムに基づいて、図12、及び図2a〜図2cに示す処理を実行する。CPU10bがプログラムを実行することによって、図13に概略的に示すごとき構成の主要部を備えたシミュレーションシステムが構築される。
粘弾性材料の変形解析を行うシミュレーションとしては、公知の種々のシミュレーション法が適用できる。例えば、有限要素解析法(FEM)を用いた分数階微分モデルの粘弾性解析が盛んに研究されているため、FEM解析手法を例に説明する。その分数階微分要素の計算に本発明の分数階微分値計算方法が適用される。
(解析モデル)
図11は粘弾性体の振動シミュレーションを行う場合を説明するためのモデル図である。一例として、粘弾性体に荷重印加される1自由度系の振動子モデルを挙げると、運動方程式は、式(103)となる。ただし、式(103)において、mは質量、x(t)は時間の関数である変位、kはバネ定数、cは粘弾性係数、P(t)は時間の関数である外力、Dは微分演算子(d/dt)である。なお以降、実施形態の説明においては、微分又は積分の端点を表す下付き添字は省略する。
Figure 0005257962
一般に、3次元の等温・等方性の粘弾性体の動的挙動を支配する運動方程式は,有限要素により定式化すると、要素単位では式(104)で表される。
Figure 0005257962
この式(104)において、Mは質量マトリックスであり、d(t)は節点変位、F(t)は要素内力ベクトル、P(t)は等価節点外力ベクトルである。これらM、F(t)、及びP(t)は、形状関数をN、変位とひずみに関係するマトリックスをL、密度をρとすると、体積力ベクトルf及び表面力ベクトルT(t)を用いて、式(105)で定義される。なお、式(105)において、Ωは物体の体積Vに関する二重積分、Sは物体の表面の面積に関する三重積分、上付き添字Tは転置を意味する。
Figure 0005257962
図11のモデルを3自由度に拡張した場合、例えば、日本機械学会[No.00−6]Dynamics and Design Conference2000 CD−ROM論文集[2000.9.5−8東京]207「分数階微分モデル粘弾性体の基礎理論」に開示されているように式(105)のFは、式(106)で表され、運動方程式は式(107)となる。これは、偏差変形が分数階Kelvin−Voigt則に,体積変形がHooke則に従うモデルである。ただし、式(106)及び式(107)において、K’は剛性マトリックス、Cは粘弾性減衰マトリックス、τは一般化緩和時間、qは分数階の微分階数である。また、式(107)において、Bは変位歪みマトリックスであり、D及びDは緩和関数マトリックスであって、Dは線形の応力歪みマトリックスに対応し、Dは粘弾性の効果を表すマトリックスに対応する。
Figure 0005257962
Figure 0005257962
さらに、式(107)の左辺に時刻tにおける未知の変位ベクトルd(t)、右辺に既知のベクトルがくるように変形すると、式(108)が得られる。
Figure 0005257962
ここで、Kは式(109)で表される一般化剛性行列であり、P’(t)は式(110)で表される時刻tにおける既知のベクトル(以下、一般化等価節点力ベクトルという)である。
Figure 0005257962
Figure 0005257962
ここで、S(ti−1)は、式(108)の左辺中の時刻ti−1における既知量を纏めた項であり、Newmark−β法の数値積分を適用すると、tを初期値として式(111)で表され、節点変位ベクトルd(t)の分数階微分の記憶積分項を含んでいる。ただし、式(111)中のα、βは、Newmark−β法のパラメータである。
Figure 0005257962
FEM手法による解析では、現時刻のP’(t)と剛性行列Kとから現時刻の節点変位ベクトルd(t)、節点速度ベクトル、節点加速度ベクトルを計算し、その変位挙動や歪み、応力などの挙動を解析する。
(シミュレーションシステムの構成)
図13に示すように、シミュレーションシステムは、粘弾性体の形状メッシュデータ、材料データ及び外力データをシステムの記憶部136や入力ファイルから入力するデータ入力部130と、入力されたデータを用いて質量マトリックスM、粘弾性減衰マトリックスC、剛性行列K’を作成して記憶部136に記憶させるマトリックス演算部131と、節点変位ベクトルd(t)の履歴を用いて分数階微分値を計算し、形状メッシュデータに対応した一般化等価節点外力ベクトルP’(t)を算出して記憶部136に記憶させる演算部132と、一般化剛性行列Kを算出する一般化剛性行列K演算部133と、記憶部136に記憶されている一般化剛性行列Kと一般化等価節点外力ベクトルP’(t)とを用いて剛性方程式を解いて節点変位ベクトルd(t)を算出して記憶部136に記憶させる変位ベクトル演算部134と、入力結果や演算結果をディスプレイ等に出力する出力部135と、記憶部136とを備えたコンピュータから構成される。データ入力部130、マトリックス演算部131、一般化等価節点外力ベクトルP’(t)演算部132、一般化剛性行列K演算部133、変位ベクトル演算部134及び出力部135と、記憶部136とは、入力データや各種算出データを記憶、及び/又は読み出し作業がなされる構成となっている。さらに、節点変位ベクトルd(t)、節点変位速度ベクトル、節点変位加速度ベクトルを用いて算出される物性値の挙動を計算する場合には、物性予測値演算部を含んでもよい。なお、上述した一般化等価節点外力ベクトルP’(t)演算部132において、節点変位ベクトルd(t)の分数階微分値Dd(t)を求める際に、第1の実施形態で述べた高速演算装置による分数階微分値計算が実行される。
(解析処理フロー)
以下、本実施形態における有限要素法(FEM)による粘弾性材料の外力による形状変形挙動のシミュレーションを図12のフローチャートを用いて説明する。線形の分数階微分モデルにおいては、節点変位ベクトルd(t)の分数階微分値D d(t)の計算に、第1の実施形態で述べた高速演算装置による分数階微分値計算手法が適用される。
まず、粘弾性体の形状データ、材料データ、等価節点外力ベクトルP(t)データ、初期条件、一般化剛性行列Kの拘束条件(幾何学的拘束条件)、一般化等価節点ベクトルP’(t)の拘束条件(力学的拘束条件)、一般化緩和時間τ等の解析条件を読み込み、記憶部136に記憶させる処理等を含む解析初期条件の設定を行う(ステップS31)。
次いで、時間繰り返しインデックスiをi=0に初期設定する(ステップS32)。
次いで、記憶部136に記憶されている粘弾性体の形状データ、材料データ、等価節点外力ベクトルP(t)データを読み出して、質量マトリックスM、粘弾性減衰マトリックスC、剛性行列K’を式(105)中のMの定義式及び式(107)中のC及び式(109)中のK’の定義式によって算出して記憶部136に記憶させる(ステップS33)。
次いで、時間繰り返しインデックスiをi=i+1として、時間を更新した後(ステップS34)、節点変位ベクトルd(t)分数階微分値Dd(t)を算出して記憶部136に記憶させる(ステップS35)。
その後、記憶された節点変位ベクトルd(t)の分数階微分値Dd(t)を記憶部136から読み出してS(ti−1)を算出し、記憶部136に記憶させる(ステップS36)。
次いで、記憶部136から等価節点外力ベクトルP(t)とS(ti−1)とを読み出して、式(110)から一般化等価節点外力ベクトルP’(t)を算出して記憶部に記憶させる(ステップS37)。
次いで、記憶部136から質量マトリックスM、粘弾性減衰マトリックスC、剛性行列K及び一般化緩和時間τを読み出して、式(109)により一般化剛性行列K’を算出し、記憶部136に記憶させる(ステップS38)。
次いで、一般化剛性行列K’に幾何学的拘束の処理と、一般化等価節点ベクトルP’(t)に力学的拘束の処理を行った後、記憶部136に記憶させる(ステップS39)。
次いで、記憶部136に記憶されている幾何学的拘束処理された一般化剛性行列K’と、力学的拘束処理された一般化等価節点外力ベクトルP’(t)とを読み出し、式(108)によって、時刻tの節点変位ベクトルd(t)、節点速度ベクトル、節点加速度ベクトルを算出し、記憶部136に記憶させる(ステップS40)。
その後、計算終了かどうかの判断を行い(ステップS41)、時間繰り返しインデックスiがi≧nではない場合(Noの場合)は、ステップS34へ戻って時間を更新し、ステップS34〜S41の同様のループで、各時刻毎の節点変位ベクトルd(t)、節点速度ベクトル、節点加速度ベクトルを算出し、各時刻の履歴データとして記憶部136に記憶させる。この変位ベクトルd(t)の各時刻の履歴データは、変位ベクトルの分数階微分値Dd(ti−1)において、式(31)の分数階微分定義式におけるf(τ)に相当し、この履歴データについて本発明の分数階微分値の計算が適用される。これにより分数階微分値Dd(t)の分数階微分値が精度よく高速で得られ、その結果、シミュレーションの精度を保ちつつ従来に比較して短時間で解析を行うことが可能となる。
ステップS41において、時間繰り返しインデックスiがi≧nと判断した場合(Yesの場合)は、算出されて記憶部136に記憶されている各時刻のデータ、即ち変位ベクトルd(t)、変位速度ベクトル、変位加速度ベクトルが、記憶部136から読み出され、公知のデータ加工手段によって、グラフィック表示などの形式で出力される(ステップS42)。また、算出して記憶部に記憶されている節点変位ベクトルd(t)、節点速度ベクトル、節点加速度ベクトルを用いて、節点歪みベクトルや要素内応力ベクトルを算出することもできる。
なお、図12においては、分数階微分値Dd(ti−1)の算出とP’(ti−1)の算出とを分けて実行するように記載されているが、プログラムにおいては、P’(ti−1)を算出する計算ステップの中でサブルーチンとして分数階微分値Dd(ti−1)の算出を実行させてもよい。
本発明の高速演算装置の処理時間効果を検証するために、式(112)で与えられる分数階微分モデルの伝達関数と、式(113)で与えられる分数階微分モデルの制御システムとからなる閉ループ系PDμ制御(α<μ<β)における出力の計算時間について、本発明を適用した実施例1と、従来法を適用した比較例1及び2とを比較した。
Figure 0005257962
Figure 0005257962
(実施例1)
前述のPDμ制御は、出力をy(t)、入力をw(t)として、式(114)の微分方程式でモデル化できる。式(114)の微分方程式は、式(115)を用いて式(114)を(1−β)階微分して式(116)へと変形し、式(116)を離散化した式(117)(添え字「0」はn−1ステップ目の値を示す)から現時刻tの出力y(t)の値として出力yを数値計算する。
Figure 0005257962
Figure 0005257962
Figure 0005257962
Figure 0005257962
具体的には、前述の離散化により、式(117)右辺の各分数階微分項は式(118)及び式(119)の分数階積分として計算できるので、式(117)中のAのうち式(118)及び式(119)中のj=0からn−1までの和の部分をA(実際には出力yにあたる項は含まれない)、j=n項目の部分をAとすると、式(117)は式(120)となり、式(120)の両辺を[1+hA/2]で除して出力yを数値計算した。式(116)の係数a及びaは、a=a=1とし、ゲイン値K、TはそれぞれK=20.5、T=3.7343とした。また、μ=1.15である。
Figure 0005257962
Figure 0005257962
Figure 0005257962
分数階微分値の計算は、式(94)の条件を満足するパラメータとして、m=m=2、M=40、K=2、ε=1/20とし、RL定義に基づく式(46)によって、区間[0,c]の分数階微分値を算出し、区間[c,t]の分数階微分値は、式(32)の第2項のRL微分の値を台形則によって求め、区間[0,c]の分数階微分値と区間[c,t]の分数階微分値とを合算して全区間[0,t]の分数階微分値を求めるプログラムとした。なお、区間[c,t]と[0,c]の積分中のベキ式の値は、あらかじめ計算したデータを記憶部に記憶しておいて計算を実行した。
(比較例1)
比較例1として、実施例1においてRL定義による分数階微分値の計算を「台形則」で計算を行った。「台形則」とは、台形公式はニュートン・コーツの公式と呼ばれる数値積分の公式のひとつであって、被積分関数を一次関数で近似し、台形の面積の公式に帰着させて積分の近似値を求める方法であり、式(121)の要領で計算するものである。このRL微分中のベキ式の値は、あらかじめ計算したデータを記憶部に記憶しておき、これを読み出して計算を実行した。
Figure 0005257962
(比較例2)
比較例2として、実施例1において従来のGL定義による分数階微分値の計算を行った。「GL定義」による計算法は、式(122)を用いて計算する。GL定義による計算において、式(122)の係数である式(123)は、あらかじめ計算して記憶部に記憶させておき、これを読み出して式(122)の計算を実行している。
Figure 0005257962
Figure 0005257962
実施例1並びに比較例1及び2について、計算時間(CPU時間)を計算ステップ数に対してプロットした結果を図14に示す。図14より、本発明の高速計算装置では、計算の数千ステップ以上における台形則、GL定義の場合に比べてCPU時間が低く抑えられていることが分かる。このことから、本発明の高速演算装置を用いた制御は、従来法よりも極めて短時間で出力計算できるので、追従性の高い制御が実現できることが分かる。計算の精度は、一次の精度でステップ数が等しければ、本発明の実施例1、比較例1である台形則、及び比較例2であるGL法の精度はほぼ同等である。
本発明の高速演算装置の処理時間効果を検証するために、シミュレーションシステムについて、式(124)の分数階微分を含む粘弾性体の1自由度系の振動子モデルの分数階微分値計算の処理時間について、本発明を適用した実施例2と、従来法を適用した比較例3及び4とを比較した。
Figure 0005257962
ただし、式(124)において、mは質量、x(t)は変位、tは時間、cは粘弾性係数、qは分数階数(0より大きい実数)、kはバネ定数、f(t)は質量に与えられる外力を表す。
(実施例2)
まず、時刻t>0において、式(124)にf(t)=sin(t)を入力した場合の応答を計算する。その他の式(109)のパラメータは、m=c=k=1,q=0.5とおいた。本発明の高速計算装置を使用して、式(124)の分数階微分値の計算を行った。この実施例2の分数階微分値の計算は、式(94)の条件を満足するパラメータとして、m=m=2、M=40、K=2、ε=1/20とし、RL定義に基づく式(46)によって、区間[0,c]の分数階微分値を算出し、区間[c,t]の分数階微分値は、式(32)の第2項のRL微分の値を台形則によって求め、区間[0,c]の分数階微分値と区間[c,t]の分数階微分値とを合算して全区間[0,t]の分数階微分値を求めるプログラムとした。なお、区間[c,t]と[0,c]の積分中のベキ式の値は、あらかじめ計算したデータを記憶部に記憶しておいて計算を実行した。
(比較例3)
実施例2において、分数階微分値の計算を比較例1と同じ台形則で計算した。
(比較例4)
実施例2において、分数階微分値の計算を比較例2と同じGL法で計算した。
実施例2並びに比較例3及び4について、計算時間(CPU時間)を計算ステップ数に対してプロットした結果を図15に示す。図15より、本発明の高速計算方法では、計算の数千ステップ以上における台形則、GL定義の場合に比べてCPU時間が低く抑えられていることが分かる。各ステップ数までに必要なメモリ数は、台形則ではステップ数に等しい。GL法ではx(t)のための記憶部と係数のための記憶部が必要で、ステップ数の2倍である。従って、台形法とGL法はNアルゴリズムの結果となっている。一方、本発明によれば、必要なメモリ数は、M=40、m=m=2、K=2の場合、ステップ数=40×2に対して43+3×22nであり、NlogNアルゴリズムである。計算の精度は、一次の精度でステップ数が等しければ、本発明の実施例2、比較例3である台形則、及び比較例4であるGL法の精度はほぼ同等である。
このように本発明により高速計算アルゴリズムを使用することによって、これまで実現が難しいとされてきた分数階微分方程式の数値計算が飛躍的に短時間で計算でき、分数階微分要素を含む現象の解析などを実用的な時間で行うことができる。
以上述べた実施形態は全て本発明を例示的に示すものであって限定的に示すものではなく、本発明は他の種々の変形態様及び変更態様で実施することができる。従って本発明の範囲は特許請求の範囲及びその均等範囲によってのみ規定されるものである。
本発明の分数階微分値の計算を行う高速演算装置は、分数階微分要素を含む様々な現象の経時的な挙動や特性解析(シミュレーション)や信号制御、画像処理、経済推移予測などに幅広く適用でき、この装置を用いれば、精度よく短時間で処理できるので、商品開発の効率アップや、生産性、製品の品質向上、さらに経済変動の予測情報の提供などにも利用することができる。
10 コンピュータ
10a バス
10b CPU
10c ROM
10d RAM
10e HDD
10f 音声処理部
10g 画像処理部
10h ディスク駆動装置
10i 入出力インタフェース
10j スピーカ
10k ディスプレイ
10l キーボード
10m マウス
10n プリンタ
11 外部装置
30 入力部
31 二次パラメータ演算部
32 第1の分数階微分値演算部
33 重み付き積分演算部
34 第2の分数階微分値演算部
35 全分数階微分値算出部
36、135 出力部
37、105、136 記憶部
100 制御パラメータ入力部
101 W(s)及びY(s)入力部
102 差分E(s)演算部
103 制御システム出力値U(s)演算部
104 U(s)出力部
106 コンピュータ
107 制御対象
130 データ入力部
131 マトリックス演算部
132 一般化等価節点外力ベクトルP’(t)演算部
133 一般剛性行列K演算部
134 変位ベクトル演算部

Claims (18)

  1. 分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより前記分数階微積分要素の前記変数tにおける分数階微積分値を求める高速演算装置であって、
    パラメータ及びデータf(τ)を入力するための入力部と、前記変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、前記入力部及び前記記憶部に電気的に接続されている演算部とを備えており、
    前記演算部は、
    前記積分区間[a,t]又は[t,a]内において、前記変数tがΔ進む毎に式(1)を満たしながら更新される分割点cを設定することにより、前記積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は前記積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する第1の分割設定手段と、
    Figure 0005257962
    (ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
    前記変数tが幅h更新される度に、前記区間[c,t]又は前記区間[t,c]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
    前記区間[a,c]又は前記区間[c,a]において、前記変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、前記分割点cを上端とする幅Δの小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
    前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c]又は該区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
    前記区間[c,t]の分数階微積分値Aと前記区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c]の分数階微積分値Aと前記区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
    を備えていることを特徴とする高速演算装置。
  2. 前記変数tに関する積分区間が[a,t]であって、
    前記第1の分割設定手段は、式(2)の条件を満たす設定値M及びmにおいて、t−(M+m)h=cとなった時点を分割点cとして設定するものであり、
    前記積分演算手段は、前記区間[a,c]の前記変数tの更新に依存しない重み付き積分値の算出を、前記分割点cが設定された時点からc=aとして開始し、以降、前記変数tがmh(=Δ)進みc=t−(M+m)hの条件を満たす度に、区間[c,t−Mh]の幅h刻みのf(τ)データを用い、c=t−Mhへの更新を伴って、前記更新されたcを上端とする幅Δの小区間の重み付け積分値を算出する重み付き計算ステップを実行して前記記憶部に記憶させる第1の積分演算部を備えている、
    Figure 0005257962
    (ただし、εは計算精度、Mは時間刻み幅h区間の積分計算のステップ数、mはΔに纏められる幅h刻みの区間の個数であり2以上の整数、Kは展開次数)、
    ことを特徴とする請求項1に記載の高速演算装置。
  3. 前記変数tに関する積分区間が[t,a]であって、
    前記第1の分割設定手段は、式(3)の条件を満たす設定値M及びmにおいて、t+(M+m)h=cとなった時点を分割点cとして設定するものであり、
    前記積分演算手段は、前記区間[c,a]の前記変数tの更新に依存しない重み付き積分値の算出を、前記分割点cが設定された時点からc=aとして開始し、以降、前記変数tがmh(=Δ)進みc=t+(M+m)hの条件を満たす度に、区間[t+Mh,c]の幅h刻みのf(τ)データを用い、c=t+Mhへの更新を伴って、前記更新されたcを上端とする幅Δの小区間の重み付け積分値を算出する重み付き計算ステップを実行して前記記憶部に記憶させる第1の積分演算部を備えている、
    Figure 0005257962
    (ただし、εは計算精度、Mは時間刻み幅h区間の積分計算のステップ数、mはΔに纏められる幅h刻みの区間の個数であり2以上の整数、Kは展開次数)、
    ことを特徴とする請求項1に記載の高速演算装置。
  4. 前記第1の分割設定手段によって、式(4)の条件を満たす設定値M及びmにおいて、前記変数tのh刻みの更新に伴い前記分割点cがc=t−Mhとして更新され、さらに、c=aを初期値として、区間[a,c]内のcを上端とする幅Δ’が前記変数tのh刻みの更新によってhからmhまで変化するものであって、
    Figure 0005257962
    (ただし、εは計算精度、Mは時間刻み幅h区間の積分計算のステップ数、mはΔに纏められる幅h刻みの区間の個数であり2以上の整数、Kは展開次数)、
    前記積分演算手段は、前記幅Δ’がmh未満の場合には、cを上端とする前記幅Δ’の小区間は幅h刻みのf(τ)データを用い、前記変数tの更新に依存する積分値の計算を前記変数tの更新毎に繰り返し実行して前記記憶部に記憶させ、前記幅Δ’がmhとなった場合には、前記小区間の幅h刻みのf(τ)データを用い、分割点cを上端とする幅Δ(=mh)の小区間の前記変数tの更新に依存しない重み付け積分値を算出する重み付き計算を前記変数tの更新毎に繰り返し実行して前記記憶部に記憶させる第1の積分演算部を備えており、
    前記第2の分数階微積分値演算手段は、前記幅Δ’がmhとなった場合に分割点cに対応する重み付き積分値を前記記憶部から読み出して、前記忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して算出する分数階微積分値と、前記変数tの更新に依存する前記幅Δ’がmh未満の場合の小区間の積分値から算出する分数階微積分値とを合算して算出する第1の分数階微積分値演算部を備えている
    ことを特徴とする請求項1に記載の高速演算装置。
  5. 前記積分演算手段は、前記変数tを更新しながら前記区間[a,c]の重み付き積分を算出する際に、前記幅Δの小区間の個数Js−1(s=2)が式(5)で表されるLと等しくなった時点で、c=c−(L−m)Δである新たな分割点cを設定して前記区間[a,c]を中区間[a,c]と中区間[c,c]とに分割する第2の分割設定手段を具備し、
    前記中区間[a,c]においては、前記cの設定された時点並びに以降、前記変数tがmΔ進む度に、前記分割点cから直近の前記分割点c方向に連続するm個の幅Δの小区間を纏めて幅Δの小区間とし、前記記憶部に記憶されている前記m個の各小区間の重み付き積分値を重み付き積分値として算出して前記記憶部に記憶させる第2の積分演算部を備えており、
    Figure 0005257962
    前記第2の分数階微積分値演算手段は、前記区間[a,c]の分数階微積分値Bを、前記記憶部に記憶されている前記中区間[c,c]と、前記中区間[a,c]の各小区間の重み付け積分値、をそれぞれ読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えている
    ことを特徴とする請求項2に記載の高速演算装置。
  6. 前記積分演算手段は、前記変数tを更新しながら前記区間[c,a]の重み付き積分を算出する際に、前記幅Δの小区間の個数Js−1(s=2)が式(6)で表されるLと等しくなった時点で、c=c+(L−m)Δである新たな分割点cを設定して前記区間[c,a]を中区間[c,a]と中区間[c,c]とに分割する第2の分割設定手段を具備し、
    前記中区間[c,a]においては、前記cの設定された時点並びに以降、前記変数tがmΔ進む度に、前記分割点cから直近の前記分割点c方向に連続するm個の幅Δの小区間を纏めて幅Δの小区間とし、前記記憶部に記憶されている前記m個の各小区間の重み付き積分値を重み付き積分値として算出して前記記憶部に記憶させる第2の積分演算部を備えており、
    Figure 0005257962
    前記第2の分数階微積分値演算手段は、前記区間[c,a]の分数階微積分値Bを、前記記憶部に記憶されている前記中区間[c,c]と、前記中区間[c,a]の各小区間の重み付け積分値、をそれぞれ読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えている
    ことを特徴とする請求項3に記載の高速演算装置。
  7. 前記積分演算手段は、前記変数tを更新しながら前記区間[a,c]の重み付き積分を算出する際に、さらにs≧3(s=3,4,...,S)として、中区間[c,cs−1]の幅Δs−1の小区間の個数Js−1(s≧3)が式(7)で表されるLと等しくなる度に、c=cs−1−(L−m)Δs−1である新たな分割点cによってcs+1=aを初期値とする前記中区間[cs+1,c]と[c,cs−1]とを設定する第3の分割手段を具備し、前記cが設定された時点及びそれ以降、前記変数tがmΔs−1進む度に、前記分割点cから直近の前記分割点cs−1方向に連続するm個のΔs−1の小区間を纏めて幅Δの小区間とし、前記記憶部に記憶されている前記m個のΔs−1の各小区間の重み付き積分値を用いて前記Δの小区間の重み付き積分値として算出して前記記憶部に記憶させ、さらに、以降前記変数tの更新によってΔの小区間の個数がLとなる度にs=s+1として、以上の処理を繰り返す第2の積分演算部を備えており、
    Figure 0005257962
    前記第2の分数階微積分値演算手段は、前記区間[a,c]又は分数階微積分値Bを、前記記憶部に記憶されている前記中区間[c,c]及び前記中区間[c,c]並びにs≧3(s=3,4,...,S)とする前記中区間[cs+1,c]の各小区間の重み付け積分値をそれぞれ読み出し、全ての中区間の各小区間に対応する前記忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えている
    ことを特徴とする請求項4に記載の高速演算装置。
  8. 前記積分演算手段は、前記変数tを更新しながら前記区間[c,a]の重み付き積分を算出する際に、さらにs≧3(s=3,4,...,S)として、中区間[cs−1,c]の幅Δs−1の小区間の個数Js−1(s≧3)が式(8)で表されるLと等しくなる度に、c=cs−1+(L−m)Δs−1である新たな分割点cによってcs+1=aを初期値とする前記中区間[c,cs+1]と[cs−1,c]とを設定する第3の分割手段を具備し、前記cが設定された時点及びそれ以降、前記変数tがmΔs−1進む度に、前記分割点cから直近の前記分割点cs−1方向に連続するm個のΔs−1の小区間を纏めて幅Δの小区間とし、前記記憶部に記憶されている前記m個のΔs−1の各小区間の重み付き積分値を用いて前記Δの小区間の重み付き積分値として算出して前記記憶部に記憶させ、さらに、以降前記変数tの更新によってΔの小区間の個数がLとなる度にs=s+1として、以上の処理を繰り返す第2の積分演算部を備えており、
    Figure 0005257962
    前記第2の分数階微積分値演算手段は、前記区間[c,a]の分数階微積分値Bを、前記記憶部に記憶されている前記中区間[c,c]及び前記中区間[c,c]並びにs≧3(s=3,4,...,S)とする前記中区間[c,cs+1]の各小区間の重み付け積分値をそれぞれ読み出し、全ての中区間の各小区間に対応する前記忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算することによって算出する第2の分数階微積分値演算部を備えている
    ことを特徴とする請求項6に記載の高速演算装置。
  9. 前記mが2以上であることを特徴とする請求項2から8のいずれか1項に記載の高速演算装置。
  10. 前記mが2であることを特徴とする請求項5から8のいずれか1項に記載の高速演算装置。
  11. 前記忘却関数が式(9)であり、
    前記積分演算手段は、前記式(9)の忘却関数又は前記式(9)の分子をあらかじめ計算し、得られたデータを前記記憶部に記憶させる第3の積分演算部を備えており、
    前記第2の分数階微分値演算手段を実行する
    Figure 0005257962
    (ただし、bは、個々の小区間を識別するための任意の点、αは分数階微積分の積分定義で規定される積分階数、gは分数階微積分の積分定義で規定される関数、kは展開次数番号である)
    ことを特徴とする請求項1、2、4、5及び7のいずれか1項に記載の高速演算装置。
  12. 前記第3の積分演算部は、前記式(9)の分子をあらかじめ計算し、得られたデータを前記記憶部に記憶させるものであり、
    前記積分演算手段は、さらに、前記重み付き積分にあらかじめ前記式(9)中の係数1/(k!Γ(α−k))を乗じた重み付き積分値として算出して前記記憶部に記憶させる第4の積分演算部を備えており、
    前記第2の分数階微積分値演算手段は、前記記憶部に記憶されている小区間の前記係数を乗じた重み付け積分値を読み出し、全ての中区間の各小区間に対応する式(9)の前記忘却関数の分子を乗じた値を前記小区間毎に算出し、全小区間について合算することによって区間[a,c]の分数階微積分値を算出する第3の分数階微積分値演算部を備えている
    ことを特徴とする請求項11に記載の高速演算装置。
  13. 前記積分式で定義される分数階微積分要素の分数階微積分式が、Riemann−Liouvilleの定義、Grunwald−Letnikovの定義、Caputoの定義及び分数階積分の定義式のいずれかであることを特徴とする請求項1から12のいずれか1項に記載の高速演算装置。
  14. 前記区間[a,c]の分数階微積分定義がRiemann−Liouvilleの定義であり、区間[c,t]の分数階微積分定義がCaputoの定義であることを特徴とする請求項1、2、4、5及び7のいずれか1項に記載の高速演算装置。
  15. 分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより前記分数階微分要素の前記変数tにおける分数階微分値を求めるコンピュータの高速演算プログラムであって、
    前記コンピュータは、パラメータ及びデータf(τ)を入力するための入力部と、前記変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、前記入力部及び前記記憶部に電気的に接続されている演算部とを備えており、
    前記コンピュータを、
    前記積分区間[a,t]又は[t,a]内において、前記変数tがΔ進む毎に式(10)を満たしながら更新される分割点cを設定することにより、前記積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は前記積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
    Figure 0005257962
    (ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
    前記変数tが幅h更新される度に、前記区間[c,t]又は前記区間[t,c]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
    前記区間[a,c]又は前記区間[c,a]において、前記変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、前記分割点cを上端とする幅Δの小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
    前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c]又は該区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
    前記区間[c,t]の分数階微積分値Aと前記区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c]の分数階微積分値Aと前記区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
    して機能させる高速演算プログラム。
  16. 分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより前記分数階微積分要素の前記変数tにおける分数階微積分値を求めるコンピュータの高速演算プログラムであって、
    前記コンピュータは、パラメータ及びデータf(τ)を入力するための入力部と、前記変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、前記入力部及び前記記憶部に電気的に接続されている演算部とを備えており、
    前記コンピュータを、
    前記積分区間[a,t]又は[t,a]内において、前記変数tがΔ進む毎に式(11)を満たしながら更新される分割点cを設定することにより、前記積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は前記積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
    Figure 0005257962
    (ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
    前記変数tが幅h更新される度に、前記区間[c,t]又は前記区間[t,c]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
    前記区間[a,c]又は前記区間[c,a]において、前記変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、前記分割点cを上端とする幅Δの小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
    前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c]又は該区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
    前記区間[c,t]の分数階微積分値Aと前記区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c]の分数階微積分値Aと前記区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
    して機能させるための高速演算プログラムを記録したコンピュータ読み取り可能な記録媒体。
  17. 設定データである入力データと制御対象のシステム出力とを入力するデータ入力部と、該データ入力部から得られる入力データとシステム出力との差分を計算する差分演算部と、該差分演算部から得られる差分と制御器の分数階微分要素を有する伝達関数とから制御器出力値を計算する制御器出力演算部と、該制御器出力演算部から得られる制御器出力値を制御対象に出力する制御器出力用出力部とを備えており、前記制御器出力用出力部から得られる制御器出力値と前記制御対象の伝達関数とからシステム出力を出力して前記制御対象の被制御機器を作動させる制御を、前記システム出力と次の設定データとから繰り返し実行するように構成した機器制御システムであって、
    前記制御器出力演算部は、前記制御器の前記伝達関数における分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより前記分数階微積分要素の前記変数tにおける分数階微積分値を求める高速演算装置を備えており、
    前記高速演算装置は、パラメータ及びデータf(τ)を入力するための入力部と、前記変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、前記入力部及び前記記憶部に電気的に接続されている演算部とを備えており、
    前記高速演算装置の前記演算部は、
    前記積分区間[a,t]又は[t,a]内において、前記変数tがΔ進む毎に式(12)を満たしながら更新される分割点cを設定することにより、前記積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は前記積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
    Figure 0005257962
    (ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
    前記変数tが幅h更新される度に、前記区間[c,t]又は前記区間[t,c]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
    前記区間[a,c]又は前記区間[c,a]において、前記変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、前記分割点cを上端とする幅Δの小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
    前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c]又は該区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
    前記区間[c,t]の分数階微積分値Aと前記区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c]の分数階微積分値Aと前記区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
    を備えていることを特徴とする機器制御システム。
  18. 物理現象が時間を変数とした分数階微積分要素を含む分数階微積分式を用い、該分数階微積分式が積分式で表現されるようにモデル化し、前記分数階微積分要素から分数階微積分値を計算する第1の演算手段と、前記分数階微積分値を用いて運動方程式の解を計算する第2の演算手段と、物理現象の測定データと前記運動方程式の経時的な解とを用いて前記物理現象の経時的な特性値を計算する第3の演算手段とを備え、物理現象の挙動を解析するシミュレーションシステムであって、
    前記第1の演算手段は、前記分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより前記分数階微積分要素の前記変数tにおける分数階微積分値を求める高速演算装置を備えており、
    前記高速演算装置は、パラメータ及びデータf(τ)を入力するための入力部と、前記変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、前記入力部及び前記記憶部に電気的に接続されている演算部とを備えており、
    前記高速演算装置の前記演算部は、
    前記積分区間[a,t]又は[t,a]内において、前記変数tがΔ進む毎に式(13)を満たしながら更新される分割点cを設定することにより、前記積分区間[a,t]を区間[a,c]と区間[c,t]とに分割、又は前記積分区間[t,a]を区間[t,c]と区間[c,a]とに分割する分割設定手段と、
    Figure 0005257962
    (ただし、Δは分割点cを上端とする変数の小区間の幅(Δ=mh、mは2以上の整数)、εは計算精度が確保されるための上限値(0<ε<1))、
    前記変数tが幅h更新される度に、前記区間[c,t]又は前記区間[t,c]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
    前記区間[a,c]又は前記区間[c,a]において、前記変数tがΔ更新される度に、分割点cを端点とする幅Δの小区間内のf(τ)を用いて、前記分割点cを上端とする幅Δの小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
    前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c]又は該区間[c,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
    前記区間[c,t]の分数階微積分値Aと前記区間[a,c]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c]の分数階微積分値Aと前記区間[c,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
    を備えていることを特徴とするシミュレーションシステム。
JP2012551403A 2011-08-12 2012-08-10 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム Expired - Fee Related JP5257962B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012551403A JP5257962B1 (ja) 2011-08-12 2012-08-10 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011177268 2011-08-12
JP2011177268 2011-08-12
JP2012551403A JP5257962B1 (ja) 2011-08-12 2012-08-10 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム
PCT/JP2012/070469 WO2013024810A1 (ja) 2011-08-12 2012-08-10 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム

Publications (2)

Publication Number Publication Date
JP5257962B1 true JP5257962B1 (ja) 2013-08-07
JPWO2013024810A1 JPWO2013024810A1 (ja) 2015-03-05

Family

ID=47715129

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012551403A Expired - Fee Related JP5257962B1 (ja) 2011-08-12 2012-08-10 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム

Country Status (2)

Country Link
JP (1) JP5257962B1 (ja)
WO (1) WO2013024810A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984905A (zh) * 2014-06-06 2014-08-13 蒲亦非 抗芯片克隆的分数阶电路基因防伪检测器

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102140032B1 (ko) * 2015-04-30 2020-07-31 가부시키가이샤텐쿠 게놈 해석 장치 및 게놈 가시화 방법
CN106897653B (zh) * 2015-12-17 2020-03-20 北京林业大学 基于红外和可见光视频融合的林区烟火检测方法及其检测系统
CN109492283B (zh) * 2018-10-29 2022-11-08 成都师范学院 电流分数阶积分控制式忆阶元
CN110069743B (zh) * 2019-04-29 2023-02-24 武汉轻工大学 多模式微积分计算方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6013012769; 那須野洋ほか: 'ベキ時間を用いた分数階微分方程式の数値積分法' 日本機械学会論文集(C編) 72巻 724号, 2006, 3728-3735頁, 社団法人日本機械学会 *
JPN6013012771; 那須野洋ほか: '非線形分数階微分方程式のための数値積分アルゴリズム' 日本機械学会論文集(C編) 72巻 722号, 2006, 3193-3200頁, 社団法人日本機械学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984905A (zh) * 2014-06-06 2014-08-13 蒲亦非 抗芯片克隆的分数阶电路基因防伪检测器
CN103984905B (zh) * 2014-06-06 2016-10-26 蒲亦非 抗芯片克隆的分数阶电路基因防伪检测器

Also Published As

Publication number Publication date
JPWO2013024810A1 (ja) 2015-03-05
WO2013024810A1 (ja) 2013-02-21

Similar Documents

Publication Publication Date Title
Rajasekaran et al. Size-dependent forced vibration of non-uniform bi-directional functionally graded beams embedded in variable elastic environment carrying a moving harmonic mass
Wang et al. A comprehensive review of educational articles on structural and multidisciplinary optimization
JP5257962B1 (ja) 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム
Kan et al. Nonlinear dynamic and deployment analysis of clustered tensegrity structures using a positional formulation FEM
Sulsky et al. Implicit dynamics in the material-point method
JP5438321B2 (ja) 仮想試験に基づくパラメータ化された材料および性能特性
Liu et al. Integrated topology optimization of multi-component structures considering connecting interface behavior
Scalet et al. Computational methods for elastoplasticity: an overview of conventional and less-conventional approaches
Brüls et al. Optimization of multibody systems and their structural components
Gufler et al. A review of flexible multibody dynamics for gradient-based design optimization
Hosseini et al. Isogeometric analysis of free-form Timoshenko curved beams including the nonlinear effects of large deformations
Prabhune et al. A fast matrix-free elasto-plastic solver for predicting residual stresses in additive manufacturing
Yamada et al. Design of compliant thermal actuators using structural optimization based on the level set method
Fritzen et al. Space–time model order reduction for nonlinear viscoelastic systems subjected to long-term loading
Naets et al. Super-element global modal parameterization for efficient inclusion of highly nonlinear components in multibody simulation
Zhang et al. Development and implementation of geometrically accurate reduced-order models: Convergence properties of planar beams
Pajunen et al. Automatic design of marine structures by using successive response surface method
Lolić et al. A consistent strain-based beam element with quaternion representation of rotations
Schlenkrich et al. Differentiating fixed point iterations with ADOL-C: Gradient calculation for fluid dynamics
Kpodzo et al. An accurate time integration scheme for arbitrary rotation motion: application to metal forming simulation
Guibert et al. Implementation of a plug-and-play reusable level-set topology optimization framework via COMSOL Multiphysics
Meijaard An extended modelling technique with generalized strains for flexible multibody systems
Gams et al. The strain-based beam finite elements in multibody dynamics
Pham et al. Nonlocal refined higher isogeometric analysis for vibration characteristics of porous metal foam magneto-electro-elastic curved nanobeam with elastic boundary conditions
Meyer et al. Simulation-free reduction basis interpolation to reduce parametrized dynamic models of geometrically non-linear structures

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5257962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees