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

17 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Stephen23
Stephen23 am 30 Jan. 2017
Bearbeitet: Stephen23 am 30 Jan. 2017
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

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by