声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1054|回复: 3

[编程技巧] 每n行取一行数据

[复制链接]
发表于 2006-12-9 00:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
实验数据太多(40961行,m列, ),想每20行取一行数据,下面以一列为例:
test1.txt
1
2



40961

输入命令:
function Column1
N=40961;
fin=fopen('test1.txt','r');
fout=fopen('out.txt','w');
x=zeros(N,1);
x=fscanf(fin,'%d');
for i=1:N/20;
    fprintf(fout,'%15.9f\n',x(1+(i-1)*20));
end
fclose(fin);
fclose(fout);

显示出错信息:
??? Index exceeds matrix dimensions.

Error in ==> D:\MATLAB6p5\work\Column1.m
On line 9  ==>     fprintf(fout,'%15.9f\n',x(1+(i-1)*20));

请教各位高手有什么好的办法解决啊?
回复
分享到:

使用道具 举报

发表于 2006-12-9 09:20 | 显示全部楼层
用向量的方式;
newArray = oldArray(1:20:end)

评分

1

查看全部评分

发表于 2006-12-9 09:27 | 显示全部楼层
N=40961;
fin=fopen('test1.txt','r');
fout=fopen('out.txt','w');
x=fscanf(fin,'%d');
xx=x(1:20:40961,1:m)  %%%%%

评分

1

查看全部评分

 楼主| 发表于 2006-12-9 12:24 | 显示全部楼层
问题已解决,谢谢tla & pengweicai!

[ 本帖最后由 robin908 于 2006-12-9 12:28 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-6-16 02:28 , Processed in 0.111816 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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