MATLAB: How to make vectors zero when adding two different size vectors

functionhomeworkvectors

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

Best 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