Mathematica定義分段函數後,代入表參數,無法計算結果?

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 |