有沒有人知道什麼#例如Root[-1 - 2 #1 - #1^2 + 2 #1^3 + #1^4 &, 1]
意味着在Mathematica?Mathematica中的#是什麼意思?
那麼Root[-1 - 2 #1 - #1^2 + 2 #1^3 + #1^4 &, 1]
究竟意味着什麼?
謝謝。
有沒有人知道什麼#例如Root[-1 - 2 #1 - #1^2 + 2 #1^3 + #1^4 &, 1]
意味着在Mathematica?Mathematica中的#是什麼意思?
那麼Root[-1 - 2 #1 - #1^2 + 2 #1^3 + #1^4 &, 1]
究竟意味着什麼?
謝謝。
#1
代表pure function中的第一個參數。
如果您有多個參數#1
,#2
, #3
...請參閱第一個,第二個,第三個參數等。
它是一個變量的佔位符。
如果要定義一個Y(X)= X^2的功能,你只可以做:
f = #^2 &
的變量進入#號& 「在泵」。對於配對&和#,當你有嵌套函數時,這很重要。
In: f[2]
Out: 4
如果你有兩個瓦爾運行的功能,你可以這樣做:
f = #1 + #2 &
所以
In: f[3,4]
Out: 7
或者你可以在列表中有操作的函數,因此:
f = #[[1]] + #[[2]] &
因此:
In: f[{3,4}]
Out: 7
關於Root[]
按照Mathematica的幫助:
Root[f,k] represents the exact kth root of the polynomial equation f[x]==0 .
因此,如果您多是x^2 - 1
,用我們上面看到:
f = #^2 - 1 &
In[4]:= Root[f, 1]
Out[4]= -1 (* as we expected ! *)
而且
In[5]:= Root[f, 2]
Out[5]= 1 (* Thanks God ! *)
但是如果我們用一個更高階的多項式:
f = -1 - 2 #1 - #1^2 + 2 #1^3 + #1^4 &
In[6]:= Root[f, 1]
Out[6]= Root[-1 - 2 #1 - #1^2 + 2 #1^3 + #1^4 &, 1]
這意味着數學不知道如何caculate一個象徵性的結果。它只是多項式的第一個根。但它確實知道什麼是它的數值:
In[7]:= [email protected][-1 - 2 #1 - #1^2 + 2 #1^3 + #1^4 &, 1]
Out[7]= -2.13224
所以,Root[f,k]
是一種速記書寫多項式的根與秩序> 3.我救你從約自由基和尋找多項式根的解釋...好了,我想
如何找出任何內置語法Mathematica中表示:
或者也許更容易:1)突出顯示2)按F1 3)利潤? – Janus 2010-11-25 02:16:52
這可能在大多數情況下都有效。TreeFor更好的一個例子是當上下文很重要時,例如,如果在函數的結尾選擇&,它會爲BitAnd提供幫助,並且函數 – 2010-11-25 02:42:50
符號#
是(如上所述)用來指「一個變量超出這裏「在一個純粹的功能(」封閉「爲你的傳統開發者)。最後必須遵循&
。
最好的例子是這樣的:f[x_]:=x+5
。這將創建一個延遲集,任何時候將值作爲功能參數傳遞到符號引用f
中時,該值將被賦予本地上下文功能特定的名稱x
(不影響全局定義x
,如果有的話)。然後將使用這個新的變量/值來評估表達式x+5
。上述過程需要初始化符號f
,創建本地變量x
,並且表達式x+5
永久保存在內存中,除非您清除它。
旁註:f=5
和f[x_]:=5
一個 「符號」 f
都工作。當使用方括號來提取其值時,f
可以被稱爲功能,並且f[x_]
可以與f[x_,y_]
和平共存而不會彼此超越。當發送一個參數時將使用一個,當發送兩個參數時使用另一個參數。
有些時候你只需要一個快速的功能,而不需要定義它,並讓它掛起。因此,(someValue + 5)
變爲(#+5)&
,其中&
表示「我是純函數,並且可以與您發送給我的任何內容一起工作」,並且#
表示「我是發送給純函數的參數(或參數列表)」 。如果您發送的參數超過1個,則還可以使用#1
,#2
,#3
等。
普遍使用的多參數純函數的例子:
比方說mydata
是列表,其需要通過列表的中位數排序(例如,從美國各個城市的房價數據)的列表:
Sort[ myData , Median[#1] > Median[#2]& ]
小技巧,如果你申請的功能爲單個值,它可能看起來整潔和清潔,並使用更少的打字使用@
代替[]
,這基本上意味着Prefix
。不要與Map (/@)
或Apply(@@)
混淆。上面的命令就變成了:
Sort[ myData , [email protected]#1 > [email protected]#2 & ]
你可以鏈@
這樣:[email protected]@DeleteDuplicates[...]
親愛Soufiane,謝謝。那麼Root [-1 - 2#1 - #1^2 + 2#1^3 +#1^4&,1]究竟意味着什麼? – user376089 2010-11-24 22:32:33