我有
load t1.txt;
load t2.txt;
load t3.txt;
load t4.txt;
data=t1;
vector =[ 2 , 3 , 4 , 5 , 6 ];
for i = vector
[TempFlag, MemberInd] = ismember( i, vector );
fprintf('vector(%d) is %d\n', MemberInd, i);
scatter( data(:,1),data(:,2))
end
如果我想对所有4个文件进行上述循环,你会如何在向量中加载它们,所以每次迭代它都会做其他数据?。
所以我想避免:
data = t2;
(loop)
data = t3;
(loop)
等...
答案 0 :(得分:1)
您已设置data=1
,但在此行中使用它就像一个矩阵:scatter( data(:,1),data(:,2))
...应该给您一个Index exceeds matrix dimensions
错误。
假设这是一个拼写错误,并且您只想针对data
的不同值执行此操作,请使用嵌套循环。
data=[1,2,3,4];
vector=[2,3,4,5,6];
for i=data
for j=vector
<do stuff here>
end
end
修改强>
如果您的文件名为t-{a,e,i,o,u}
且数据变量的名称相同,则可以尝试以下操作:
fileName={'ta','te','ti','to','tu'};
for i=1:length(fileName)
dummy=load(sprintf('%s.txt',fileName{i}));
eval(sprintf('data=dummy.%s',fileName{i}));
<other stuff here>
end