Subtracting Two Matrices of different sizes

How do I do the following subtraction: let X = [302 64] where all values in X are either 0s or 1s
A= X - X';
A=[302 64] - [64 302];
How do I find subtract these?

3 Comments

What size are you expecting the result to be?
For any one entry in the result, say A(J,K), how should A(J,K) be computed?
Walter, Was expecting [302 302]; additionally I'm subtracting [302 64] - [64 140] and would like this to equal [302 140]. Hope this is possible as I'm stuck with many errors in do loop. Thx, Allen
For any one entry in the result, say A(J,K), how should A(J,K) be computed?

Sign in to comment.

 Accepted Answer

T1 = X; %the left side
T2 = X'; %whatever the right side is
if any(size(T1) < size(T2))
T1(size(T2,1),size(T2,2)) = 0; %zero pad
end
if any(size(T2) < size(T1))
T2(size(T1,1),size(T1,2)) = 0; %zero pad
end
A = T1 - T2;

More Answers (1)

Hi
do you mean something like this?
%A,B: inputs matrices
%C output matrix
N = max([size(A,1) size(B,1)]);
M = max([size(A,2) size(B,2)]);
An = zeros(N,M);
Bn = zeros(N,M);
An(1:size(A,1), 1:1:size(A,2)) = A;
Bn(1:size(B,1), 1:1:size(B,2)) = B;
C = An-Bn

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

AR
on 18 Dec 2015

Commented:

AR
on 20 Dec 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!