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!