easy beginner question : how to sum up

2 visualizaciones (últimos 30 días)
Paul Hoffmann
Paul Hoffmann el 12 de Abr. de 2017
Respondida: Paul Hoffmann el 13 de Abr. de 2017
I think this i quite easy for you guys - but ive not found an answer yet (perhaps because my english skills are limitated) I want to summ up two vektors like this V1 = [1 2 3] V2 = V1' (the transposed vektor) and I want to get the ?inner? sum
1 2 3
1
2
3
so that i get a matrix with this relsult ( so just row plus column )
2 3 4
3 4 5
4 5 6
would be really nice if you can help me. thx a lot
  2 comentarios
John D'Errico
John D'Errico el 12 de Abr. de 2017
You called this an inner sum. But really, the correct term would be a generalized outer product.
https://en.wikipedia.org/wiki/Outer_product
James Tursa
James Tursa el 12 de Abr. de 2017
Editada: James Tursa el 12 de Abr. de 2017
OP is summing, not multiplying. I.e., an "outer sum" not an "outer product"

Iniciar sesión para comentar.

Respuesta aceptada

Star Strider
Star Strider el 12 de Abr. de 2017
Use the bsxfun function with the @plus function:
A = [1 2 3];
B = bsxfun(@plus, A(:), A)
B =
2 3 4
3 4 5
4 5 6
(In R2017a, this implicit expansion is done automatically. I still prefer bsxfun because it will throw an error if I do something wrong.)
  2 comentarios
Sean de Wolski
Sean de Wolski el 12 de Abr. de 2017
How would bsxfun throw an error that implicit expansion won't?
Star Strider
Star Strider el 12 de Abr. de 2017
I’ve not tried implicit expansion without bsxfun. I’m in no rush to do so.

Iniciar sesión para comentar.

Más respuestas (2)

Guillaume
Guillaume el 12 de Abr. de 2017
If you're using R2016b or later, simply
V1 + V1.'
In earlier versions
bsxfun(@plus, V1, V1.')

Paul Hoffmann
Paul Hoffmann el 13 de Abr. de 2017
thx for the answer - helped a lot !

Community Treasure Hunt

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

Start Hunting!

Translated by