Re: [問題] Data Export 與一些繪圖上的問題

看板Mathematica作者 (養花種魚數月亮賞星星)時間10年前 (2014/10/05 07:57), 10年前編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《boson5566 (勃鬆)》之銘言: : 大家好 : 小弟是Mathematica的新手(用的是Mathematic 7) : 最近因為要跑一些數值法所以才剛接觸不久 : 目前碰到了以下兩個問題 請各位幫忙解答 : 1.請問要怎麼把Mathematica畫完的圖 : 裡面的資料輸出成excel.orign可以處理的檔案 Plot的話,你的圖//InputForm,被Line包起來的就是你要的點 Plot3D的話,你的圖//InputForm,被GraphicsComplex包起來的第一個元素 就是你要的點,其他的則是修飾圖形的資料 其他的ContourPlot、ContourPlot3D...方法不全然相同,但類似 (* 在你的圖裡面的任意level尋找被line包起來的東西,把它命名為pts,再轉輸出*) pts1=Cases[你的圖,Line[pts__]:>pts,Infinity] : 目前有看過export這個指令 但是輸出來的用excel打開是橫的 : 而且充滿一堆{}.[].以及英文字母 完全不知道該怎麼處理.. : 目前想到的是自己用Get coordinate抓坐標自己繪圖 : 也有查到用 : data = Table[{x,x^2,x^3,x^4},{x,0,20}]; : Export["data.csv",data] (* 如果有很多函數,那就會分別存在不同工作表 *) Export["pts1.xls",pts1] : 不過他的間隔單位是1 而我需要的間隔單位很小很小(約10^-4) : 所以也是不知道該怎麼處理 : 2.怎麼把兩張圖畫成一張圖? : 目前查到SHOW這個指令或是用PLOT畫在一起 : 不過我想要的是兩張圖不同區間可以合在同一張圖上 : 例如A的範圍是0~1 B的範圍是1~2 我想把AB合在一起畫成0~2 : 能有指令的話最好 目前我想到的是把資料抓出來再自己重畫 : 不過資料也抓不出來(崩潰) : 拜託各位高手救救小弟 資料都抓出來了,ListPlot[{資料1,資料2}] plot1 = Plot[Sin[x], {x, 0, 2 Pi}] plot2 = Plot[2 + Sin[x], {x, 0, 2 Pi}] plot3 = Plot3D[Sin[x + y], {x, 0, 2 Pi}, {y, 0, 2 Pi}] (* [[1]]只的事第一個元素,把[[1]]想成就是抓第一條件的資料 *) threesmall1 = Cases[plot1, Line[threesmall__] :> threesmall, Infinity][[1]]; threesmall2 = Cases[plot2, Line[threesmall__] :> threesmall, Infinity][[1]]; (* 這邊的[[1]]只的是指抓資料點,其他的修飾圖形的資料就不抓取了 *) threesmall3d = Cases[plot3, GraphicsComplex[threesmall3d__] :> threesmall3d, Infinity][[1]] ListLinePlot[{threesmall1, threesmall2}] ListPlot3D[threesmall3d] ListPlot3D[{#[[1]], #[[2]], Abs[#[[3]]]} & /@ threesmall3d] -- 養花種魚數月亮賞星星 http://chungyuandye.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.172.104.128 ※ 文章網址: http://www.ptt.cc/bbs/Mathematica/M.1412467042.A.B40.html ※ 編輯: chungyuandye (1.172.104.128), 10/05/2014 08:08:55

10/05 12:46, , 1F
我成功了 謝謝你!!!
10/05 12:46, 1F

10/08 23:47, , 2F
10/08 23:47, 2F
文章代碼(AID): #1KC8bYj0 (Mathematica)
文章代碼(AID): #1KC8bYj0 (Mathematica)