How to subtract symbol associated matrix columnwise
    10 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  ANKUR KUMAR
      
 on 13 Jul 2021
        
      Edited: ANKUR KUMAR
      
 on 13 Jul 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{:})
More Answers (1)
  Walter Roberson
      
      
 on 13 Jul 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 Comments
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



