Subtracting Two Matrices of different sizes

5 次查看(过去 30 天)
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 个评论
AR
AR 2015-12-18
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
Walter Roberson
Walter Roberson 2015-12-18
For any one entry in the result, say A(J,K), how should A(J,K) be computed?

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2015-12-18
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;

更多回答(1 个)

Renato Agurto
Renato Agurto 2015-12-18
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

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by