easy beginner question : how to sum up

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 件のコメント

John D'Errico
John D'Errico 2017 年 4 月 12 日
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 2017 年 4 月 12 日
編集済み: James Tursa 2017 年 4 月 12 日
OP is summing, not multiplying. I.e., an "outer sum" not an "outer product"

サインインしてコメントする。

 採用された回答

Star Strider
Star Strider 2017 年 4 月 12 日

1 投票

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 件のコメント

Sean de Wolski
Sean de Wolski 2017 年 4 月 12 日
How would bsxfun throw an error that implicit expansion won't?
Star Strider
Star Strider 2017 年 4 月 12 日
I’ve not tried implicit expansion without bsxfun. I’m in no rush to do so.

サインインしてコメントする。

その他の回答 (2 件)

Guillaume
Guillaume 2017 年 4 月 12 日

2 投票

If you're using R2016b or later, simply
V1 + V1.'
In earlier versions
bsxfun(@plus, V1, V1.')
Paul Hoffmann
Paul Hoffmann 2017 年 4 月 13 日

0 投票

thx for the answer - helped a lot !

カテゴリ

ヘルプ センター および File ExchangeVariables についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by