How can I use different array names in a loop?
이전 댓글 표시
Hello,
Suppose I have 4 arrays as,
a_1_b;
a_2_b;
a_3_b;
a_4_b
all the arrays are of same size. I want to add something in the first column of each of the arrays, but I am not sure how to do this. as example:
for i=1:4
a_i_b(:,1)=a_i_b(:,1)+7
end
this is not the right way. Can anyone please show me the correct way?
Thanks!
채택된 답변
추가 답변 (3개)
Jan
2013년 6월 11일
See http://www.mathworks.com/matlabcentral/answers/57445-faq-how-can-i-create-variables-a1-a2-a10-in-a-loop: It is strongly recommended not to hide indices in the names of variables, but touse indices instead.
ab = cell(1, 4);
ab{1} = rand(2,3);
ab{2} = rand(2,3);
ab{3} = rand(2,3);
ab{4} = rand(2,3);
for k = 1:4
ab{k}(:,1) = ab{k}(:,1) + 7
end
Andrei Bobrov
2013년 6월 11일
n = sprintf('a_%d_b,',1:4);
a_b = eval(['{',n(1:end-1),'}']);
a_b = cellfun(@(x)[x(:,1) + 7,x(:,2:end)],a_b,'un',0);
카테고리
도움말 센터 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!