Fortran Coder

查看: 8337|回复: 3
打印 上一主题 下一主题

[求助] 新人初学,fortran中数组的定义和运用

[复制链接]

6

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
20 点
跳转到指定楼层
楼主
发表于 2020-7-14 18:41:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在学习数组的声明与使用的过程中,对数组的理解仍然有些迷惑举例来说,如果声明

real, dimension(2:6, 11) :: Y


那么Y究竟是怎样的形式呢,是一个5*11的矩阵,还是一个不规则的形状,第一行5个数,第二行11个数这样。谢谢各位老师了

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

159

帖子

2

主题

1

精华

大师

Vim

F 币
961 元
贡献
469 点

规矩勋章

沙发
发表于 2020-7-14 20:42:54 | 只看该作者
是一个5*11的矩阵,它的第一个指标是从2开始的

如果直接写a(5,11)这种,第一个指标是从1开始的(而不是0)

Fortran可以定义从任意指标开始的数组,比如
[Fortran] 纯文本查看 复制代码
real a(-1:5)

就是一个指标从-1开始的一维数组

6

帖子

2

主题

0

精华

入门

F 币
54 元
贡献
20 点
板凳
 楼主| 发表于 2020-7-15 23:01:35 | 只看该作者
Transpose 发表于 2020-7-14 20:42
是一个5*11的矩阵,它的第一个指标是从2开始的

如果直接写a(5,11)这种,第一个指标是从1开始的(而不是0)

谢谢解答
刚刚又在判断类例题里面发现了一种奇怪的情况,假设还是声明
real, dimension(2:6, 11) :: Y

在调用时使用语句 Y(3, 1:10:2),这种连用两个冒号的情况我没有在任何教材中读到,所以判断此例是错误的。是否有我不知道的使用方法会以1:10:2这种形式呢

250

帖子

2

主题

0

精华

宗师

F 币
1730 元
贡献
872 点

规矩勋章

地板
发表于 2020-7-16 08:17:20 | 只看该作者
爾果 发表于 2020-7-15 23:01
谢谢解答
刚刚又在判断类例题里面发现了一种奇怪的情况,假设还是声明
real, dimension(2:6, 11) :: Y

1:10:2表示第1,3,5,7,9个元素,输出看一下就知道了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-2 18:37

Powered by Tencent X3.4

© 2013-2024 Tencent

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