Borrar filtros
Borrar filtros

if i have matrix how to do this operation on it ??

2 visualizaciones (últimos 30 días)
Firas Al-Kharabsheh
Firas Al-Kharabsheh el 28 de Abr. de 2016
Editada: dpb el 29 de Abr. de 2016
and if i have this matrix A , a , b
A = [ 1 3
1 1
2 2
2 0 ]
a = [ 4 which mean how there is one in A
2
4
2 ]
b = [ 2 which mean how there is element in A
2
2
1 ]
after that i want to do this
F = zeros(4,5);
for k=1:n
if m == ( a(k) + ( b(k) - 1 ))
IF the condition is true then goes to the same k row in A and put it in F the ones like that
After apply this loop then in first row and in third row the condition is true
F = [ 1 0 1 1 1
0 0 0 0 0
1 1 0 1 1
0 0 0 0 0 ]
  3 comentarios
Firas Al-Kharabsheh
Firas Al-Kharabsheh el 28 de Abr. de 2016
n in number of rows and m is number of columns in F
Firas Al-Kharabsheh
Firas Al-Kharabsheh el 28 de Abr. de 2016
in the loop for example m=5 , first row
if 5 == ( 4 + ( 2-1) ) >>>> true then
look at matrix A in first row {1,3} which mean there is two
group of ones the first group is 1 and the second is three ones and there
is a one zero between the groups this mean is
F(1) = [ 1 0 1 1 1 ]

Iniciar sesión para comentar.

Respuesta aceptada

dpb
dpb el 29 de Abr. de 2016
Editada: dpb el 29 de Abr. de 2016
>> m=5; n=length(A); % define sizes
>> F=zeros(n,m); % preallocate output
>> ix=find(sum(A,2)+sum(A~=0,2)-1==m); % rows contain some ones
>> F(ix,:)=1; % start with all '1'
>> F(sub2ind(size(F),ix,A(ix,1)+1))=0 % zero the locations not '1'
F =
1 0 1 1 1
0 0 0 0 0
1 1 0 1 1
0 0 0 0 0
>>

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by