看板 Fortran 關於我們 聯絡資訊
現在在寫矩陣的程式 遇到要提出矩陣最大值並除掉的問題 有查書查到一些指令可以直接抓出最大值 real*8 Amatrix_max(1) Amatrix_max= MAXVAL(Amatrix) 可是我要把矩陣每個直都除以這個最大值 A2matrix=Amatrix/Amatrix_max 他就會出現 Error: The shapes of the array expressions do not conform. A2matrix=Amatrix/Amatrix_max Error: The shapes of the array expressions do not conform. [A2MATRIX] A2matrix=Amatrix/Amatrix_max 不知道有沒有人可以幫我解決 還有~如果矩陣換成2維的也會發生一些問題,書上並沒有特別說明這個指令的用法 Amatrix=[1 2 3 4 5 6 7 8 9]<---------原來的矩陣 最大值應該為9 每個直都除9的話 應該 A2matrix=[0.11 0.22 0.33 0.44 0.55 0.66 0.77 0.88 1.00]<-------------我想要的結果 在這邊先謝謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.137.93 ※ 編輯: nike3238 來自: 163.13.137.93 (06/18 18:08) ※ 編輯: nike3238 來自: 163.13.137.93 (06/18 18:09)
hiyiyi:Amatrix_max不設成矩陣試試,另外A2matrix有宣告成矩陣嗎? 06/18 20:47
charlesdc:照樓上的方法就可以了 設成矩陣會有形態錯誤的問題 06/18 22:31
charlesdc:應該是稱作維度錯誤啦~~XD 06/19 00:49
nike3238:恩~感謝回覆~應該可以用!!不過我自己用do 寫出來了 06/19 18:00
MHG:Amatrix_max(1)= MAXVAL(Amatrix) and 06/21 19:11
MHG:A2matrix=Amatrix/Amatrix_max(1) 06/21 19:11
MHG:要不然就是用1樓的方法囉~ 06/21 19:12
laa7352:原po那樣寫法是陣列除陣列,但二個陣列的維度不同就會出錯 06/22 00:41
laa7352:修正的話不要把最大值的變數設陣列,或跟樓上一樣指定陣列 06/22 00:42
laa7352:的元素就可以了 06/22 00:42