hirax.net::Keywords::「定番」のブログ



2008-07-11[n年前へ]

「スペクトル操作Mathematicaライブラリ」で動画を作る 

 光スペクトル操作用のMathematicaライブラリで、スペクトル変化の動画を作ると、こんな感じになります。Map も spectorPlot も Table も addtiveMixtureSpector も whiteLight も cyanFilter も・・・どれも「関数」です。addtiveMixtureSpector や whiteLight や cyanFilter は「関数を返す関数」で、Map などは関数を引数にとる関数です。Mathematica でコードを書いていると、なぜか自然に関数を重ね合わせていくような書き方が気持良くなってきます。

Map[spectorPlot,
 Table[
  addtiveMixtureSpector[
   {whiteLight,
   transmissionSpector[whiteLight,
   cyanFilter, 1.0]}, {1-r,r}]
 ,{r,0,3,0.05}]]

 それで、今この瞬間の悩みはMathematicaで"spectorFitting[targetSpector_,usingSpectrum]"というような関数をどうやって書くか、ということです。targetSpector は、任意のスペクトルを表現する関数で、usingSpectrum は「スペクトルを表す関数群」で要素数は任意のリストです。usingSpectrumを使いtargetSpectorをどのように表現するかを、最小二乗近似で最適解をNMinimize で解くというのが、そんな関数を作るときの定番の手順なのだろうと思います。つまり、方程式と制約条件を動的に作成し、それをNMinimize で解いた結果を返す、という具合です。

 さて、この spectorFitting という関数はどう簡単に書くことができるものでしょうか。Mathematicaは変数名と文字列を明確に区別する割に、見た目ではまったくその違いがわからないのが面白いところ(同時に苦労するところ)かも、と思ったりしたのです。

2019-04-16[n年前へ]

2019年4月、京華旅社から眺めるタイ旧正月 

 ベトナム航空が、ベトナム経由のバンコク往復2万5千円航空券を売っていた。そこで迷わず、発券し、タイ旧正月のソンクラーンを眺めに行った。宿は、京華旅社。楽宮旅社、ジュライホテル、台北旅社、そして京華旅社(クルンカセム・ シークルン)…つまりは、20世紀のバックパッカーの定番のうち、今も残っている最後のひとつ。

 バンコクのいわゆる中央駅、フワランポーン駅横に位置する京華旅社。今の朝食は、バイキング形式で美味しい。それに、中華街とか新旧電脳街にも近い。そして、その屋上階から眺める景色はとても心地良い。すべて、何だか快適で良い。



■Powered by yagm.net