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