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 公式中,它看起來像這樣:
如果( Dif( :List, 1 ) < 0,
滯後(:列表,1),
:列表
);
是否可以對矩陣中的項目執行類似 Dif 和 Lag 的函數?謝謝。
回复:JSL 在列表中使用 Lag 或 Dif 函數?感謝 MS 和 PMroz 提供了兩種有趣的方式來思考和使用矩陣。
回复:JSL 在列表中使用 Lag 或 Dif 函數?矩陣很有趣! 如果利用 jsl 中的矩陣運算,通常可以避免循環。
一個= [ 1個, 3個, 5個, 7 , 5個, 9 , 11 , 13 , 10 , 14 , 15 , 17 ] ;
n = N行(一個) ;
位置=位置(一個[ 1個:: n - 1個] >一個[ 2個:: n ] ) ;
一個[位置+ 1個] =一個[位置] ;
節目(一個) ;
回复:JSL 在列表中使用 Lag 或 Dif 函數?喔好吧。那麼你想要這個:
一個= [ 1個, 3個, 5個, 7 , 5個, 9 , 11 , 13 , 10 , 14 , 15 , 17 ] ;
為了(一世= 2個,一世<=行(一個) ,一世++,
如果(一個[一世] <一個[一世- 1個] ,
一個[一世] =一個[一世- 1個] ;
) ;
) ;
[1, 3, 5, 7, 7, 9, 11, 13, 13, 14, 15, 17]
回复:JSL 在列表中使用 Lag 或 Dif 函數?感謝PMroz,
我需要列表保持當前順序,如果當前值小於以前的值,只需將當前值更改為以前的值。我要生產的是:
一個= [ 1個, 3個, 5個, 7 , 7 , 9 , 11 , 13 , 13 , 14 , 15 , 17 ] ;
從
一個= [ 1個, 3個, 5個, 7 , 5個, 9 , 11 , 13 , 10 , 14 , 15 , 17 ] ;
回复:JSL 在列表中使用 Lag 或 Dif 函數?我不相信矩陣有 DIF 和 LAG 函數,但你真的不需要它們。您可以遍歷列表/矩陣並引用 (i-1) 或 (i+1),其中 i 是您的循環索引。
順便說一句,我不會用列表作為變量,因為它是 JSL 中的函數。
或者,您可以對矩陣進行排序:
一個= [ 1個, 3個, 5個, 7 , 5個, 9 , 11 , 13 , 10 , 14 , 15 , 17 ] ;
b =升序(一個) ;
[1, 3, 5, 5, 7, 9, 10, 11, 13, 14, 15, 17]