How to display the result of a cycle in a single matrix of a certain size

Hello, I have a cycle:
l=[];
m=[1 0 2 3 5 7 1; 1 0 2 3 5 7 1]
for k=1:2
r=m(k,1:7);
for j=r
if j==0
z = zeros(1,8,'int8');
z(1)=1;
l=[l; z];
else
z = zeros(1,8,'int8');
z(j+1)=j;
l=[l; z];
end
end
end
Input - a 2 strings, so as to make the output results have dimension 2x7*8 = 2x56???
In current code the results output as matrix 14x8

3 Comments

Why are you setting all of z to 0 each time?
Which variable are you hoping will become 2 x 56 ?
To represent each symbol, such 1 as a 0 1 0 0 0 0 0 0.
When the input data - string, each symbol of m is displayed as above specified sequence. That is a sequence of 1 х 8 * 7 =1 х 56.
I would like to dimension a variable l had 2x56.

Sign in to comment.

 Accepted Answer

I think you are looking for something like this:
m=[1 0 2 3 5 7 1; 1 0 2 3 5 7 1];
lnew = zeros(2,56,'int8');
for k=1:2
l=[];
r=m(k,1:7);
for j=r
if j==0
z = zeros(8,1,'int8');
z(1)=1;
l=[l; z];
else
z = zeros(8,1,'int8');
z(j+1)=j;
l=[l; z];
end
end
lnew(k,:) = l;
end
note: lnew is the matrix with size 2x56

More Answers (0)

Categories

Asked:

on 18 Jan 2014

Commented:

on 19 Jan 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!