検索

Google
Web www.icefree.org

RSS of recent changes

 

ノウハウ

2017-06-20 (火) 23:23:54 (2494d)
09 Nov 2006-

拡張キットについてのワンポイントです。
随時追加します。

書式・文法に関する注意点(一見バグかと思うこと)

演算子 < が使えない

XMLなので、<>は特殊な意味を持ちます。
「>」は閉じる方なのでそのまま文字としての意味として使えることもありますが、「<」は大抵の場合エラーになります。

&gt; で代用するのが簡単な解決策です。
式全体を<![CDATA[式]]>で囲ってしまうのも便利な方法です。

掛け算や足し算しか使ってないのに結果が違う

「2 / 3 * 5」を計算すると、0.133になります。
本当は、3.33になるべき式です。

これは、パーサの都合で「3 * 5」の方が先に結合するためです。

解決策は、()で囲むというのが簡単です。

ただし、()が大量に使われて対応が良くわからなくなるので、掛け算のみを使い、割り算はあらかじめ小数の掛け算に変換しておくか、* (1 / 3) のように局所的な括弧で済むようにしたほうが見やすいかもしれません。

同様の問題は加減算でも発生します。

数学

sdev(標準偏差)は0を平均としています

一般に標準偏差は、サンプルと平均値の差分の二乗の総和をサンプル数で割ったものですが、sdev関数は要素の二乗の総和を要素数で割っています。

一般的な標準偏差を求めたい場合は、

sdev(time-series - avg(time-series))

とします。

sum系の使い分け

sum 単純に全部加算する
suma 絶対値を加算する(マイナスを符号反転)
sump 正の数だけを加算する(マイナスのものは加算しない)
sumn 負の数だけを加算する(プラスのものは加算しない)。結果は0以下になる。

time-seriesのテクニック

time-seriesを作り出す演算子・関数

time-series * time-series
time-series * double
time-series / time-series
time-series / double
time-series + time-series
time-series - time-series

time-seriesを1つ引数にとり、要素ごとに計算してtime-seriesを返すもの
sqrt, log, abs

time-seriesを第一引数にとり、doubleを第二引数にとり、要素ごとに計算してtime-seriesを返すもの。
pow

その他
diff 2要素感の差分を返します。サイズが1減ります。
value_at, each 式からtime-seriesを生成します。

グラフ描画

oscillator-group @typeの指定

0〜1.0程度の%で表したいものは、percent0_1を使うと良い。

 -1〜1の%は同様に、percent1_1です。特に0が必ず真ん中になるのが便利です。
それ以外で、0中心で上下のバランスを同じにしたときは、origin0を使います。

 他はdefaultにして、あとはシステムに任せます。
別の指標を同時に出して、無理やりグリッドを作るという手もありえます。

コメント


Counter: 1792, today: 1, yesterday: 1