[英]Does Perl PDL have a way to clamp a vector by min/max values given in another vector without iterating?
PDL是否已經有辦法將向量元素“鉗制”到另一個向量中給出的最小/最大值? 我瀏覽了PDL::Math文檔,但沒有看到一個好的候選選項。
我可以 unpdl/re-pdl但這似乎開銷太大。
是否已經有一種矢量化的方式來做到這一點?
我試過這樣的事情:
$pdl = pdl [4.45, 5.55, 45];
$max = pdl [2 , 3, 50];
print ( (($max <=> $pdl) > 0)*$pdl + (($max <=> $pdl) < 0)*$max )
[2 3 45]
這似乎有效,但這是多么瘋狂的表達。 有內置的嗎?
pdl> $pdl = pdl [4.45, 5.55, 45];
pdl> $max = pdl [2 , 3, 50];
pdl> p $pdl->hclip($max)
[2 3 45]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.