MinVal

ユーザー指定の関数の最小値を計算します。この関数は、MotionSolveの式であってもユーザーサブルーチンであってもかまいません。

信号 f ( q ( t ) ) MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qiqrFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeGabeqadiWa ceGabeqabeqadeqadeaakeaacaWGMbWaaeWaaeaacaWGXbGaaiikai aadshacaGGPaaacaGLOaGaayzkaaaaaa@37B3@ )の最小値は次の条件を満たします:T*が、 f ( q ( t ) ) MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qiqrFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeGabeqadiWa ceGabeqabeqadeqadeaakeaacaWGMbWaaeWaaeaacaWGXbGaaiikai aadshacaGGPaaacaGLOaGaayzkaaaaaa@37B3@ が最小である時点を表す場合、t ≠T*のときは f ( q ( T * ) ) f ( q ( t ) ) MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaebbnrfifHhDYfgasaacH8srps0l bbf9q8WrFfeuY=Hhbbf9v8qiqrFr0xc9pk0xbba9q8WqFfea0=yr0R Yxir=Jbba9q8aq0=yq=He9q8qqQ8frFve9Fve9Ff0dmeGabeqadiWa ceGabeqabeqadeqadeaakeaacaWGMbWaaeWaaeaacaWGXbGaaiikai aadsfacaGGQaGaaiykaaGaayjkaiaawMcaaiabgwMiZkaadAgadaqa daqaaiaadghacaGGOaGaamiDaiaacMcaaiaawIcacaGLPaaaaaa@3FC3@ この式が最小値を持たない場合は、初期値が最小値として返されます。

MIN関数に対する平滑近似がMotionSolveに実装されているため、この関数の感度は解析的に計算されます。この平滑近似はアルファソフト近似と呼ばれ、次の式で表されます。(1)
M i n v a l ( x ) = 0 T x ( t )   e a x ( t )   d t 0 T e a x ( t )   d t MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbdfwBIj xAHbstHrhAaerbuLwBLnhiov2DGi1BTfMBaeXafv3ySLgzGmvETj2B SbqeeuuDJXwAKbsr4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqr Ffpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0F irpepeKkFr0xfr=xfr=xb9adbaGaaiGadmWaamaaciGaaeWaceabca GcqqaaaaaaOpGqSvxza8qabaGaamytaiaadggacaWG4bGaamODaiaa dggacaWGSbGaaiikaiaadIhacaGGPaGaeyypa0ZaaSaaaeaadaWdXa qaaiaadIhacaGGOaGaamiDaiaacMcacaqGGaGaamyzamaaCaaaleqa baGaamyyaiaadIhacaGGOaGaamiDaiaacMcaaaGccaqGGaGaamizai aadshaaSqaaiaaicdaaeaacaWGubaaniabgUIiYdaakeaadaWdXaqa aiaadwgadaahaaWcbeqaaiaadggacaWG4bGaaiikaiaadshacaGGPa aaaOGaaeiiaiaadsgacaWG0baaleaacaaIWaaabaGaamivaaqdcqGH RiI8aaaaaaa@611A@
パラメータ a < 0 MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbdfwBIj xAHbstHrhAaerbuLwBLnhiov2DGi1BTfMBaeXafv3ySLgzGmvETj2B SbqeeuuDJXwAKbsr4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqr Ffpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0F irpepeKkFr0xfr=xfr=xb9adbaGaaiGadmWaamaaciGaaeWaceabca GcbaGaamyyaiabgYda8iaaicdaaaa@3D0A@ を使用して、計算の精度を制御します。
注: M i n ( x ) = lim M i n v a l ( x ) MathType@MTEF@5@5@+= feaagKart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbdfwBIj xAHbstHrhAaerbuLwBLnhiov2DGi1BTfMBaeXafv3ySLgzGmvETj2B SbqeeuuDJXwAKbsr4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqr Ffpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0F irpepeKkFr0xfr=xfr=xb9adbaGaaiGadmWaamaaciGaaeWaceabca GcbaGaaeytaiaabggacaqG4bGaaiikaiaabIhacaGGPaGaeyypa0Za aCbeaeaaciGGSbGaaiyAaiaac2gaaSqaaiaadggacqGHsgIRcqGHEi sPaeqaaOGaamytaiaadggacaWG4bGaamODaiaadggacaWGSbGaaiik aiaadIhacaGGPaaaaa@4FA3@ .

車両速度の下限を設定するとします。

以下のコードは、MinValを使用してこの応答を定義する方法を示しています。

>>> # Define the minimum of velocity
>>> minVel = MinVal(function = "VZ({},{})".format(p.cm.id,ref.id))