Allocate certain numbers to create a new matrix from A and B
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
JL
el 28 de Ag. de 2019
Comentada: madhan ravi
el 28 de Ag. de 2019
Hi everyone, just having this thought. I have two matrices A and B.
A = [1 1 1 0;
1 1 0 0;
0 1 0 1;];
B = [1 2;
1 3;
2 4;
1 5;];
I want to create C by allocating each row of B, depending whether A rows has zero or one. For example, row 1 of A with 1 1 1 0, first coloum is 1 so allocate 1 2; colum 2 is 1 3; column 3 is 2 4; column 4 is empty. Image below how it should look like in C.
0 comentarios
Respuesta aceptada
madhan ravi
el 28 de Ag. de 2019
c=repmat(1:size(A,2),size(A,1),1);
v=(A==1) .* c;
vv=cell2mat(arrayfun(@(x) B(x,:),nonzeros(v.'),'un',0));
Rows_of_A=mat2cell(vv,sum(A,2));
celldisp(Rows_of_A)
10 comentarios
madhan ravi
el 28 de Ag. de 2019
You would be better off, if you ask a new question , I am not able to cope up with what you want or which one you're after , after all you already get the result which you showed in the original question.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical 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!