JP5257962B1 - 高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム - Google Patents
高速演算装置、高速演算プログラム及び高速演算プログラムを記録した記録媒体、機器制御システム、並びにシミュレーションシステム Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex 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
Description
積分区間[a,t]又は[t,a]内において、変数tがΔ1進む毎に式(1)を満たしながら更新される分割点c1を設定することにより、積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する第1の分割設定手段と、
変数tが幅h更新される度に、区間[c1,t]又は区間[t,c1]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c1]又は区間[c1,a]において、変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、分割点c1を上端とする幅Δ1の小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c1]又は区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c1,t]の分数階微積分値Aと区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c1]の分数階微積分値Aと区間[c1,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えている。
第1の分割設定手段は、式(2)の条件を満たす設定値M及びmにおいて、t−(M+m)h=c1となった時点を分割点c1として設定するものであり、
積分演算手段は、区間[a,c1]の変数tの更新に依存しない重み付き積分値の算出を、分割点c1が設定された時点からc1=aとして開始し、以降、変数tがmh(=Δ1)進みc1=t−(M+m)hの条件を満たす度に、区間[c1,t−Mh]の幅h刻みのf(τ)データを用い、c1=t−Mhへの更新を伴って、更新されたc1を上端とする幅Δ1の小区間の重み付け積分値を算出する重み付き計算ステップを実行して記憶部に記憶させる第1の積分演算部を備えている
ことが好ましい。
第1の分割設定手段は、式(3)の条件を満たす設定値M及びmにおいて、t+(M+m)h=c1となった時点を分割点c1として設定するものであり、
積分演算手段は、区間[c1,a]の変数tの更新に依存しない重み付き積分値の算出を、分割点c1が設定された時点からc1=aとして開始し、以降、変数tがmh(=Δ1)進みc1=t+(M+m)hの条件を満たす度に、区間[t+Mh,c1]の幅h刻みのf(τ)データを用い、c1=t+Mhへの更新を伴って、更新されたc1を上端とする幅Δ1の小区間の重み付け積分値を算出する重み付き計算ステップを実行して記憶部に記憶させる第1の積分演算部を備えている
ことも好ましい。
積分演算手段は、幅Δ’がmh未満の場合には、c1を上端とする幅Δ’の小区間は幅h刻みのf(τ)データを用い、変数tの更新に依存する積分値の計算を変数tの更新毎に繰り返し実行して記憶部に記憶させ、幅Δ’がmhとなった場合には、小区間の幅h刻みのf(τ)データを用い、分割点c1を上端とする幅Δ1(=mh)の小区間の変数tの更新に依存しない重み付け積分値を算出する重み付き計算を変数tの更新毎に繰り返し実行して記憶部に記憶させる第1の積分演算部を備えており、
第2の分数階微積分値演算手段は、幅Δ’がmhとなった場合に分割点c1に対応する重み付き積分値を記憶部から読み出して、忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して算出する分数階微積分値と、変数tの更新に依存する幅Δ’がmh未満の場合の小区間の積分値から算出する分数階微積分値とを合算して算出する第1の分数階微積分値演算部を備えていることも好ましい。
中区間[a,c2]においては、c2の設定された時点並びに以降、変数tがm1Δ1進む度に、分割点c2から直近の分割点c1方向に連続するm1個の幅Δ1の小区間を纏めて幅Δ2の小区間とし、記憶部に記憶されているm1個の各小区間の重み付き積分値を重み付き積分値として算出して記憶部に記憶させる第2の積分演算部を備えており、
中区間[c2,a]においては、c2の設定された時点並びに以降、変数tがm1Δ1進む度に、分割点c2から直近の分割点c1方向に連続するm1個の幅Δ1の小区間を纏めて幅Δ2の小区間とし、記憶部に記憶されているm1個の各小区間の重み付き積分値を重み付き積分値として算出して記憶部に記憶させる第2の積分演算部を備えており、
積分演算手段は、式(9)の忘却関数又は式(9)の分子をあらかじめ計算し、得られたデータを記憶部に記憶させる第3の積分演算部を備えており、
第2の分数階微分値演算手段を実行する
ことも好ましい。
積分演算手段は、さらに、重み付き積分にあらかじめ式(9)中の係数1/(k!Γ(α−k))を乗じた重み付き積分値として算出して記憶部に記憶させる第4の積分演算部を備えており、
第2の分数階微積分値演算手段は、記憶部に記憶されている小区間の前述の係数を乗じた重み付け積分値を読み出し、全ての中区間の各小区間に対応する式(9)の忘却関数の分子を乗じた値を小区間毎に算出し、全小区間について合算することによって区間[a,c1]の分数階微積分値を算出する第3の分数階微積分値演算部を備えている
ことも好ましい。
コンピュータは、パラメータ及びデータf(τ)を入力するための入力部と、変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、入力部及び記憶部に電気的に接続されている演算部とを備えており、
コンピュータを、
積分区間[a,t]又は[t,a]内において、変数tがΔ1進む毎に式(10)を満たしながら更新される分割点c1を設定することにより、積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
変数tが幅h更新される度に、区間[c1,t]又は区間[t,c1]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c1]又は区間[c1,a]において、変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、分割点c1を上端とする幅Δ1の小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c1]又は区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c1,t]の分数階微積分値Aと区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c1]の分数階微積分値Aと区間[c1,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
して機能させる高速演算プログラムが提供される。
コンピュータは、パラメータ及びデータf(τ)を入力するための入力部と、変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、入力部及び記憶部に電気的に接続されている演算部とを備えており、
コンピュータを、
積分区間[a,t]又は[t,a]内において、変数tがΔ1進む毎に式(11)を満たしながら更新される分割点c1を設定することにより、積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
変数tが幅h更新される度に、区間[c1,t]又は区間[t,c1]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c1]又は区間[c1,a]において、変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、分割点c1を上端とする幅Δ1の小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c1]又は区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c1,t]の分数階微積分値Aと区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c1]の分数階微積分値Aと区間[c1,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がΔ1進む毎に式(12)を満たしながら更新される分割点c1を設定することにより、積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
変数tが幅h更新される度に、区間[c1,t]又は区間[t,c1]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c1]又は区間[c1,a]において、変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、分割点c1を上端とする幅Δ1の小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c1]又は区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c1,t]の分数階微積分値Aと区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c1]の分数階微積分値Aと区間[c1,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えている機器制御システムが提供される。
第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進む毎に式(13)を満たしながら更新される分割点c1を設定することにより、積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
変数tが幅h更新される度に、区間[c1,t]又は区間[t,c1]において、入力部を介して入力されたデータf(τ)を用い変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
区間[a,c1]又は区間[c1,a]において、変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、分割点c1を上端とする幅Δ1の小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶部に記憶させる積分演算手段と、
記憶部に記憶されている重み付け積分値を読み出し、各小区間に対応する忘却関数を乗じた値を小区間毎に算出し、全小区間について合算して区間[a,c1]又は区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
区間[c1,t]の分数階微積分値Aと区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は区間[t,c1]の分数階微積分値Aと区間[c1,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えているシミュレーションシステムが提供される。
図1は本発明の第1の実施形態として、分数階微積分を求める高速演算装置のハードウェア構成を概略的に示している。なお、分数階微積分の計算手法は、分数階積分値の計算にも適用できるので、以下分数階微分の場合について説明する。なお、分数階積分の計算の場合には、以下の分数階微分の場合の説明において、「分数階微分」を「分数階積分」と置き換えればよい。
まず、一次パラメータとして、h、ε、m、m1、M、K、Smax及び計算終点条件が、入力部10aを介して高速演算装置に入力される。ただし、hは積分計算時の時間tの刻み幅、εは許容誤差、mは幅Δ1の小区間に置き換えられる区間幅hの小区間(Δ0)の個数(又は積分ステップの個数)、m1は小区間Δsに纏められる小区間Δs−1の個数、Mは最初の分割点c1までの区間幅hの積分計算する回数(ステップ数)、Kはテイラー展開次数、Smaxは時間区間[cs+1,cs]の最大ステップ数である。計算終点条件はパラメータを定数値とし、処理するプログラムに応じて、時刻、ステップ数、及びデータ個数等を適宜設定することができる。
入力設定された一次パラメータから分数階微分値計算に必要な二次パラメータとして、L0、Ls、Δ1、Δs、maxstepが二次パラメータ演算部31により式(14)〜式(18)を用いて計算され、記憶部37に記憶される。ただし、L0は[0,c1]区間の計算に移行するデータ個数、Lsは第s番目の中区間を構成する幅Δsの小区間の最大個数、Δ1は第1番目の中区間を構成する小区間幅、Δsは第s番目の中区間を構成する小区間幅、maxstepはタイムステップ数の上限値である。
計算開始時の初期条件として、パラメータi、Js、及びcsに初期値0が与えられる。即ち、i=0、J0=0,J1=0,...,Js=0,...,JSmax-1=0、c1=0,c2=0,...,cs=0,...,cSmax=0。ただし、iはタイムステップ数、Js(s=0,1,2,...,Smax−1)は第s番目の中区間のメモリ数、cs(s=1,2,...,Smaxは第s番目の中区間の上端である。
第1の分数階微分値演算部32により、区間[c1,t]の分数階微分値が算出される。まず、計算区間[c1,t](s=0番目の中区間)のメモリ数J0がJ0=L0となるまで(ステップS7においてNoと判断されている間)は、タイムステップiとメモリ数J0とを1つずつ歩進させながら(ステップS4)、時間幅h刻みのデータfi=f(τi)を入力部30を介して例えば外部装置11(図1)から読み込み(ステップS5)、台形則などの従来法で[c1,t]の分数階微分値Aを算出し、算出した分数階微分値Aを記憶部37に記憶させる(ステップ6)。この処理は、後述する重み付き積分の計算アルゴリズムの説明における計算ステップ1に相当する。なお、ステップS5におけるデータf(τi)の読み込みは、区間[0,t]の全データをあらかじめ入力して記憶部37に記憶させたものを読み出す方式や、信号制御等のようにリアルタイムで時間更新時のデータを外部装置11等から順次取り込む方式等、目的に応じて適宜適用することができる。
メモリ数J0がJ0=L0となった時点で(ステップS7においてYesと判断されたとき)、区間[0,c1]の分数階微分値Bの計算に移行する。まず、ステップS8において、重み付き積分演算部33により、区間[0,c1]の分数階微分値Bの計算に用いる、区間[0,c1]を構成する幅Δsの小区間(s=1,2,...,Smax−1)の重み付き積分値が算出される。重み付き積分値の計算は、まず、時刻tが更新されてJ0=L0となる度にs=1である時刻tにおけるc1を上端とするΔ1幅の小区間についてのみ実行され、c1は重み付き積分の計算が実行される度にt側にΔ1ずつ移動し、移動後の小区間[c1−Δ1,c1]に固有の重み付き積分値として記憶部37に記憶される。さらに、s≧2以上に移行して区間[0,c1]内を幅Δsの小区間(Δs=m1Δs−1)からなる中区間[cs+1,cs]で構成し、前述のc1をcs、前述のΔ1をΔsとして同様の処理を実行する。こうして固有の重み付き積分値を有する各小区間[cs−(j+1)Δs,cs−jΔs]同士は、重複することなく時系列で連続して並んで区間[0,c1]を構成し、各小区間の重み付け積分値は、時刻tに依存しないため、一度計算して記憶させておけば、時刻tの更新毎に再計算する必要はないため、非常に高速な計算処理を行うことができる。このステップS8における計算の詳細については、サブルーチンフローとして後述する。
記憶部37に記憶されている区間[0,c1]を構成する小区間の重み付き積分値を用い、式(19)又は式(20)(s=1固定の場合)によって分数階微分値Bが計算される。式(19)及び式(20)の内容については後述する。応用例として、あらかじめ入力して記憶しておいた式(19)又は式(20)中の右辺中の(t−cs+jΔs)−q−k−1のベキ計算値を読み出しながら式(19)又は式(20)の計算を実行してもよい。
全分数階微分値算出部35により、分数階微分値Aと分数階微分値Bとを合算して[0,t]の分数階微分値(時刻tにおける分数階微分値)が算出される。
次いで計算終点判断が行われ、終点条件に達しない場合は、ステップS4へ戻り、タイムステップiとメモリ数J0とを1つずつ歩進(時間更新に相当)させながら計算終点条件までステップS4〜S11を繰り返して実行することにより、目的の時刻tの分数階微分値を算出し、終点条件に達した時点(ステップS11においてYesと判断したとき)にこの処理を終了する。なお、リアルタイム制御のように、分数階微分値計算のフローが制御フローのサブルーチンとして適用される場合には、制御フローの計算終点条件によって分数階微分値計算フローが終了される。
本実施形態の高速演算装置は、分数階微分要素を含むモデルにおける分数階微分要素を式(25)のRL定義、式(26)のGL定義、式(27)のC定義のような積分形式の定義を用いて区間[a,t]の分数階微分値を計算する。ただし、これらの式(25)〜式(27)において、正の非整数qに対して整数nqは、q<nq<q+1を満たすものである。また、積分方向が逆向き(変数の進みの方向が負)の場合には、式(25)のRL定義は、式(28)、同様に式(27)のC定義の場合には式(29)となり、中区間及び小区間の並びを負の向きに並べ替えるなど、変数列(上述の例では時間列)を反転すれば、上述の変数の進みが正の場合と全く同じ手法で高速演算することができる。
(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で増加するので、従来のn2に比べて劇的に短くできるようにしたものである。なお、図4において、区間[c,t]のh刻みの点τは、t側からτ0=t、τ1=t−h、τ2=t−2h、・・・、τJ0−1=t−(J0−1)hのように全て異なるが、簡易的に区別せずにτとして関数値を全てf(τ)と記載している。また、上述した重み付き積分Is,kg(b)は、式(25)〜式(27)の各定義における区間[a,c]の積分値Icf(t)を一般化した場合の式(30)における関数g(τ)の重み付け積分であり、τ=b−u、b=cs−jΔsとして式(31)で定義される。ここで、RL定義の場合、α=−q、g(τ)=f(τ)であり、Grunwald−Letnikovの定義(以下GL定義)及びCaputoの定義(以下C定義)の場合は、α=nq−q、g(τ)=f(nq)(τ)である。この一般化については後述する。
本発明の分数階微分値の高速演算化の原理と理論について、積分区間が[a,t](ここでa<t)において、変数tが時間であって、tの進む方向がaからtの方向(正の方向)であるRL定義を例にとり説明する。
次に、時間発展によってtが増加する状況を考える。時間経過とともにある固定された時点bにおける時間間隔Δは、t−bに比例して(近似の精度を落とさずに)増加することができる。これが本発明の重要な第3の原理である。
この第3の原理は、「現時刻tから離れるほど(過去に遠ざかるほど)小区間の幅Δを広く設定しても計算精度が維持される」というものであるので、現時刻t、式(32)の積分下限a=0とした区間[0,t]において、現時刻tからの距離によって幅の異なる区間での積分を計算することを考える。
なお、式(43)の計算を実行するプログラムは、各小区間の重み付け積分値の識別は、必ずしもb=cs−jΔsで行う必要はなく、例えば(s,j)の二次元マトリックスデータとして識別処理する手法の他、公知のコーディング手法を適用してもよい。
区間[a,c1]においては、変数tがΔ1更新される度に、幅Δ1の小区間内のf(τ)を用いて、小区間における、変数tの更新に依存しない重み付き積分値を計算して記憶し、各小区間について各小区間の重み付け積分値と、各小区間に対応する忘却関数の積を計算したのち、全ての小区間について合算して分数階微分値を算出し、
区間[a,c1]と区間[c1,t]の各分数階微分値を合算して、全区間[a,t]の分数階微分値を算出することに特徴点を有している。
さらに、前述の小区間の重み付け積分値として、第3の原理に基づき区間[0,c1]をさらに中区間[cs+1,cs](ここでs=1、2、3、・・S−1)に分割した場合には、[cs+1,cs]中の小区間Δsの重み付け積分値は、中区間csに隣接して連続する中区間[cs,cs−1]の小区間Δs−1の重み付け積分値を結合して算出したものを適用できることに特徴点を有している。なお、前述の第1から第3の原理やそれらに基づく上記特徴点は、前述したとおり、分数階積分の計算にも適用できるので、分数階微積分値の計算方法の原理及び特徴点といえる。
以上は、RL定義に沿って説明した本発明の第1の原理〜第3の原理であるが、これらの原理は、分数階微分を積分形式で表記した他の定義を適用した場合においても適用できる。例えば、式(25)〜式(27)における、区間[a,c]の積分値は、前述の通り、式(30)として一般表記できる。
一般に、分数階微分値計算においては、τ≦aのf(τ)の振る舞いを無視しているために、特にa=0の場合の事象を取り扱う場合には、τが0以前の履歴がないので、分数階微分方程式の解の解釈に曖昧さが生じる。
次に、式(46)の重み付き積分Is,kf(b)の計算方法について、4つの計算ステップに分けてさらに詳細に説明する。
計算ステップ1は、現時刻tが、mh/(t−mh)≧ε(又は、J0<M+m、mは2以上の整数)を満たし、cs=c1=0となる区間の計算ステップである(図6a参照)。
計算ステップ1の状態から時間が経過して、ある現時刻tで、初めて2h/(t−2h)<ε又は、J0がJ0=M+2(J0=M+mにおいてm=2としている)を満たした状態となったとき、この時点で、τ=0、h、2hのf(τ)を使って式(57)で積分計算する。これは、式(38)及び式(45)において、b=2h、Δ=2h(式(45)においてはΔ1=2h)に該当する(図6b参照)。
計算ステップ3は、時刻tが進んで、2h/(t−c1−2h)<ε(ただし、c1≧0)、又はJ0がJ0=M+2(J0=M+mにおいてm=2としている)の条件を満たした状態となったときであって、時刻tが進む以前に算出して記憶部に記憶されているj=0,1,2,...,J1−1個の重み付き積分I1,kf(c1−jΔ1)に加えて、τ=c1,c1+h,c1+2h(j0=M+2,M+1,M又はj0=J0,J0−1,J0−2に対応)におけるf(τ)を用いて、s=1であるΔ1の重み付き積分I1,kf(c1+2h)を式(59)によって計算し、高速演算装置の記憶部に記憶させる計算ステップである。この式(59)は、b=c1+2h、Δ1=2hとしたときの式(45)の計算に相当する(図6c参照)。
この計算ステップ4は、時間を更新して、現時刻tが、Δs/(t−cs−Δs)<ε(又はJs−1がJs−1=(m1−1)M/m+m1)の条件を満たした状態となったときであって、s番目の中区間[cs+1,cs](ここでs=2,3,・・・,S−1)について、重み付き積分IS,kf(cs+Δs)を、既に計算されて記憶部に記憶された(s−1)番目の中区間の幅Δs−1小区間のうち、csから直近の連続するm1個の幅Δs−1小区間の重み付き積分値を用いて計算する計算ステップである(図6d及び図6e参照)。ここで、m1は、2以上の整数であって、後述する通り、m1=2が最も計算効率がよいので、以下m=2、m1=2の例で説明するが、m及びm1は3以上の整数でも構わない。なお、図6dはs=2の場合であって、式(60)の第2式の右辺の重み付け積分I1,kf(c1−jΔ1)は、b=c1−jΔ1としてI1,kf(b)と表している。
このように計算ステップ1〜4で計算された重み付き積分値を用いて、区間[0,c1]の分数階微分値は、式(46)(一般化した表記では式(52))で計算し、区間[c1,t]の分数階微分値は計算ステップ1のf(τ)で従来の方法で計算して、最後に区間[c1,t]と区間[0,c1]の分数階微分値を足し合わせて全区間[0,t]の分数階微分値を得る。
上記の計算アルゴリズムにおける精度を確保するためには、幅Δsの小区間は、前述の式(42)によって制限されるが、さらにこの制限条件について詳細説明する。
前述の通り、本発明の分数階微分値の計算方法によれば、従来法に比べてデータポイント数と分数階微分値計算に必要な総データ数を減らせるため、計算装置に記憶されるメモリ数も少なくて済むため処理時間を短縮できる。ここまではアルゴリズムを理解し易いように簡略的にm=m1=2の場合で説明したが、次に記憶部容量と計算量が最小となるmとm1について説明する。
(A)r番目の区間の最小幅は、(m1 r−m1 r−1)Mh(r=1,2,・・・,S−1)であり、小区間Δrの幅はΔr=mm1 r−1hである、
(B)このように、中区間r番目の幅Δrの小区間の最小の個数は、(m1−1)M/mであって、rには依存しない、
(C)必要なΔrの小区間数は、r番目の区間(r>0)において、(m1−1)M/m+m1であり、一方、s=0番目の区間(区間[c1,t])では、データの組合せを考慮するとM+m+1である。
(D)総データ量をNmemとして、展開次数がK(K次)の近似値は、式(84)で与えられる。
本発明の第2の実施形態として、第1の実施形態における高速演算装置を用いて分数階微分値の高速計算を行う機器制御システムについて説明する。この機器制御システムは、その分数階微分値計算が第1の実施形態の場合と同様に高速で行われるため、高い精度を確保しつつかつ高速な機器制御システムが実現される。
一般に、PID制御は、設定値と実測値との差である偏差に対して、この偏差に比例して入力値を変化させる動作(比例動作又はP動作)と、この偏差の積分に比例して入力値を変化させる動作(積分動作又はI動作)と、この偏差の微分に比例して入力値を変化させる動作(微分動作又はD動作)とを組み合わせて制御する技術である。そして、制御対象が分数階の動的なシステムの場合には、積分動作と微分動作とをそれぞれIλ、Dμとしたλ階の積分器とμ階の微分器とを有する制御器とすることにより、精度のよい制御が可能となることが知られている。この代表的なものには、A.Oustaloup等のCRONE Controller等があり、盛んに研究されている。
図8は、本実施形態の機器制御システムとして、PID制御システムの一例をブロック図で示している。
本発明の第3の実施形態として、第1の実施形態における高速演算装置を用いて分数階微分値の高速計算を行うシミュレーションシステムについて説明する。このシミュレーションシステムは、その分数階微分値計算が第1の実施形態の場合と同様に高速で行われるため、高い精度を確保しつつかつ高速なシミュレーションが実現される。
図11は粘弾性体の振動シミュレーションを行う場合を説明するためのモデル図である。一例として、粘弾性体に荷重印加される1自由度系の振動子モデルを挙げると、運動方程式は、式(103)となる。ただし、式(103)において、mは質量、x(t)は時間の関数である変位、kはバネ定数、cは粘弾性係数、P(t)は時間の関数である外力、Dは微分演算子(d/dt)である。なお以降、実施形態の説明においては、微分又は積分の端点を表す下付き添字は省略する。
図13に示すように、シミュレーションシステムは、粘弾性体の形状メッシュデータ、材料データ及び外力データをシステムの記憶部136や入力ファイルから入力するデータ入力部130と、入力されたデータを用いて質量マトリックスM、粘弾性減衰マトリックスC1、剛性行列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)の分数階微分値Dqd(t)を求める際に、第1の実施形態で述べた高速演算装置による分数階微分値計算が実行される。
以下、本実施形態における有限要素法(FEM)による粘弾性材料の外力による形状変形挙動のシミュレーションを図12のフローチャートを用いて説明する。線形の分数階微分モデルにおいては、節点変位ベクトルd(t)の分数階微分値D q d(t)の計算に、第1の実施形態で述べた高速演算装置による分数階微分値計算手法が適用される。
前述のPDμ制御は、出力をy(t)、入力をw(t)として、式(114)の微分方程式でモデル化できる。式(114)の微分方程式は、式(115)を用いて式(114)を(1−β)階微分して式(116)へと変形し、式(116)を離散化した式(117)(添え字「0」はn−1ステップ目の値を示す)から現時刻tの出力y(t)の値として出力ynを数値計算する。
比較例1として、実施例1においてRL定義による分数階微分値の計算を「台形則」で計算を行った。「台形則」とは、台形公式はニュートン・コーツの公式と呼ばれる数値積分の公式のひとつであって、被積分関数を一次関数で近似し、台形の面積の公式に帰着させて積分の近似値を求める方法であり、式(121)の要領で計算するものである。このRL微分中のベキ式の値は、あらかじめ計算したデータを記憶部に記憶しておき、これを読み出して計算を実行した。
比較例2として、実施例1において従来のGL定義による分数階微分値の計算を行った。「GL定義」による計算法は、式(122)を用いて計算する。GL定義による計算において、式(122)の係数である式(123)は、あらかじめ計算して記憶部に記憶させておき、これを読み出して式(122)の計算を実行している。
まず、時刻t>0において、式(124)にf(t)=sin(t)を入力した場合の応答を計算する。その他の式(109)のパラメータは、m=c=k=1,q=0.5とおいた。本発明の高速計算装置を使用して、式(124)の分数階微分値の計算を行った。この実施例2の分数階微分値の計算は、式(94)の条件を満足するパラメータとして、m=m1=2、M=40、K=2、ε0=1/20とし、RL定義に基づく式(46)によって、区間[0,c1]の分数階微分値を算出し、区間[c1,t]の分数階微分値は、式(32)の第2項のRL微分の値を台形則によって求め、区間[0,c1]の分数階微分値と区間[c1,t]の分数階微分値とを合算して全区間[0,t]の分数階微分値を求めるプログラムとした。なお、区間[c1,t]と[0,c1]の積分中のベキ式の値は、あらかじめ計算したデータを記憶部に記憶しておいて計算を実行した。
実施例2において、分数階微分値の計算を比較例1と同じ台形則で計算した。
実施例2において、分数階微分値の計算を比較例2と同じGL法で計算した。
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)
- 分数階微積分要素の分数階微積分式を積分式で定義し、変数tに関する積分区間[a,t]又は逆向きの[t,a]について、刻み幅hの点τ(区間[a,t]においてはa≦τ≦t、区間[t,a]においてはt≦τ≦a)におけるデータf(τ)を用いて積分計算することにより前記分数階微積分要素の前記変数tにおける分数階微積分値を求める高速演算装置であって、
パラメータ及びデータf(τ)を入力するための入力部と、前記変数tの更新に依存しない重み付き積分値を少なくとも記憶する記憶部と、前記入力部及び前記記憶部に電気的に接続されている演算部とを備えており、
前記演算部は、
前記積分区間[a,t]又は[t,a]内において、前記変数tがΔ1進む毎に式(1)を満たしながら更新される分割点c1を設定することにより、前記積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は前記積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する第1の分割設定手段と、
前記変数tが幅h更新される度に、前記区間[c1,t]又は前記区間[t,c1]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
前記区間[a,c1]又は前記区間[c1,a]において、前記変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、前記分割点c1を上端とする幅Δ1の小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c1]又は該区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
前記区間[c1,t]の分数階微積分値Aと前記区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c1]の分数階微積分値Aと前記区間[c1,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えていることを特徴とする高速演算装置。 - 前記変数tに関する積分区間が[a,t]であって、
前記第1の分割設定手段は、式(2)の条件を満たす設定値M及びmにおいて、t−(M+m)h=c1となった時点を分割点c1として設定するものであり、
前記積分演算手段は、前記区間[a,c1]の前記変数tの更新に依存しない重み付き積分値の算出を、前記分割点c1が設定された時点からc1=aとして開始し、以降、前記変数tがmh(=Δ1)進みc1=t−(M+m)hの条件を満たす度に、区間[c1,t−Mh]の幅h刻みのf(τ)データを用い、c1=t−Mhへの更新を伴って、前記更新されたc1を上端とする幅Δ1の小区間の重み付け積分値を算出する重み付き計算ステップを実行して前記記憶部に記憶させる第1の積分演算部を備えている、
ことを特徴とする請求項1に記載の高速演算装置。 - 前記変数tに関する積分区間が[t,a]であって、
前記第1の分割設定手段は、式(3)の条件を満たす設定値M及びmにおいて、t+(M+m)h=c1となった時点を分割点c1として設定するものであり、
前記積分演算手段は、前記区間[c1,a]の前記変数tの更新に依存しない重み付き積分値の算出を、前記分割点c1が設定された時点からc1=aとして開始し、以降、前記変数tがmh(=Δ1)進みc1=t+(M+m)hの条件を満たす度に、区間[t+Mh,c1]の幅h刻みのf(τ)データを用い、c1=t+Mhへの更新を伴って、前記更新されたc1を上端とする幅Δ1の小区間の重み付け積分値を算出する重み付き計算ステップを実行して前記記憶部に記憶させる第1の積分演算部を備えている、
ことを特徴とする請求項1に記載の高速演算装置。 - 前記第1の分割設定手段によって、式(4)の条件を満たす設定値M及びmにおいて、前記変数tのh刻みの更新に伴い前記分割点c1がc1=t−Mhとして更新され、さらに、c1=aを初期値として、区間[a,c1]内のc1を上端とする幅Δ’が前記変数tのh刻みの更新によってhからmhまで変化するものであって、
前記積分演算手段は、前記幅Δ’がmh未満の場合には、c1を上端とする前記幅Δ’の小区間は幅h刻みのf(τ)データを用い、前記変数tの更新に依存する積分値の計算を前記変数tの更新毎に繰り返し実行して前記記憶部に記憶させ、前記幅Δ’がmhとなった場合には、前記小区間の幅h刻みのf(τ)データを用い、分割点c1を上端とする幅Δ1(=mh)の小区間の前記変数tの更新に依存しない重み付け積分値を算出する重み付き計算を前記変数tの更新毎に繰り返し実行して前記記憶部に記憶させる第1の積分演算部を備えており、
前記第2の分数階微積分値演算手段は、前記幅Δ’がmhとなった場合に分割点c1に対応する重み付き積分値を前記記憶部から読み出して、前記忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して算出する分数階微積分値と、前記変数tの更新に依存する前記幅Δ’がmh未満の場合の小区間の積分値から算出する分数階微積分値とを合算して算出する第1の分数階微積分値演算部を備えている
ことを特徴とする請求項1に記載の高速演算装置。 - 前記積分演算手段は、前記変数tを更新しながら前記区間[a,c1]の重み付き積分を算出する際に、前記幅Δ1の小区間の個数Js−1(s=2)が式(5)で表されるLsと等しくなった時点で、c2=c1−(Ls−m1)Δ1である新たな分割点c2を設定して前記区間[a,c1]を中区間[a,c2]と中区間[c2,c1]とに分割する第2の分割設定手段を具備し、
前記中区間[a,c2]においては、前記c2の設定された時点並びに以降、前記変数tがm1Δ1進む度に、前記分割点c2から直近の前記分割点c1方向に連続するm1個の幅Δ1の小区間を纏めて幅Δ2の小区間とし、前記記憶部に記憶されている前記m1個の各小区間の重み付き積分値を重み付き積分値として算出して前記記憶部に記憶させる第2の積分演算部を備えており、
ことを特徴とする請求項2に記載の高速演算装置。 - 前記積分演算手段は、前記変数tを更新しながら前記区間[c1,a]の重み付き積分を算出する際に、前記幅Δ1の小区間の個数Js−1(s=2)が式(6)で表されるLsと等しくなった時点で、c2=c1+(Ls−m1)Δ1である新たな分割点c2を設定して前記区間[c1,a]を中区間[c1,a]と中区間[c1,c2]とに分割する第2の分割設定手段を具備し、
前記中区間[c2,a]においては、前記c2の設定された時点並びに以降、前記変数tがm1Δ1進む度に、前記分割点c2から直近の前記分割点c1方向に連続するm1個の幅Δ1の小区間を纏めて幅Δ2の小区間とし、前記記憶部に記憶されている前記m1個の各小区間の重み付き積分値を重み付き積分値として算出して前記記憶部に記憶させる第2の積分演算部を備えており、
ことを特徴とする請求項3に記載の高速演算装置。 - 前記積分演算手段は、前記変数tを更新しながら前記区間[a,c2]の重み付き積分を算出する際に、さらにs≧3(s=3,4,...,S)として、中区間[cs,cs−1]の幅Δs−1の小区間の個数Js−1(s≧3)が式(7)で表されるLsと等しくなる度に、cs=cs−1−(Ls−m1)Δs−1である新たな分割点csによってcs+1=aを初期値とする前記中区間[cs+1,cs]と[cs,cs−1]とを設定する第3の分割手段を具備し、前記csが設定された時点及びそれ以降、前記変数tがm1Δs−1進む度に、前記分割点csから直近の前記分割点cs−1方向に連続するm1個のΔs−1の小区間を纏めて幅Δsの小区間とし、前記記憶部に記憶されている前記m1個のΔs−1の各小区間の重み付き積分値を用いて前記Δsの小区間の重み付き積分値として算出して前記記憶部に記憶させ、さらに、以降前記変数tの更新によってΔsの小区間の個数がLsとなる度にs=s+1として、以上の処理を繰り返す第2の積分演算部を備えており、
ことを特徴とする請求項4に記載の高速演算装置。 - 前記積分演算手段は、前記変数tを更新しながら前記区間[c2,a]の重み付き積分を算出する際に、さらにs≧3(s=3,4,...,S)として、中区間[cs−1,cs]の幅Δs−1の小区間の個数Js−1(s≧3)が式(8)で表されるLsと等しくなる度に、cs=cs−1+(Ls−m1)Δs−1である新たな分割点csによってcs+1=aを初期値とする前記中区間[cs,cs+1]と[cs−1,cs]とを設定する第3の分割手段を具備し、前記csが設定された時点及びそれ以降、前記変数tがm1Δs−1進む度に、前記分割点csから直近の前記分割点cs−1方向に連続するm1個のΔs−1の小区間を纏めて幅Δsの小区間とし、前記記憶部に記憶されている前記m1個のΔs−1の各小区間の重み付き積分値を用いて前記Δsの小区間の重み付き積分値として算出して前記記憶部に記憶させ、さらに、以降前記変数tの更新によってΔsの小区間の個数がLsとなる度にs=s+1として、以上の処理を繰り返す第2の積分演算部を備えており、
ことを特徴とする請求項6に記載の高速演算装置。 - 前記mが2以上であることを特徴とする請求項2から8のいずれか1項に記載の高速演算装置。
- 前記m1が2であることを特徴とする請求項5から8のいずれか1項に記載の高速演算装置。
- 前記第3の積分演算部は、前記式(9)の分子をあらかじめ計算し、得られたデータを前記記憶部に記憶させるものであり、
前記積分演算手段は、さらに、前記重み付き積分にあらかじめ前記式(9)中の係数1/(k!Γ(α−k))を乗じた重み付き積分値として算出して前記記憶部に記憶させる第4の積分演算部を備えており、
前記第2の分数階微積分値演算手段は、前記記憶部に記憶されている小区間の前記係数を乗じた重み付け積分値を読み出し、全ての中区間の各小区間に対応する式(9)の前記忘却関数の分子を乗じた値を前記小区間毎に算出し、全小区間について合算することによって区間[a,c1]の分数階微積分値を算出する第3の分数階微積分値演算部を備えている
ことを特徴とする請求項11に記載の高速演算装置。 - 前記積分式で定義される分数階微積分要素の分数階微積分式が、Riemann−Liouvilleの定義、Grunwald−Letnikovの定義、Caputoの定義及び分数階積分の定義式のいずれかであることを特徴とする請求項1から12のいずれか1項に記載の高速演算装置。
- 前記区間[a,c1]の分数階微積分定義がRiemann−Liouvilleの定義であり、区間[c1,t]の分数階微積分定義がCaputoの定義であることを特徴とする請求項1、2、4、5及び7のいずれか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進む毎に式(10)を満たしながら更新される分割点c1を設定することにより、前記積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は前記積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
前記変数tが幅h更新される度に、前記区間[c1,t]又は前記区間[t,c1]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
前記区間[a,c1]又は前記区間[c1,a]において、前記変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、前記分割点c1を上端とする幅Δ1の小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c1]又は該区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
前記区間[c1,t]の分数階微積分値Aと前記区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c1]の分数階微積分値Aと前記区間[c1,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がΔ1進む毎に式(11)を満たしながら更新される分割点c1を設定することにより、前記積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は前記積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
前記変数tが幅h更新される度に、前記区間[c1,t]又は前記区間[t,c1]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
前記区間[a,c1]又は前記区間[c1,a]において、前記変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、前記分割点c1を上端とする幅Δ1の小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c1]又は該区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
前記区間[c1,t]の分数階微積分値Aと前記区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c1]の分数階微積分値Aと前記区間[c1,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がΔ1進む毎に式(12)を満たしながら更新される分割点c1を設定することにより、前記積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は前記積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
前記変数tが幅h更新される度に、前記区間[c1,t]又は前記区間[t,c1]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
前記区間[a,c1]又は前記区間[c1,a]において、前記変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、前記分割点c1を上端とする幅Δ1の小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c1]又は該区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
前記区間[c1,t]の分数階微積分値Aと前記区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c1]の分数階微積分値Aと前記区間[c1,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がΔ1進む毎に式(13)を満たしながら更新される分割点c1を設定することにより、前記積分区間[a,t]を区間[a,c1]と区間[c1,t]とに分割、又は前記積分区間[t,a]を区間[t,c1]と区間[c1,a]とに分割する分割設定手段と、
前記変数tが幅h更新される度に、前記区間[c1,t]又は前記区間[t,c1]において、前記入力部を介して入力された前記データf(τ)を用い前記変数tに依存する積分値を算出して分数階微積分値Aを求める第1の分数階微積分値演算手段と、
前記区間[a,c1]又は前記区間[c1,a]において、前記変数tがΔ1更新される度に、分割点c1を端点とする幅Δ1の小区間内のf(τ)を用いて、前記分割点c1を上端とする幅Δ1の小区間における、前記変数tの更新に依存しない重み付き積分値を計算して前記記憶部に記憶させる積分演算手段と、
前記記憶部に記憶されている前記重み付け積分値を読み出し、前記各小区間に対応する忘却関数を乗じた値を前記小区間毎に算出し、全小区間について合算して該区間[a,c1]又は該区間[c1,a]の分数階微積分値Bを算出する第2の分数階微積分値演算手段と、
前記区間[c1,t]の分数階微積分値Aと前記区間[a,c1]の重み付け分数階微積分値Bとを合算して区間[a,t]の分数階微積分値を算出、又は前記区間[t,c1]の分数階微積分値Aと前記区間[c1,a]の重み付け分数階微積分値Bとを合算して区間[t,a]の分数階微積分値を算出する全分数階微積分値算出手段と
を備えていることを特徴とするシミュレーションシステム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984905A (zh) * | 2014-06-06 | 2014-08-13 | 蒲亦非 | 抗芯片克隆的分数阶电路基因防伪检测器 |
Families Citing this family (4)
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 | 武汉轻工大学 | 多模式微积分计算方法、装置、设备及存储介质 |
-
2012
- 2012-08-10 JP JP2012551403A patent/JP5257962B1/ja not_active Expired - Fee Related
- 2012-08-10 WO PCT/JP2012/070469 patent/WO2013024810A1/ja active Application Filing
Non-Patent Citations (2)
Title |
---|
JPN6013012769; 那須野洋ほか: 'ベキ時間を用いた分数階微分方程式の数値積分法' 日本機械学会論文集(C編) 72巻 724号, 2006, 3728-3735頁, 社団法人日本機械学会 * |
JPN6013012771; 那須野洋ほか: '非線形分数階微分方程式のための数値積分アルゴリズム' 日本機械学会論文集(C編) 72巻 722号, 2006, 3193-3200頁, 社団法人日本機械学会 * |
Cited By (2)
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 |