Ans:
TableForm[ Flatten@{#, NSolve[Expand[(x + 2 y)^3 - 40 (x*y^2) /. x -> #] == 0, y][[All, 1, 2]]} & /@ Flatten[{0, Range[0.5, 10, 0.5]}], TableHeadings -> {None, {"x", "y1", "y2", "y3"}}]
Show[Plot[Tooltip[(x + 2 y)^3 - 40 (x*y^2) /. x -> #], {y, 0, 20}, PlotStyle -> RGBColor[#/2, 0, 1]] & /@ Range[0, 10, 0.5]]
以上是Mathematica正規的作法,就是盡量利用純函數。如此,運算式才可以簡潔,有效率。
Ans:
當然要達成上述的這個工作在Mathematica中有 很多方法,例如一個一個做,但這樣太沒效率。這個在一般的程式語言裡,用一個For就可完成。Mathematica裡面也是有For這個函數,但不到最後關頭,盡量不要使用。如果要用For, Do,..那就回去用C或Fortran,畢竟C或Fortran的執行速度比Mathematica快太多了!所以在這邊我們也是可以用Table來完 成這件任務:
Table[Solve[Expand[(x + 2 y)^3 - 40 (x*y^2) /. x -> i] == 0, y][[All, 1, 2]], {i, 0, 10, 0.5}]
但是當n大的時候,Table執行的速度就不見得比純函數的寫法快。
但是當n大的時候,Table執行的速度就不見得比純函數的寫法快。
Ans:
ContourPlot3D[{(x + y + z)^3 - 40 (x y z) == 0, x + y + z == 500}, {x, 0, 500}, {y, 0, 500}, {z, 0, 500}]
Ans:
在ContourPlot3D函數中使用RegionFunction這個參數!
ContourPlot3D[{x + y + z == 500}, {x, 0, 500}, {y, 0, 500}, {z, 0, 500}, RegionFunction ->
Function[{x, y, z}, (x + y + z)^3 - 40 (x y z) <= 0]]
mathematica;教學;pdf mathematica 6教學 mathematica基本教學 mathemat
Ans:
兩個曲面的交界方程式為 x + y + z = 500, (x + y + z)^3 - 40 (x y z) = 0,很明顯這只能用參數式來表示。因為解有無窮多組,我們在這邊先給定z,z=1,2,3..,500,再對z做迴圈;最後以ListPlot3D畫出。
Select[N@Flatten@{Solve[{x + y + z ==500, (x + y + z)^3 - 40 (x y z) == 0} /. z -> #, {x, y}][[All, 1, 2]], #} & /@Range[1, 500], # \[Element] Reals &]//ListPlot3D;
再比較一下你從Excel得到的圖形
{{166.6666665, 71.65204808, 261.6812854}, {146.3951866, 77.23955794, 276.3652555}, {103.1513931, 103.1513931, 293.6972139}, {81.49490141, 135.4916366, 283.013462}, {71.65204853, 166.6666661, 261.6812854}, {67.62895551, 193.2037421, 239.1673024}, {66.52434111, 216.7377264, 216.7379324}} // ListPlot3D
這時候我們就不需要再由Excel計算資料,或繪圖。直接從Mathematica做計算,簡單又方便!
ica mathematica下載 spss教學網站 spss教學講義下載 spss教學pdf spss教學網 spss教學講義下載 spss教學網站 spss教學下載 spss教學講義 spss教學pdf roc curve spss教學 manova spss教學 spss教學手冊 spss 16教學 automator mac 教學 automator 浮水 box cox spss cwtex linux cwtex ptt cwtex texlive
cwtex-linux excel matrix excel 分配圖 excel 畫常態分配圖 excel常態分配 excel常態分配圖 excel畫常態分佈圖 excel畫常態分配圖 google latex 註解 graphicspath latex 路徑 import mathematica integral exp x 2 latex latex 文字和圖片重疊 latex 浮水印 透明度 watermark latex 圖例 latex 圖片文字重疊 latex教學 mac automator mac latex 新增 package mac pdf 浮水印 mac 水印 mac合併pdf mathematica mathematica 8 圖 字 mathematica abs mathematica pso mathematica 字型 mathematica 教學 pdf mathematica 講義 mathematica教學 mathematica講義 norminv vba p-value excel scientific workplace lyx spss string substr spss 幾何平均數 spss 遺漏值 spss教學講義下載 丁吉峰 可愛手寫字體 可愛字體 可愛的字體 如何畫常態分配圖 利用mac automator幫pdf加入浮水印 怎麼合併pdf for mac automator 怎麼畫星星 浮水印 cwtex 留言板 常態分配圖 常態分配圖如何畫 敏感性分析 公式 統計學講義 最小生成樹 華康可愛字體 戴忠淵
讀者回應 ( 2 意見 )
訂閱發佈留言 (Atom)
拍謝,slect[N@......最後面不能加分號。分號在Mathematica是計算但不輸出的意思。
Flatten@xxx => Flatten[xxx],這樣不用加中括號,我覺得比較方便啦
不大懂這句話
"當得到這些點之後有辦法從原點(0,0,0)連到交面上的點嗎,形成一個很像裝冰其淋的CONE的樣子"
試試這個看是不是你要的
ListPlot3D[
Select[N@Flatten@{Solve[{x + y + z ==500, (x + y + z)^3 - 40 (x y z) == 0} /. z -> #, {x, y}][[All, 1, 2]], #} & /@Range[1, 500], # \[Element] Reals &], Filling -> Bottom]
如果真的要冰淇淋的話,在這邊
Show[Graphics3D[Cone[{{0, 0, 5}, {0, 0, 0}}, 1]], Graphics3D[{Yellow, Sphere[{0, 0, 5}, 1]}], Boxed -> False]
發佈留言
Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.
如果這篇文章對你有幫助,那請留個訊息給我~