need help for take data from loop
1 view (last 30 days)
Show older comments
christiano doni
on 6 Apr 2015
Commented: christiano doni
on 6 Apr 2015
I have scrip data like this
clear all;close all;clc
c1=imread('1200TIM-20150401-0010_20150401-1054015001500-1','png');
a1=double(c1);
a1=reshape(a1,2229000,[]);
c2=imread('1200TIM-20150401-0020_20150401-1054015001500-1','png');
a2=double(c2);
a2=reshape(a2,2229000,[]);
c3=imread('1200TIM-20150401-0030_20150401-1054015001500-1','png');
a3=double(c3);
a3=reshape(a3,2229000,[]);
and I have matrix
a1=(2229000,3); a2=(2229000,3); a3=(2229000,3);
and i want to make 3 matrix data like this
red=[a1(:,1),a2(:,1),a3(:,1)]
green=[a1(:,2),a2(:,2),a3(:,2)]
blue=[a1(:,3),a2(:,3),a3(:,3)]
*my questions is how to make loop for red, grean and blue because data a1, a2 until a100, i try *
for i=1:1:3; red(:,i)=['a'num2str(i)(:,1)]; end
but its not working here
0 Comments
Accepted Answer
Philipp Maier
on 6 Apr 2015
Edited: Philipp Maier
on 6 Apr 2015
for i=1:1:3;
red(:,i)= eval(['a' num2str(i) '(:,1)'])';
end
Since I do not have the PNG-files that you are reading , I tested the code with three random variables:
a1 = rand(2229000,3);
a2 = rand(2229000,3);
a3 = rand(2229000,3);
More Answers (1)
Jan
on 6 Apr 2015
No, do not do this. It might work in this specific case, but it is in general an evil method and it produces more troubles than it solves. The problem is discussed several times a day and therefore you find it in the frequently asked questions also: http://www.mathworks.com/matlabcentral/answers/57445-faq-how-can-i-create-variables-a1-a2-a10-in-a-loop .
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!