爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6835|回复: 14

[求助] 求大神帮忙看看程序哪儿出错了~~用fortran编程将单列数据按要求变为矩阵

[复制链接]

新浪微博达人勋

发表于 2013-4-1 21:26:00 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 竹外桃 于 2013-4-2 22:27 编辑

打算将50年的列数据变为日对齐的矩阵。(为百分法求阈值做准备)
fortran程序如下:
program main
real a(366,50),b(18300)
integer i,j,k,n
open(1,file = 'F:\in.dat')
open(2,file = 'F:\out.dat')
read(1,*) (b(i),i=1,18262)
k=0
j=0
do n=1961,2010
j=j+1
if(mod(n,4)>0) then
do i=1,365
  k=k+1
a(i,j)=b(k)
end do
else
do i=1,366
k=k+1
a(i,j)=b(k)
end do
end if
end do
do i=1,366
write(2,'(1x,366i6)')(a(i,j),j=1,50)
end do
end
程序能够运行,不过结果不是预想的。我想将年作为列,日作为行,把单列数据变成366*50的行列式,运行结果却是366*50的星号。
谢谢大家~~~


in.dat

96.18 KB, 下载次数: 0, 下载积分: 金钱 -5

原数据

out.dat

55.04 KB, 下载次数: 0, 下载积分: 金钱 -5

运行结果

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-1 21:51:50 | 显示全部楼层
结果怎么预想不一样啊?好歹描述一下啊。花10个金币把数据下载下来还要替你算一遍,一般人是不会这么做的吧。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-1 21:58:11 | 显示全部楼层
哦,其实数据不看也行。
50年的温度数据,我想把以年作为列,日为行,就应该是366*50或者365*50的行列式。但是结果是3660*5的行列式。
谢谢啊~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-1 22:02:06 | 显示全部楼层

谢谢提醒~~,我还不知道下这个附件要金币呢~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-1 22:12:20 | 显示全部楼层
本帖最后由 lqouc 于 2013-4-1 22:13 编辑
竹外桃 发表于 2013-4-1 21:58
哦,其实数据不看也行。
50年的温度数据,我想把以年作为列,日为行,就应该是366*50或者365*50的行列式。 ...


那个是因为文本文件的自动换行问题,其实我看你的矩阵部分是没有问题的,得到的数组也是对的。两个办法解决,一个是在write的时候加个换行控制,另一个是输出为二进制。

评分

参与人数 1金钱 +10 收起 理由
mofangbao + 10

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-1 22:17:54 | 显示全部楼层
lqouc 发表于 2013-4-1 22:12
那个是因为文本文件的自动换行问题,其实我看你的矩阵部分是没有问题的,得到的数组也是对的。两个办法 ...

好的,我试试看~~谢了哦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-1 22:19:28 | 显示全部楼层
请问楼主,你的百分法程序是如何处理的呢?很想学习一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-2 08:03:44 | 显示全部楼层
用matlab导入数据,在进行数组转换,就ok了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-4-2 09:00:49 | 显示全部楼层
竹外桃 发表于 2013-4-1 21:58
哦,其实数据不看也行。
50年的温度数据,我想把以年作为列,日为行,就应该是366*50或者365*50的行列式。 ...

下次请在提问专区发帖
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-2 09:36:42 | 显示全部楼层
楼主可以直接把代码贴上来,这样大家方便给你看,不用耗费金币
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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