作者查詢 / terryys
作者 terryys 在 PTT 全部看板的留言(推文), 共336則
限定看板:全部
看板排序:
10F推:有沒有試過用allocate來配置記憶體?可能會跟固定的不同05/23 15:16
1F推:初始值是0,所以最小值在第6個 可以用minloc(a(1:5))05/10 14:46
1F推:i0代表用最少位數寫出這個整數 i0.6是前面加0直到6個位05/07 21:28
1F→:這個情況下format用i0或者i0.X會比較簡單05/07 17:27
2F推:你的問題是不知道怎麼樣把1M個資料分成1000個loop寫出來嗎05/07 11:40
3F推:另外這個矩陣其實不大,就算是real(8)也才24MB而已05/07 11:45
7F推:其實雙層loop就可以解決你的問題了,不用寫1k個loop出來05/07 17:24
1F推:linux用ifort沒有問題,大概是你編譯器的選項或者安裝問題?04/27 00:07
4F推:要是設定都有弄好的話,g95 graetz.f就應該可以了04/27 00:12
6F推:環境變數path有加上g95所在的路徑,假設你是用g9504/27 00:20
7F→:或者你不嫌麻煩也可以打上g95的整個路徑04/27 00:21
10F推:可以參考http://blog.yam.com/dindinda/article/3676642904/27 00:24
11F→:就是像c:\g95\g95 graetz.f04/27 00:25
15F推:剛剛在win7裝了g95,也是這樣 但是warning只是警告,error04/27 00:47
16F→:才是最主要的 雖然這個warning也顯示了程式碼的小問題04/27 00:48
17F→:想解決這個warning就要把變數宣告那裡相關的陣列設成0:XXX04/27 00:49
19F→:有幾個變數需要這樣做,然後最下面是一個error,說陣列的04/27 00:50
20F→:index不可以用浮點數表示,所以需要把k變成整數04/27 00:53
22F推:這份程式碼比較奇怪,fortran的陣列都是1開始的,但它寫的04/27 01:00
23F→:好像c一樣,當成是0開始了04/27 01:01
24F→:Error: Array index at (1) must be of INTEGER type04/27 01:02
25F→:你是說這個錯誤嗎?04/27 01:02
27F推:奇怪我看不見這個,但它確實是有問題,跟上面的一樣04/27 01:07
29F推:還有就是它以前拿k當浮點數的地方都要看看 k/100之類的04/27 01:11
30F→:要變成k/100.或者類似的才不會變成整數相除04/27 01:11
32F推:在cmd裡運行就不會04/27 01:17
33F推:或者在最後的end前加上call system('pause')04/27 01:21
34F→:留意nqt也要加個0,不然最後那裡也會有問題04/27 01:22
36F推:是從1到5001的5001個數值,所以它想用第0個就可能有問題04/27 01:33
1F推:你這樣只是找了一個比相鄰大的位子而已,應該用一個變數存04/25 21:56
2F→:現在的最大值和位置,要是下一個比這個大就取代04/25 21:57
3F→:或者用maxloc04/25 21:57
1F推:算面積的loop應該是先讀取五個坐標以後再算面積?現在04/26 11:34
2F→:看起來是讀一個坐標算一次04/26 11:34
3F→:還有totala那裡應該是總面積嗎?04/26 11:35
7F推:總面積的話你現在沒有累加啊,只是一個五角形的面積,不過04/26 13:21
8F→:這不是大問題04/26 13:22
9F→:我覺得應該先讀取iBins裡的那幾個坐標,然後再用這些坐標04/26 13:22
10F→:算面積 還有那堆if應該不需要,直接用x(1) x(2)之類就可以04/26 13:24
3F推:可以用一個很大的數字,例如1000F6.4,答案少於1000都可以03/27 14:07
4F→:或者你可以參考以前的問題,有很多都很像你現在的問題03/27 14:08
1F推:試試只用A,後面不加數字03/20 12:40
5F推:應該是網上看的吧,google fortran format看看03/20 14:15