Re: [問題] 關於 數字"123E-10" 的讀寫

看板Mathematica作者 (養花種魚數月亮賞星星)時間11年前 (2013/07/15 19:17), 編輯推噓5(5010)
留言15則, 4人參與, 最新討論串2/3 (看更多)
※ 引述《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

07/15 19:20, , 1F
非常感謝您,我試試看!!
07/15 19:20, 1F

07/15 19:43, , 2F
chungyuandye老師,你可能看錯原po的輸入格式了。他的
07/15 19:43, 2F

07/15 19:48, , 3F
檔案是用aE+b的格式存數據的。
07/15 19:48, 3F

07/15 19:52, , 4F
您好,我發現我的問題可能不是很聰明,
07/15 19:52, 4F

07/15 19:54, , 5F
我發現我用:f = OpenRead["來源"]
07/15 19:54, 5F

07/15 19:54, , 6F
然後 data = ReadList[f, {Number}]
07/15 19:54, 6F

07/15 19:55, , 7F
就可以了,不過現在有另一個問題,就是:
07/15 19:55, 7F

07/15 19:56, , 8F
輸入的會是{{Number1},{Number2}...{Number3}}
07/15 19:56, 8F

07/15 19:57, , 9F
不知道有沒有辦法再旁邊多加兩個我想要的矩陣元
07/15 19:57, 9F

07/15 19:57, , 10F
例如:{{Number1,i1,j1},{Number2,i2,j2}...}
07/15 19:57, 10F

07/15 19:58, , 11F
我會在試試,謝謝您的回答
07/15 19:58, 11F

07/16 13:49, , 12F
sorry,不過我試了一下 與459篇一樣都可以用
07/16 13:49, 12F

07/16 13:50, , 13F
Import[file,"Data"] Mathematica會自動判斷資料格式
07/16 13:50, 13F

07/18 11:45, , 14F
好像是耶。我忘記上次遇到有問題的狀況是什麼了...
07/18 11:45, 14F

07/25 23:19, , 15F
?NumberF0rm? 須更正為 NumberForm ^^
07/25 23:19, 15F
文章代碼(AID): #1HuzelWo (Mathematica)
文章代碼(AID): #1HuzelWo (Mathematica)