How to replace 2x2 zero sub matrices by different 2x2 matrices ?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
How to replace 2x2 zero submatrix of B with 2x2 matrices different matrice.I have 12 matrices of size 2x2 and want to replace zeros of B by those matrices.
B =
0.8776 0.6513 0 0 0 0 0 0
0.0144 0.8646 0 0 0 0 0 0
0 0 0.2943 0.0560 0 0 0 0
0 0 0.1799 0.8169 0 0 0 0
0 0 0 0 0.9263 0.5289 0 0
0 0 0 0 0.0682 0.6944 0 0
0 0 0 0 0 0 0.5811 0.2124
0 0 0 0 0 0 0.6372 0.5433
Thanks
8 Commenti
Guillaume
il 18 Mar 2019
The loop would imply that you want to create 12 matrices. However, since it overwrites the matrices in the previous step, you'll end up with only 3 matrices. The ones created on the last step of the loop.
While you say that you have 12 matrices, your I want solution in this form implies that there are only 3 matrices, which are rotated on each row.
A bit confusing as to what you have.
I doubt it will be difficult to do what you want, but the method will vary depending on exactly what it is that you want. So, please clarify.
Risposta accettata
Matt J
il 18 Mar 2019
Modificato: Matt J
il 18 Mar 2019
basically i want solution in this form
x p1 p2 p3
p1 x p2 p3
p1 p2 x p3
p1 p2 p3 x
C={zeros(2), p1,p2,p3};
result=B+cell2mat( C(toeplitz(1:4)) );
3 Commenti
Matt J
il 18 Mar 2019
Very similar to things I've already mentioned:
B(B==0)=cat(3,matrix4,matrix7,matrix10,matrix1,matrix8,matrix11,...
matrix2,matrix5,matrix12,matrix3,matrix6,matrix9);
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!