JSL リストで Lag 関数または Dif 関数を使用しますか?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは。
リストがあります ( list = {1, 3, 5, 7, 5, 9, 11, 13, 10, 14, 15, 17}; ) 単調に増加するように変更したいです。つまり、現在の値 < 前の値が前の値に設定されるようにリストを評価したいのですが、それ以外の場合は現在の値を使用します。JSL式では、次のようになります。
If( Dif( :List, 1 ) < 0,
Lag( :リスト, 1 ),
:リスト
);
マトリックス内の項目に対して Dif や Lag のような関数を実行することは可能ですか?ありがとう。
Re: JSLはリストでLagまたはDif関数を使用しますか?MS と PMroz には、行列について考えて遊ぶための 2 つの興味深い方法を提供してくれてありがとう。
Re: JSLはリストでLagまたはDif関数を使用しますか?マトリックスは楽しい! jsl の行列演算を利用すると、多くの場合、ループを回避できます。
a = [ 1 、 3 、 5 、 7 、 5 、 9 、 11 、 13 、 10 、 14 、 15 、 17 ] ;
n = N行( a ) ;
位置=ロク( a [ 1 :: n - 1 ] > a [ 2 :: n ] ) ;
a [位置+ 1 ] = a [位置] ;
見せる( a ) ;
Re: JSLはリストでLagまたはDif関数を使用しますか?ああ、わかりました。次に、これが必要です:
a = [ 1 、 3 、 5 、 7 、 5 、 9 、 11 、 13 、 10 、 14 、 15 、 17 ] ;
為に(私= 2 、私<=ナロー( a ) 、私++、
もしも( a [私] < a [私- 1 ] 、
a [私] = a [私- 1 ] ;
) ;
) ;
[1、3、5、7、7、9、11、13、13、14、15、17]
Re: JSLはリストでLagまたはDif関数を使用しますか?ありがとうPMroz、
リストを現在の順序のままにする必要があります。現在の値が前の値よりも小さい場合は、現在の値を前の値に変更するだけです。私が生産しようとしているものは次のとおりです。
a = [ 1 、 3 、 5 、 7 、 7 、 9 、 11 、 13 、 13 、 14 、 15 、 17 ] ;
から
a = [ 1 、 3 、 5 、 7 、 5 、 9 、 11 、 13 、 10 、 14 、 15 、 17 ] ;
Re: JSLはリストでLagまたはDif関数を使用しますか?マトリックスに DIF 関数と LAG 関数があるとは思いませんが、実際には必要ありません。リスト/マトリックスと参照 (i-1) または (i+1) をループできます。i はループ インデックスです。
ところで、私は使用しませんリストJSLの関数であるため、変数として。
または、マトリックスを並べ替えることができます。
a = [ 1 、 3 、 5 、 7 、 5 、 9 、 11 、 13 、 10 、 14 、 15 、 17 ] ;
b =ソート昇順( a ) ;
[1、3、5、5、7、9、10、11、13、14、15、17]