Re: [讨论] 读取档案的问题

楼主: s871526117 (安安)   2017-08-30 15:58:27
※ 引述《sintyy ( )》之铭言:
: 请问各位,我现在有个档案内容的一部分如下
: 12
: 34
: 56
: 78
: 9a
: bc
: de
: f0
: 每个数值是一个16进位的数
: 我现在想要把这一堆数据分割成以下四堆
: a1 = [1 3 5 7];
: a2 = [2 4 6 8];
: a3 = [9 b d f];
: a4 = [a c e 0];
: 目前我只会用textread('data.txt', '%s') 把档案以string读进来
: 但碰到两问题
: 一是我不会分割左右两数字
: (我知道可以在text档中用空白键隔开两数据来分割,但数据实在太多这样做没效率)
: 二是我不会利用中间的空行判断断点
: 请问各位可以赐教吗??
试试看这样子呢?
clear
clc
f=fopen('data.txt');
frewind(f);
i=1;
a1=[];
a2=[];
while ~feof(f)
d=fgetl(f);
if isempty(d)
i=i+1;
eval(['a',num2str(2*i-1),'=[];']);
eval(['a',num2str(2*i),'=[];']);
else
eval(['a',num2str(2*i-1),'=[a',num2str(2*i-1),',d(1)];']);
eval(['a',num2str(2*i),'=[a',num2str(2*i),',d(2)];']);
end
end
f=fclose(f);

Links booklink

Contact Us: admin [ a t ] ucptt.com