How to subtract symbol associated matrix columnwise
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Vincent Ike
le 13 Juil 2021
Commenté : Vincent Ike
le 14 Juil 2021
A = [A; B; C; D]
B = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
% my desired output is
C =
A-1 A-2 A-3 A-4
B-5 B-6 B-7 B-8
C-9 C-10 C-11 C-12
D-13 D-14 D-15 D-16
Thanks alot!
0 commentaires
Réponse acceptée
ANKUR KUMAR
le 13 Juil 2021
Modifié(e) : ANKUR KUMAR
le 13 Juil 2021
You cannot simply substract these two matrices, becasue B contains integers (double), and A has strings.
You need to convert B to strings, and then you can use cat function to get the desired output.
A = {'A','B', 'C', 'D'};
B = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];
B_str=arrayfun(@num2str,B,'un',0);
C=arrayfun(@(index) strcat(A{index},'-',B_str(index,:)), 1:size(B,2),'uni',0);
output_matrix=cat(1,C{:})
Plus de réponses (1)
Walter Roberson
le 13 Juil 2021
syms A B C D
A1 = [A; B; C; D]
B = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A1 - B
2 commentaires
Voir également
Catégories
En savoir plus sur Symbolic Variables, Expressions, Functions, and Preferences dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!