How to make vectors zero when adding two different size vectors?

I know how to make vectors add such as x=[1 2 3] and y=[-1 2 -1] and it should return as [0 4 2] But when adding two different length vectors such as x=[1 2 3 4 5] and y=[-1 -2 3[], then y should first be transformer to [0 0 -1 -2 3] and the function returns as [1 2 2 2
function y = adding(a,b)
if length(a) == length(b), y=b+a; end
if length(a) < length(b), y=a+ zeros(1,length(a)-length(b)); end
if length (a) > length(b), y=b+ zeros(1,length(b)-length(a)); end
end

 Accepted Answer

function Z = adding(A,B)
d = numel(A)-numel(B);
Z = [zeros(1,-d),A] + [zeros(1,d),B];
end
and tested:
>> adding([1,2,3,4,5],[-1,-2,3])
ans =
1 2 2 2 8

More Answers (0)

Categories

Find more on Signal Processing Toolbox in Help Center and File Exchange

Asked:

on 30 Jan 2017

Edited:

on 30 Jan 2017

Community Treasure Hunt

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

Start Hunting!