[問題] mathematica的認知bug?

作者: alfadick (悟道修行者)   2014-02-23 23:01:12
我想透過Exists和Reduce函數,得到f(x)=x^2的對應域
數學上對應域即為range f = {y | 存在x, y=f(x)},
其中命題函數是P(y):="存在x, y=f(x)"
既然有命題函數,我當然想透過Reduce(or FullSimplify)求解,
就好比 命題函數 "3x^2+2x-1 <0"可以透過Reduce求解一樣
f[x_] := x^2
Reduce[Exists[x, y == f[x]], y]
結果我發現它直接給出true耶?照理說
Exists[x, y == f[x]] 若要問它真假值,是給不出來的(因為y未知)
超怪= =
當然我猜Reduce[Exists[x, y == f[x]], y]的True意思不是邏輯的true,
而是實數集合R。可是f(x)=x^2的對應域一定≧0呀!
作者: alfadick (悟道修行者)   2014-02-23 23:06:00
難道跟複數有關? 可是我記得之前的經驗,感覺都實數,冏(感覺Reduce預設要解的都是實數)
作者: LPH66 (-6.2598534e+18f)   2014-02-23 23:32:00
好像真的是複數...改成Exists[x,Element[x,Reals],y==f[x]]就給出 Re[y]>=0&&Im[y]==0 的結果你的另外問題似乎可以查一下 Interval 這個東西唔, Interval 含端點...不過如果是用 Interval 的話那能用 IntervalMemberQ 查詢
作者: alfadick (悟道修行者)   2014-02-23 23:45:00
interval 好像挺直觀的http://ppt.cc/ZT6j這真的是超有意思的coding logic也只有mathematica才能這樣大玩特玩量詞邏輯
作者: LPH66 (-6.2598534e+18f)   2014-02-24 01:14:00
是說 Interval 這樣代不一定是正確的區間喔例如 f[x_]:=x+x^2 則 f[Interval[{-1,1}]] 會得到Interval[{-1,2}] 而不是正確的值域 Interval[{-1/2,2}]因為這樣代入時兩個 Interval 物件是獨立考慮的(這個例子是 Interval 的說明裡的例子)

Links booklink

Contact Us: admin [ a t ] ucptt.com