Multiplying two vectors to form a matrix
Show older comments
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.
Accepted Answer
More Answers (2)
x = rand(601,1) ;
y = rand(601,1) ;
iwant = sqrt(x.^2+y'.^2) ;
size(iwant)
Walter Roberson
on 25 Feb 2022
D = sqrt(x.'.^2 + y.^2)
4 Comments
Walter Roberson
on 25 Feb 2022
Nikola Segedin
on 25 Feb 2022
Jan
on 25 Feb 2022
@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
on 25 Feb 2022
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!