[問題] 如何降低有效位數,爬文都找不到相關資料><

看板Fortran作者 (屁屁翹)時間14年前 (2010/05/21 22:19), 編輯推噓2(2017)
留言19則, 4人參與, 最新討論串1/1
最近老師在學校拍給我們的作業 是使用高斯消去法解聯立方程式 解出來之後,還必須使用iteative refinement修正解答使解答更正確 因為老師有說必需使用3個digit來做計算,這樣比較明顯 但我不知道該如何改成3-digit來去做計算 請各位大大幫忙! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.25.19

05/22 10:15, , 1F
REAL(kind=??)
05/22 10:15, 1F

05/22 10:17, , 2F
是不是指 要用到小數點下第三位??
05/22 10:17, 2F

05/22 10:18, , 3F
請找篇數562 樓上大大是作者
05/22 10:18, 3F

05/22 17:16, , 4F
我試了一下real(kind=??)的方法,但我還是不太懂如果使用
05/22 17:16, 4F

05/22 17:16, , 5F
real(kind=4) or real(kind=8) 可以,但我用了real(kind=
05/22 17:16, 5F

05/22 17:17, , 6F
3) 就說錯誤,所以我現在還是無解
05/22 17:17, 6F

05/22 17:18, , 7F
可以請大大幫忙寫一下a=2.587426985乘b=6.2578336使用三
05/22 17:18, 7F

05/22 17:19, , 8F
個DIGIT(儲存到小數點下三位)的方法寫個簡單的程式嗎,拜
05/22 17:19, 8F

05/22 17:19, , 9F
05/22 17:19, 9F

05/22 17:34, , 10F
不是= = 你kind設4or8 都行 你輸出格式要打F10.3 3在這裡
05/22 17:34, 10F

05/22 17:35, , 11F
kind是數字的儲存大小 一般不支援3
05/22 17:35, 11F

05/22 17:35, , 12F
write(*,"(F10.3)") a*b
05/22 17:35, 12F

05/22 17:45, , 13F
我想大大你誤會我意思了,我主要是要讓他a=2.587乘
05/22 17:45, 13F

05/22 17:46, , 14F
b=6.259這樣去算,而不是算完之後輸出結果所顯示的格式
05/22 17:46, 14F

05/22 17:47, , 15F
我主要是想讓計算的精度降低,才能看的出高斯消去法所會
05/22 17:47, 15F

05/22 17:47, , 16F
產生的誤差
05/22 17:47, 16F

05/22 18:41, , 17F
我會先乘上1000取整數後再除以1000
05/22 18:41, 17F

05/22 19:51, , 18F
抱歉搞錯! 就用樓上這個方法吧
05/22 19:51, 18F

05/23 00:19, , 19F
謝謝各位的幫忙目前好像也只有acyang大的方法可行,感謝
05/23 00:19, 19F
文章代碼(AID): #1BzfPmfV (Fortran)
文章代碼(AID): #1BzfPmfV (Fortran)