Matlab从记事本读取和绘制文本文件数据,
我试图通过Matlab读取我的数据,然后绘制它,但是我的代码使用fscanf和/或textscan,文件被读取为一个数组,并将数据一个接一个地作为字符,这使得无法绘制。就像每个字符/整数都是一个数组。我的数据如下所示:Matlab从记事本读取和绘制文本文件数据,,matlab,text,text-files,notepad,Matlab,Text,Text Files,Notepad,我试图通过Matlab读取我的数据,然后绘制它,但是我的代码使用fscanf和/或textscan,文件被读取为一个数组,并将数据一个接一个地作为字符,这使得无法绘制。就像每个字符/整数都是一个数组。我的数据如下所示: Time Volt Chan 1 chan 2 chan 3 chan 4 chan 5 chan 6 chan 7 3333.222 222.33 0.2334 0.3444 0.2233 0.44
Time Volt Chan 1 chan 2 chan 3 chan 4 chan 5 chan 6 chan 7
3333.222 222.33 0.2334 0.3444 0.2233 0.4455 -0.733 0.3333 0.12345
3333.222 0.2323 0.4566 0.3456 0.2453 0.4563 -0.753 0.2356 0.23455
我想分别绘制时间数据与伏特和其他通道的关系。有人能帮忙吗?我知道这里的数据看起来是错误的,但是每个通道有两组数据。似乎除了第一行之外,文件的其余部分都是有序的。 尝试使用
fgetl
读取第一行,然后使用textscan
比如:
fid = fopen( filename );
firstLine = fgetl( fid );
C = textscan( fid, '%f', 9 );
volt = [];
tm = [];
ch = zeros(0, 7);
while ~isempty(C{1})
volt( end + 1 ) = C{1}(1);
tm( end + 1 ) = C{1}(2);
ch( end + 1, : ) = C{1}(3:end)';
C = textscan( fid, '%f', 9 );
end
figure;
plot( tm , volt ); title('volt vs time');
figure;
plot( tm, ch ); legend({'c1', 'c2', 'c3', 'c4', 'c5', 'c6', c7'});
title('chnnels vs time');
txt文件的格式是否与您报告的格式相同?或者以标准的表格方式,以任何变量作为标题,以相关值作为属性?为什么不使用输入数据集和预期(手动)输出的屏幕截图更新您的问题。这真的很有帮助,叫我视觉:D