作者kingpipi (屁屁翹)
看板Fortran
標題[問題] 如何降低有效位數,爬文都找不到相關資料><
時間Fri May 21 22:19:25 2010
最近老師在學校拍給我們的作業
是使用高斯消去法解聯立方程式
解出來之後,還必須使用iteative refinement修正解答使解答更正確
因為老師有說必需使用3個digit來做計算,這樣比較明顯
但我不知道該如何改成3-digit來去做計算
請各位大大幫忙!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.25.19
1F:→ gdi2000520:REAL(kind=??) 05/22 10:15
2F:推 motoman:是不是指 要用到小數點下第三位?? 05/22 10:17
3F:→ gdi2000520:請找篇數562 樓上大大是作者 05/22 10:18
4F:→ kingpipi:我試了一下real(kind=??)的方法,但我還是不太懂如果使用 05/22 17:16
5F:→ kingpipi:real(kind=4) or real(kind=8) 可以,但我用了real(kind= 05/22 17:16
6F:→ kingpipi:3) 就說錯誤,所以我現在還是無解 05/22 17:17
7F:→ kingpipi:可以請大大幫忙寫一下a=2.587426985乘b=6.2578336使用三 05/22 17:18
8F:→ kingpipi:個DIGIT(儲存到小數點下三位)的方法寫個簡單的程式嗎,拜 05/22 17:19
9F:→ kingpipi:託 05/22 17:19
10F:→ motoman:不是= = 你kind設4or8 都行 你輸出格式要打F10.3 3在這裡 05/22 17:34
11F:→ motoman:kind是數字的儲存大小 一般不支援3 05/22 17:35
12F:→ motoman: write(*,"(F10.3)") a*b 05/22 17:35
13F:→ kingpipi:我想大大你誤會我意思了,我主要是要讓他a=2.587乘 05/22 17:45
14F:→ kingpipi:b=6.259這樣去算,而不是算完之後輸出結果所顯示的格式 05/22 17:46
15F:→ kingpipi:我主要是想讓計算的精度降低,才能看的出高斯消去法所會 05/22 17:47
16F:→ kingpipi:產生的誤差 05/22 17:47
17F:→ acyang:我會先乘上1000取整數後再除以1000 05/22 18:41
18F:推 motoman:抱歉搞錯! 就用樓上這個方法吧 05/22 19:51
19F:→ kingpipi:謝謝各位的幫忙目前好像也只有acyang大的方法可行,感謝 05/23 00:19