我试图从文件中读取数据并在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);
答案 0 :(得分:1)
假设文件不是很大,最简单的方法可能是读取整个文件并将输出索引到所需的行。
line = [6 11 111 127];
fileID = fopen('file.txt');
C = textscan(fileID,'%s','delimiter','\n');
fclose(fileID);
disp(C{1}(line))