Fortran Coder

查看: 16249|回复: 6

[求助] 逻辑问题,一直搞不懂

[复制链接]

15

帖子

5

主题

0

精华

熟手

F 币
129 元
贡献
65 点

规矩勋章

发表于 2020-12-14 09:38:50 | 显示全部楼层 |阅读模式
已知Gi=ix*ex+iy*ey,Gj=jx*ex+jy*ey,ix取值范围是1-3,iy取值范围是1-3,jx取值范围是1-3,jy取值范围是1-3
现在定义G1=1*ex+1*ey,G2=2*ex+1*ey,G3=3*ex+1*ey,G4=1*ex+2*ey,G5=2*ex+2*ey,G6=3*ex+2*ey,G7=1*ex+3*ey,G8=2*ex+3*ey,G9=3*ex+3*ey,
定义Gij=Gi-Gj=(ix-jx)*ex+(iy-jy)*ey,举例G11=G1-G1=(1-1)*ex+(1-1)*ey,G32=(3-2)*ex+(1-1)*ey
现在我想用语言来实现这个逻辑关系,求大佬帮帮忙,万分感谢!!!!!!

250

帖子

2

主题

0

精华

宗师

F 币
1730 元
贡献
872 点

规矩勋章

发表于 2020-12-14 09:48:50 | 显示全部楼层
这是个3*3的矩阵吧

15

帖子

5

主题

0

精华

熟手

F 币
129 元
贡献
65 点

规矩勋章

 楼主| 发表于 2020-12-14 10:48:40 | 显示全部楼层
necrohan 发表于 2020-12-14 09:48
这是个3*3的矩阵吧

应该算是吧,应该是两个3*3的点坐标相减

250

帖子

2

主题

0

精华

宗师

F 币
1730 元
贡献
872 点

规矩勋章

发表于 2020-12-14 15:30:02 | 显示全部楼层
不知道你要的是不是这个意思

[Fortran] 纯文本查看 复制代码
program test
implicit none
integer i,j,n
real ex,ey,g,tmp

n=9;
ex=1;ey=1

do i=1,n-1
  tmp=g(i,ex,ey)-g(i+1,ex,ey)
  write(*,*)i,tmp
enddo

end

real function g(i,ex,ey)
implicit none
integer i
integer row,col
real ex,ey
row=mod(i,3)
col=i/3+1
if(row==0)then
  row=3
  col=col-1
endif
!write(*,*)i,row,col
g=row*ex+col*ey
end

15

帖子

5

主题

0

精华

熟手

F 币
129 元
贡献
65 点

规矩勋章

 楼主| 发表于 2020-12-14 16:20:40 | 显示全部楼层
necrohan 发表于 2020-12-14 15:30
不知道你要的是不是这个意思

[mw_shl_code=fortran,true]program test

不是,我要的不是求Gij的值,我是想要每个位置的坐标

15

帖子

5

主题

0

精华

熟手

F 币
129 元
贡献
65 点

规矩勋章

 楼主| 发表于 2020-12-14 16:21:19 | 显示全部楼层
本帖最后由 Botton 于 2020-12-14 16:22 编辑

C:\Users\hyj\Desktop.IMG_1554.jpg
IMG_15541.JPG

796

帖子

2

主题

0

精华

大宗师

F 币
3787 元
贡献
2266 点
发表于 2020-12-14 17:52:54 | 显示全部楼层
ix(9)=[1,2,3,1,2,3,1,2,3]
iy(9)=[1,1,1,2,2,2,3,3,3]
G(i,j) = (ix(i)-ix(j))*ex + (iy(i)-iy(j))*ey
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-19 06:17

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表