Re: [問題] 連續變數名稱跟加法的設定

看板Fortran作者 (動物先生)時間11年前 (2013/05/14 21:59), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串2/5 (看更多)
※ 引述《zmack0905 (降太)》之銘言: : 標題: [問題] 連續變數名稱跟加法的設定 : 時間: Tue May 14 17:07:26 2013 : : 1.我現在有許多變數s1(i,j) s2(i,j)....s20(i,j) : : 請問我非得一個一個打出來嗎....? : : 2.S1(i,j) = S1(i,(j-1)*3+1)+S1(i,(j-1)*3+2)+S1(i,(j-1)*3+3) : S1(i,(j-1)*3+4)+S1(i,(j-1)*3+5)+S1(i,(j-1)*3+6) : S1(i,(j-1)*3+7)+S1(i,(j-1)*3+8)+S1(i,(j-1)*3+9) : : 我利用迴圈將同一個變數中不同位置的相加 : (此即為九宮格之和填入其中一格的意思) : 請問我也比把+1~+9通通打出來嗎囧!? : : : 因為全部的變數還蠻多個.想請教比較簡便的寫法 : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.120.29.185 : → snowanimal:不能設定為三維矩陣嗎? 05/14 17:47 : : 或許是個方法=口=!!!只是後面的運算步驟就會變得有一點抽象了... : 另外請教一下可以宣告多維可變矩陣嗎?手邊只有彭國輪的一維範例... 多維同一維,所以你有20個S,同樣可以設定為 real S(i,j,k) | 只不過k = 1~20,把k當作S1~S20的記數變數就好 : → snowanimal:第二個問題,一樣使用變數下去處理就好 05/14 17:48 : : 所以說只能將+1~+9再設一格變數總共作三層的迴圈嗎?: : 這樣的話S1~S20不就還要各自宣告?有點複雜..我可能需要思考一下 : 雖然不是我想要得那種簡便宣告方式不過還是謝謝你=ˇ= 是的,用三層迴圈去包並不會有甚麼問題。 事實上用這樣的方法也比較好除錯...因為你可以每次迴圈都只讓他做一個二維 更甚者是一個二維矩陣只做一次運算,先確保東西是正確了再往下一步去算。 如果你第一個就是用三維矩陣,那麼第二個問題就不存在啦... 第二個計算只要稍微做變形處理就解決啦 (或者說根本不必變形) 補充:變數少不見得會讓你好算,因為你需要將變數"進行計算"之後才夠你用。 這麼一來,當東西越來越多,你的變數卻一直經過計算得到另外一個數字, 最後你就會很難找到問題出在哪。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.227.195.68 ※ 編輯: snowanimal 來自: 36.227.195.68 (05/14 22:03)

05/15 10:29, , 1F
我剛剛試寫發現我用三維陣,還是要多寫一層去處理+1~+9
05/15 10:29, 1F

05/15 10:30, , 2F
所以算上三維的維數變數,DO總共有四層?
05/15 10:30, 2F
文章代碼(AID): #1HaaCg9K (Fortran)
文章代碼(AID): #1HaaCg9K (Fortran)