作者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