[問題] mathematica的認知bug?
我想透過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呀!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.44.195.220
※ 編輯: alfadick 來自: 114.44.195.220 (02/23 23:04)
→
02/23 23:06, , 1F
02/23 23:06, 1F
→
02/23 23:07, , 2F
02/23 23:07, 2F
另外想請問一下在MATHEMATICA中,-2<x<6這個表達式算集合嗎?
怎樣的表達式算集合?
譬如我想測試 Sqrt[2]是否屬於(-2,6)這個區間,該怎麼做呢?
因為如果是有限元素的集合,我有查到是用List為結構,那很簡單,
可是無線元素-2<x<6的集合呢? 就算下 Reduce[-2<x<6,x],得到的還是-2<x<6 冏..
※ 編輯: alfadick 來自: 114.44.195.220 (02/23 23:31)
推
02/23 23:32, , 3F
02/23 23:32, 3F
→
02/23 23:32, , 4F
02/23 23:32, 4F
→
02/23 23:34, , 5F
02/23 23:34, 5F
謝謝~~
追問一下:要找一個函數的對應域,或者它在某個定義域區間的image,
在Mathematica正規做法該怎麼做啊?
我用邏輯的想法是得到正確答案了
Reduce[Exists[x, -1 < x < 4,
y == x^3 + 2*x + 1], y, Reals] (*找出f在 (-1,4) 的image*)
Out= -2 < y < 73
但不知道正規做法是什麼@@
※ 編輯: alfadick 來自: 114.44.195.220 (02/23 23:36)
→
02/23 23:35, , 6F
02/23 23:35, 6F
→
02/23 23:36, , 7F
02/23 23:36, 7F
找到了
In[11]= f[x_] := x^3 + 2*x + 1
f[Interval[{-1, 4}]] -----------> 這裡有端點
Out[11]= Interval[{-2, 73}]
※ 編輯: alfadick 來自: 114.44.195.220 (02/23 23:41)
→
02/23 23:45, , 8F
02/23 23:45, 8F
話說PREIMAGE也有點怪:
http://mathworld.wolfram.com/Preimage.html
Reduce[Exists[y, IntervalMemberQ[Interval[{-2, 73}], y],
y == x^3 + 2*x + 1], x]
跑出False @@
※ 編輯: alfadick 來自: 114.44.195.220 (02/24 00:09)
→
02/24 00:29, , 9F
02/24 00:29, 9F
→
02/24 00:30, , 10F
02/24 00:30, 10F
推
02/24 01:14, , 11F
02/24 01:14, 11F
→
02/24 01:15, , 12F
02/24 01:15, 12F
→
02/24 01:16, , 13F
02/24 01:16, 13F
我用Plot看(懶得手算XD), 正確的image應該是-1/4~2
→
02/24 01:17, , 14F
02/24 01:17, 14F
→
02/24 01:17, , 15F
02/24 01:17, 15F
啊?你是說f作用在Interval的效果等同於f[List{-1,1}] @@?
那Mathematica設計Interval這個函數幹嘛= =
l[x_] := x + x^2 ; l[Interval[{-1, 1}]] 結果是Interval[{-1,2}] ...
好像也不是端點取f得到的,-1不知道是哪裡冒出來的
※ 編輯: alfadick 來自: 114.44.195.220 (02/24 08:49)
Reduce[Exists[y, -2 < y < 73, y == x^3 + 2*x + 1], x, Reals]
這樣成功了。-2<y<73改用 IntervalMemberQ[Interval[{-2,73}],y]不行@@
※ 編輯: alfadick 來自: 114.44.195.220 (02/24 09:13)
有些很簡單的函數,明明Plot都可以描點了,
但用真值集合(reduce with ForAll, Exists, etc)來算image,就不行
Reduce[Exists[x, -1 < x < 4, y == Sin[x^2] + x^2], y, Reals]
(*求f(x)在(-1,4)的image*)
Reduce::nsmet: This system cannot be solved with the methods available to
Reduce.
http://reference.wolfram.com/mathematica/tutorial/RealPolynomialSystems.html
※ 編輯: alfadick 來自: 114.44.195.220 (02/24 14:08)
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章