作者snowanimal (動物先生)
看板Fortran
標題Re: [問題] 連續變數名稱跟加法的設定
時間Tue May 14 21:59:03 2013
※ 引述《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)
1F:→ zmack0905:我剛剛試寫發現我用三維陣,還是要多寫一層去處理+1~+9 05/15 10:29
2F:→ zmack0905:所以算上三維的維數變數,DO總共有四層? 05/15 10:30