subtraction ele by ele

3 views (last 30 days)
Offroad Jeep
Offroad Jeep on 5 Apr 2015
Commented: Image Analyst on 6 Apr 2015
hi all,
consider any two matrix A and B of 3X3 . i want to subtract every element of A from each element of B one by one. kindly tell the command please.
  1 Comment
Stephen23
Stephen23 on 6 Apr 2015
MATLAB allows you to do this all at once using vectorized code, rather than one-by-one. This is faster, neater, and much less buggy code!
>> A = rand(3);
>> B = rand(3);
>> A - B
ans =
-0.15016 -0.043791 0.13661
0.74818 0.14698 0.12512
-0.84361 -0.70274 0.041771

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 5 Apr 2015
Not sure what you mean so I'll offer the two possibilities:
result = A - B;
or
A = randi(100, 3, 3)
B = randi([1,9], 3, 3)
aVector = A(:)
bVector = B(:)
loopCounter = 1;
for k1 = 1 : length(aVector);
for k2 = 1 : length(bVector);
result(loopCounter) = aVector(k1) - bVector(k2);
loopCounter = loopCounter + 1;
end
end
% Print to command window
result
  2 Comments
Offroad Jeep
Offroad Jeep on 6 Apr 2015
wonderful................
Image Analyst
Image Analyst on 6 Apr 2015
So, was it the second chunk of code (which is completely different than doing A-B) that did what you want?

Sign in to comment.

More Answers (1)

David Young
David Young on 5 Apr 2015
  1 Comment
Star Strider
Star Strider on 5 Apr 2015
@4 X 4 —
David Young’s answer isn’t blank but maximally laconic. It is the ‘minus’ sign that will work for equally-sized matrices.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!