Fortran Coder

查看: 15390|回复: 7
打印 上一主题 下一主题

[文件读写] Fortran读规定格式文本文件中复数矩阵的难题

[复制链接]

18

帖子

3

主题

0

精华

熟手

F 币
116 元
贡献
73 点
跳转到指定楼层
楼主
发表于 2014-5-8 20:57:22 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在下用VS2010 + IVF写了一个读任意m × n阶复矩阵的函数,含有复矩阵的文件格式如下图所示。


我的fortran77代码如下所示:
[Fortran] 纯文本查看 复制代码
!========================================
          ! Open file in ANSI mode
          open(UNIT = fid, FILE = strFileName,
     &         ACCESS = 'SEQUENTIAL', ACTION = 'READ',
     &         FORM = 'FORMATTED', STATUS = 'OLD')

          ! This is a m X n complex matrix as:
          read(fid, *) strBuf, strBuf, strBuf, 
     &    m, strBuf, n, strBuf, strBuf, strBuf

          ! Memory allocation for A
          allocate(A(m,n), STAT = ierr)
          ! Out of memory
          if (ierr .ne. 0) then
              close(fid, STATUS = 'KEEP')
              print *, 'Out of memory!'
              ReadZMatrixFromFile32 = .false.
              return
          end if

          ! Read matrix from file in row-major format
          ! 下一行肯定是错的,但我真心不知道咋整了。。。
          read(fid, *) ((A(i,j), j=1,n), i=1,m)

          ! Close file
          close(fid, STATUS = 'KEEP')
!======================================

还望大神们指点迷津啊~
Thanks in advance!

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

18

帖子

3

主题

0

精华

熟手

F 币
116 元
贡献
73 点
沙发
 楼主| 发表于 2014-5-8 21:36:44 | 显示全部楼层
首先拜谢大神,我马上将您的代码弄进去试试~~~
P.S: 我也弄不清是77还是90,因为在下是C coder过来的,所以很多时候对fortran的东东还很迷糊。。。

18

帖子

3

主题

0

精华

熟手

F 币
116 元
贡献
73 点
板凳
 楼主| 发表于 2014-5-8 22:50:55 | 显示全部楼层
再次膜拜大神,学生的接口函数全弄好了,多亏了大神才能让学生实现Matlab、C、Fortran的数据文件无缝衔接~~~
大神方便留个qq吗?当然学生绝不会经常打扰的~~~
学生的qq是45152364~
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-6 15:39

Powered by Tencent X3.4

© 2013-2024 Tencent

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