看板 Mathematica 關於我們 聯絡資訊
※ 引述《a29788685 (嘉峰)》之銘言: : 您好,想請問, : 我有一個檔案txt,裡面有XXXE-10之類的數字, : 意思就是:例如123E-10=123*10^-10的意思, : 但在mathematica中E會讀成自然常數e, : 因為數字非常多,不可能一個一個改,想請問有沒有人有比較好的解決方法? : 感謝 利用NumberForm來處理科學符號輸出 ?NumberFOrm ?ExponentFunction (* 隨機資料 *) test = N@RandomInteger[{0, 10}, {5, 10}]/6000000 (* 如果資料在正負無窮大之間,不使用科學記號,*) (* 但是對排版來說不方便的原因是小數點的位數不一 *) TableForm[ Map[NumberForm[#, ExponentFunction -> (If[-Infinity < # < Infinity, Null, #] &)] &, test, {2}]] (* 不取科學記號,每個數字取十位數字,小數點9位,不到9位的補0 *) TableForm[ Map[NumberForm[#, {10, 9}, ExponentFunction -> (If[-Infinity < # < Infinity, Null, #] &)] &, test, {2}]] -- 養花種魚數月亮賞星星 http://chungyuandye.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.130.173
a29788685:非常感謝您,我試試看!! 07/15 19:20
leo80042:chungyuandye老師,你可能看錯原po的輸入格式了。他的 07/15 19:43
leo80042:檔案是用aE+b的格式存數據的。 07/15 19:48
a29788685:您好,我發現我的問題可能不是很聰明, 07/15 19:52
a29788685:我發現我用:f = OpenRead["來源"] 07/15 19:54
a29788685:然後 data = ReadList[f, {Number}] 07/15 19:54
a29788685:就可以了,不過現在有另一個問題,就是: 07/15 19:55
a29788685:輸入的會是{{Number1},{Number2}...{Number3}} 07/15 19:56
a29788685:不知道有沒有辦法再旁邊多加兩個我想要的矩陣元 07/15 19:57
a29788685:例如:{{Number1,i1,j1},{Number2,i2,j2}...} 07/15 19:57
a29788685:我會在試試,謝謝您的回答 07/15 19:58
chungyuandye:sorry,不過我試了一下 與459篇一樣都可以用 07/16 13:49
chungyuandye:Import[file,"Data"] Mathematica會自動判斷資料格式 07/16 13:50
leo80042:好像是耶。我忘記上次遇到有問題的狀況是什麼了... 07/18 11:45
Frobenius:?NumberF0rm? 須更正為 NumberForm ^^ 07/25 23:19