Mathematica定義分段函數後,代入表參數,無法計算結果?
02-05
Mathematica定義函數,可代入「表」類型的參數,得到「表」類型的計算結果。然而,在定義分段函數後,代入"表"類型參數,無法計算得到結果;代入單個參數可以得到結果。如圖。
你要給f賦Listable屬性才能將f用於列表計算。問題出在函數的定義上,而不是分段函數上。很多mathematica內置的數學函數本身已經有了Listable屬性,所以能直接用於列表計算
patt/;test
is a pattern which matches only if the evaluation of test yields True.
你這樣寫相當於
{16, 9} &< E
(*{16, 9} &< E*)
自然執行不了
你的意思是是不是這個:f[x_] := E^x /; x &<= 0
f[x_] := Log[x] /; 0 &< x &<= E
f[x_] := Sqrt[x] /; x &> E
Map[f, {16, 9}]
(*{4, 3}*)
更多信息請查閱
Map
的幫助文檔
PS:下次問問題請貼代碼,短的還好,長的實在吃不消
推薦閱讀:
※如何系統的學習Mathematica?
※理論物理學生如何用mathematica記錄筆記並進行管理?
※mathematica中畫圖函數的區分?
※Mathematica 終究不是 Lisp?
※Mathematica導入牆外網頁數據失敗,軟體內如何實現科學上網?
TAG:WolframMathematica |