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

16 vues (au cours des 30 derniers jours)
Kenny Dang
Kenny Dang le 30 Jan 2017
Modifié(e) : Stephen23 le 30 Jan 2017
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

Réponse acceptée

Stephen23
Stephen23 le 30 Jan 2017
Modifié(e) : Stephen23 le 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

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by