如何从文件读取并在Matlab中的所需行中显示数据

时间:2018-10-04 10:43:57

标签: matlab file

我试图从文件中读取数据并在Matlab中的第6、11、111和127行中显示数据。我不知道该怎么做。我一直在寻找Matlab论坛和该平台的答案。我使用了fscanf,textscan和其他功能,但它们并未按预期工作。我也使用了for循环,但输出又不是我想要的。我现在只能读取一行并显示它。我只是想同时显示所有它们(上面给定行中的数据)。我该怎么办?

matlab代码

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section data-week="1" data-date="10/10">
  Section 1
</section>
<section data-week="1" data-date="10/11">
  Section 2
</section>

这是文件

n = [0 :1: 127];

%% Problem 1
figure
x1 = cos(0.17*pi*n)
%it creates file and writes content of x1 to the file
fileID = fopen('file.txt','w');
fprintf(fileID,'%d \n',x1);
fclose(fileID);
%line number can be changed in order to obtain wanted values. 
fileID = fopen('file.txt');
line = 6;
C = textscan(fileID,'%s',1,'delimiter','\n', 'headerlines',line-1);
celldisp(C)
fclose(fileID);

1 个答案:

答案 0 :(得分:1)

假设文件不是很大,最简单的方法可能是读取整个文件并将输出索引到所需的行。

line = [6 11 111 127];
fileID = fopen('file.txt');
C = textscan(fileID,'%s','delimiter','\n');
fclose(fileID);
disp(C{1}(line))