Re: [問題]如何定義參數與宣告問題

作者: LPH66 (-6.2598534e+18f)   2014-08-07 16:39:23
※ 引述《abc0204 (真心開始)》之銘言:
: 我的問題是我要如何定義0^0=1的問題
: 我的微分過後需要把微分後的結果代0進去
: 但當我代0進去時,程式會發現問題
: 由下圖所示
: http://ppt.cc/ziPG
: 我不知道怎樣處理,因為這個是我研究的關鍵之一
錯誤訊息有告訴你: Tag Power in 0^0 is Protected.
由於 0^0 其實是 Power[0,0]
所以 0^0 := 1 就是 Power[0,0] := 1 其實就是一個基本的函數特殊狀況定義
問題在於一些系統定義的名字它設定了 Protected 不給改
(其實也有防止使用者錯手把它改掉的考量在)
要改它的話就必須要使用 Unprotect 解除保護
此例可以這樣做:
Unprotect[Power]
0^0 := 1
Protect[Power] (*把保護給設回來, 如果不怕自己寫錯的話也可以不設*)
x^y /. x->0 /. y->0 (*現在這一行就會得到 1 了*)
: 還有當我要寫迴圈給它跑時,它Print的出來資料很亂
: ,請問怎樣的打法可以,可以比較工整,比較好結果
: For[i = 1, i < 6, i++, Print[i (th), D[f, {z, i}] (i!)^-1 //. {z -> 0}]]
: 希望可以讓第一個結果和第二個結果中間空個幾行緩衝一下,讓結果比較不雜亂
: 如圖所示
: http://ppt.cc/pX7X
: 希望哪位大大可以幫我解答,感謝各位。
i (th) 會被 Mathematica 解釋成 i 變數乘上 th 變數, 所以顯示出來會很奇怪
Mathematica 裡是有字串的存在的, 用法也跟其他程式語言一樣用 "" 表示
所以這裡你可以寫 Print [i, "th ", D[f, {z, i}] (i!)^-1 //. {z -> 0}]
這樣 th 後面的空白因為是字串就會照樣輸出了
作者: ToMoveJizz ( )   2014-08-07 23:32:00
推 好強
作者: abc0204 (韓森)   2014-08-08 17:20:00
謝謝你
作者: alfadick (悟道修行者)   2014-08-31 09:57:00
推!

Links booklink

Contact Us: admin [ a t ] ucptt.com