How to add zeros to the end of a column vector

70 Ansichten (letzte 30 Tage)
john iceton
john iceton am 7 Sep. 2021
Kommentiert: Image Analyst am 8 Sep. 2021
I have two colum vectors that of uneven length that need to be added together as seen below:
a =
1
2
3
4
5
6
7
8
9
b =
1
2
3
4
5
How can I pad colum b from 5 onwards with zeros to allow the vectors to be added ?

Antworten (2)

Dave B
Dave B am 7 Sep. 2021
You can use padarray for this (or you can just do [b; zeros(numel(a)-numel(b),1)])
a = (1:9)'
a = 9×1
1 2 3 4 5 6 7 8 9
b = (1:5)'
b = 5×1
1 2 3 4 5
c=padarray(b,numel(a)-numel(b),0,'post')
c = 9×1
1 2 3 4 5 0 0 0 0
c2=[b; zeros(numel(a)-numel(b),1)] % alternate
c2 = 9×1
1 2 3 4 5 0 0 0 0
a+c
ans = 9×1
2 4 6 8 10 6 7 8 9
  1 Kommentar
Dave B
Dave B am 7 Sep. 2021
you can even set the last value to zero and matlab will fill in the blanks:
a = (1:9)';
b = (1:5)';
b(numel(a)) = 0
b = 9×1
1 2 3 4 5 0 0 0 0
a+b
ans = 9×1
2 4 6 8 10 6 7 8 9

Melden Sie sich an, um zu kommentieren.


Chien Poon
Chien Poon am 7 Sep. 2021
b(length(b)+1:length(a)) = 0;

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by