v=: ((1 2);(3 4);(0 5);<(2 1))
d =: (1,0.5,1,0.25);(0.5,1,0.75,0.25);(1,0.75,1,0);(0.75,0.25,0,1)
force=:(v ((0{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(0{d)
force=:(v ((1{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(1{d)
force=:(v ((2{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(2{d)
force=:(v ((3{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(3{d)
force=:(v ((4{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(4{d)
force=:(v ((y{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(y{d)
鑑於v和d, 的力第一列給出了我們第(n + 1)個向量從訴定義Monad函數?
的力第二列給出了我們從V的每個向量。
的力第三列給我們兩個向量之間的常量。
也就是說,(1 2);(1 2)
會在第3列有1列,但(1 2);(3 4)
可能不是。 我想打一個單子函數,它給了我們
force=:(v ((1{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(1{d)
如果我們輸入force_constant 1
或force=:(v ((2{>"0 v);])@{~ ] i.4) ,"1 0 <"0>(2{d)
如果我們輸入force_constant 2
有人能幫忙嗎?
我想丹的建議你調查代碼審查。舉一個例子,這個版本是對上述動詞的純粹簡化,沒有研究默認或提供'v'&'d'作爲參數:'force_constant =:monad def'((y {v),.v),。 <"0 > y {d' – Tikkanz
@Tikkanz我會試着走得更遠,然後把箱子扔掉。使其成爲M x N x 2整數數組。在距離平面添加一個虛擬列('0's)以使其成爲常規。 –