我有一個mathematica中的值列表,例如num = {1,3,4,5}。如果元素大於特定數字,我如何通過其倒數來更改元素,否則用零替換。例如,如果數字大於2,那麼我希望採用數字的倒數,否則將其替換爲零。 NUM = {0,1/3,1/4,1/5}當它大於某個值時,用其倒數替換numers
1
A
回答
2
比方說,我們的名單的定義如下:
mylist = {0, 1, 2, 3, 4, 5};
我們簡單地定義一個新的功能,你想要做什麼:
ReciprocalReplace[x_]:=If[ x!=0 , 1/x , 0 ]
返回一個數字的反數,如果它非零並且返回'0'爲'0'。 現在,我們既可以使用Map[]
申請名單上的功能或通過「的setAttribute」
使適用上列出了函數的第一個策略使用Map[]
:
Map[ReciprocalReplace, mylist]
返回:
{0,1,1/2,1/3,1/4,1/5}
我們也可以使用這種簡寫法,等效表示法:
ReciprocalReplace /@ mylist
使用SetAttribute[function,Listable]:
這樣,首先我們應該告訴數學,可以在列表來應用這個我們的函數的第二個策略:
SetAttributes[ReciprocalReplace, Listable]
現在,我們可以將任何名單上我們的功能和它會工作得很好:
ReciprocalReplace[mylist]
是再次返回:
{0,1,1/2,1/3,1/4,1/5}
1
num= {1,3,4,5};
Cases[num, s_:> If[s>2, 1/s, 0], Infinity]
{0, 1/3, 1/4, 1/5}
相關問題
- 1. 當大於x時,替換數組中的值
- 2. 基於其他數據幀替換值
- 3. 用其他表中的值替換某個記錄
- 4. 用單位替換倒數第二個軸的值
- 5. Swift:從當前時間到某個時間倒數
- 6. Java不大於某個值
- 7. 當一個函數等於某個值時
- 8. 的MS Excel 2012 - 替換值,如果等於其它
- 9. 基於其他數據框映射替換某些行中的值
- 10. 當每列小於其大小時,標題將換行換行
- 11. 只有當數據幀列中的值與其他兩個列值相匹配時,才替換其中的值
- 12. 大數倒計時
- 13. 用一些其他值替換矢量中的某個分量值
- 14. 替換Dataframe的某個索引值
- 15. 循環替換大於0的值
- 16. 只有當它包含某個值時,纔會重置值
- 17. 僅當CSS類內容位於某個其他類時,才修改它。
- 18. 追加值大熊貓其中值等於其它值
- 19. 在numpy數組中替換某些值
- 20. 如何在查詢中替換某個值,如果它滿足某些條件?
- 21. 當文本太大時用WPF中的散列替換數字
- 22. PLSQL在某個日期替換時間
- 23. 當替換單個圖像時,所有其他ImageView在Gridview中被替換
- 24. 動態參數在替換時替換單個值
- 25. 如何替換大於某個閾值的數據幀的每一行中的前n個元素
- 26. 如何用sqlite中的某個值替換最小值?
- 27. 查看用對應於匹配的最大值替換值
- 28. 用數值c替換浮點數值a到b大數組
- 29. jquery如果值大於某個長度
- 30. Python - 總結大於或等於某個值的數字組合