开发者

save in array vars of loaded files Matlab

开发者 https://www.devze.com 2023-02-21 12:13 出处:网络
I have load t1.txt; load t2.txt; load t3.txt; load t4.txt; data=t1; vector =[ 2 , 3 , 4 , 5 , 6 ]; for i = vector

I have

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

if I want to do the above loop with all 4 files, How would you load them in a vector or something, so with each iteration it does other data?.

So I want to avoid:

data = t2;

(loop)

data = t3;

(loop)

etc.开发者_StackOverflow社区..


You've set data=1, yet used it like a matrix in this line :scatter( data(:,1),data(:,2))... that should've given you a Index exceeds matrix dimensions error.

Assuming that was a typo, and that you just want to do it for different values of data, use nested loops.

data=[1,2,3,4];
vector=[2,3,4,5,6];

for i=data
    for j=vector
        <do stuff here>
    end
end

EDIT

If your files are named t-{a,e,i,o,u} and the data variables are named the same, then you can try the following:

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
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号