Numpy Adding two vectors with different sizes

2019-04-03 07:28发布

If I have two numpy arrays of different sizes, how can I superimpose them.

a = numpy([0, 10, 20, 30])
b = numpy([20, 30, 40, 50, 60, 70])

What is the cleanest way to add these two vectors to produce a new vector (20, 40, 60, 80, 60, 70)?

This is my generic question. For background, I am specifically applying a Green's transform function and need to superimpose the results for each time step in the evaulation unto the responses previously accumulated.

2条回答
做个烂人
2楼-- · 2019-04-03 07:40

This could be what you are looking for

if len(a) < len(b):
    c = b.copy()
    c[:len(a)] += a
else:
    c = a.copy()
    c[:len(b)] += b

basically you copy the longer one and then add in-place the shorter one

查看更多
一夜七次
3楼-- · 2019-04-03 07:41

If you know that b is higher dimension, then:

>>> a.resize(b.shape)
>>> c = a+b

is all you need.

查看更多
登录 后发表回答