Fortran Coder

查看: 11968|回复: 2
打印 上一主题 下一主题

[文件读写] 求助数据写入到文本文件的格式问题

[复制链接]

13

帖子

6

主题

0

精华

熟手

F 币
127 元
贡献
70 点
跳转到指定楼层
楼主
发表于 2019-10-30 06:06:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
需要将三列数据(ia,ja,acsr)输出至txt文件,单独输出一个变量时没有问题,三列同时输出的时候,ja是接在ia后面输出,acsr的值跟单独输出的时候也不一样。另,三列长度不同,ia为2401行,ja acsr为13320行。求指导如何正确输出文件。
[Fortran] 纯文本查看 复制代码
01program converters
02    implicit none
03     
04    ! Definition arrays for sparse matrix formats
05    integer,parameter :: m=2400, n=2400, lda=2400, nzmax=13320
06    integer :: ia(m+1), ja(nzmax)
07    real :: adns(m,n) , acsr(nzmax)
08     
09    ! Declairation of local variables:
10    integer :: job(8), i, j, info, ibase1, ibase2, locat
11    info = 0
12    locat = 2
13    ibase1 = 1
14    ibase2 = 1
15    job(2) = ibase1
16    job(3) = ibase2
17    job(4) = locat
18    job(5) = nzmax
19     
20    ! Task1: densly matrix to csr
21    open(11,file="Vollmatrix.txt")
22    do i=1,m
23        read(11,*) adns(i,:)
24    end do
25    close(11)
26    job(1) = 0
27    job(6) = 1
28    call mkl_sdnscsr(job, m, n, adns, lda, acsr, ja, ia ,info)
29    open(12,file="csr.txt")
30    write(12,"(2x,'IA ;',2x,'JA ;',5x,'Value ;')")
31    write(12,100) ia,ja,acsr
32100 format(I6,2x,I6,E13.5)   
33    close(12)
34     
35    end program converters

Vollmatrix.zip

179.94 KB, 下载次数: 4

file11

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

955

帖子

0

主题

0

精华

大师

F 币
188 元
贡献
77 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
沙发
发表于 2019-10-30 13:55:37 | 只看该作者
这是逻辑问题。三列长度不一样,不应该放在一起。否则后面你无法区分剩下2个数据是在哪一列?

长度一样的话:
[Fortran] 纯文本查看 复制代码
1open(12,file="csr.txt")
2write(12,"(2x,'IA ;',2x,'JA ;',5x,'Value ;')")
3do i = 1 , nzmax
4    write(12,100) ia(i),ja(i),acsr(i)
5end do
6100 format(I6,2x,I6,E13.5)  
7close(12)

13

帖子

6

主题

0

精华

熟手

F 币
127 元
贡献
70 点
板凳
 楼主| 发表于 2019-10-30 21:16:19 | 只看该作者
vvt 发表于 2019-10-30 13:55
这是逻辑问题。三列长度不一样,不应该放在一起。否则后面你无法区分剩下2个数据是在哪一列?

长度一样的 ...

感谢指导
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2025-4-30 14:11

Powered by Discuz! X3.4

© 2013-2025 Comsenz Inc.

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