Allocate certain numbers to create a new matrix from A and B
1 回表示 (過去 30 日間)
古いコメントを表示
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.
![Table.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/235540/Table.png)
0 件のコメント
採用された回答
madhan ravi
2019 年 8 月 28 日
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 件のコメント
madhan ravi
2019 年 8 月 28 日
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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!