Multiplying two vectors to form a matrix
古いコメントを表示
Hello, I have two vectors x and y, both 601x1. I want to multiply them to form a matrix of 601x601, but the values inside the matrix have to be sqrt(x^2+y^2). How do I do this? Thanks.
採用された回答
その他の回答 (2 件)
x = rand(601,1) ;
y = rand(601,1) ;
iwant = sqrt(x.^2+y'.^2) ;
size(iwant)
Walter Roberson
2022 年 2 月 25 日
D = sqrt(x.'.^2 + y.^2)
4 件のコメント
Walter Roberson
2022 年 2 月 25 日
Nikola Segedin
2022 年 2 月 25 日
Jan
2022 年 2 月 25 日
@Nikola Segedin: Which Matlab versionare you using? Since R2016b an "implicit expanding" is applied. For former versions:
D = sqrt(bsxfun(@plus, x.'.^2, y.^2))
Nikola Segedin
2022 年 2 月 25 日
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!