如何在矩阵中保存文件名并在 Matlab 中保存每次迭代(for 循环)的结果?
How can I save a file name in a matrix and the result on each iteration (for-loop) in Matlab?
我有一个包含 140 个 (*.txt) 文件的文件夹,我需要在矩阵中保存这些文件名和 for 循环中的过程结果。我试过这个:
class= fullfile('*.txt');
D = dir(class);
%% for-loop
data=zeros(length(D),2);
for kk=1:length(D);
blockname = D(kk).name;
%process > result(kk);
data(kk,1)=result(kk);
data(kk,2)= blockname;
end
但显示此错误消息
data(kk,2)= 区块名;
???下标赋值维度不匹配。
因为
块名=
block_100.txt
我不知道怎么解决。感谢您的帮助
在 MATLAB 中,您不能在矩阵中混合使用数字和字符串。您必须使用 cell 才能这样做。尝试使用 {} 而不是 () 编写相同的代码。
data{kk,1} = result(kk);
data{kk,2} = blockname;
我不知道你所说的 "the result of the process" 是什么意思,但是,你的问题的解决方案之一是
clear all
clc
D = dir('*.txt');
data = cell(length(D), 2);
for kk=1:length(D);
blockname = D(kk).name;
%process > result(kk);
data{kk,1}= kk; %<-- replace kk with whatever you mean by the result of the process
data{kk,2}= blockname;
end
data
结果是
数据=
[1] 'AA.txt'
[2] 'BB.txt'
[3] 'CC.txt'
要访问数据元素,请对第一个元素执行 data(1,1)
,依此类推。
您可以在不使用循环的情况下执行该解决方案,因此,替代解决方案是
clear all
clc
D = dir('*.txt');
data = cell(length(D), 2);
data(:,1) = {1}; %<-- replace 1 with whatever the result of the process is
data(:,2) = {D(:).name};
data
结果是
数据=
[1] 'AA.txt'
[1] 'BB.txt'
[1] 'CC.txt'
我有一个包含 140 个 (*.txt) 文件的文件夹,我需要在矩阵中保存这些文件名和 for 循环中的过程结果。我试过这个:
class= fullfile('*.txt');
D = dir(class);
%% for-loop
data=zeros(length(D),2);
for kk=1:length(D);
blockname = D(kk).name;
%process > result(kk);
data(kk,1)=result(kk);
data(kk,2)= blockname;
end
但显示此错误消息
data(kk,2)= 区块名; ???下标赋值维度不匹配。
因为
块名=
block_100.txt
我不知道怎么解决。感谢您的帮助
在 MATLAB 中,您不能在矩阵中混合使用数字和字符串。您必须使用 cell 才能这样做。尝试使用 {} 而不是 () 编写相同的代码。
data{kk,1} = result(kk);
data{kk,2} = blockname;
我不知道你所说的 "the result of the process" 是什么意思,但是,你的问题的解决方案之一是
clear all
clc
D = dir('*.txt');
data = cell(length(D), 2);
for kk=1:length(D);
blockname = D(kk).name;
%process > result(kk);
data{kk,1}= kk; %<-- replace kk with whatever you mean by the result of the process
data{kk,2}= blockname;
end
data
结果是
数据=
[1] 'AA.txt'
[2] 'BB.txt'
[3] 'CC.txt'
要访问数据元素,请对第一个元素执行 data(1,1)
,依此类推。
您可以在不使用循环的情况下执行该解决方案,因此,替代解决方案是
clear all
clc
D = dir('*.txt');
data = cell(length(D), 2);
data(:,1) = {1}; %<-- replace 1 with whatever the result of the process is
data(:,2) = {D(:).name};
data
结果是
数据=
[1] 'AA.txt'
[1] 'BB.txt'
[1] 'CC.txt'