How do I fill a matrix with values of an one array based on another array?
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a 1x5001 array Rr which contains radial distances from a pointsource. I also have an 5001x 1 array Wzr which is the weight vs. radial distance. Also there is a constant dr.
Now I need to make a 2D matrix (5000 x 5000) which is Wzr2D(a,b) = Wzr (Rr(a,b)/dr)
For example if Rr(1,2) = 10 and dr = 2 then I need the value of Wzr(5) to be placed in the matrix Wzr2D at the position (1,2).
I am a super beginner at MATLAB and I don't ever know where to begin to link all this together.
1 个评论
Adam Danz
2020-7-1
To begin, learn about indexing.
It shouldn't take much time to work through that page. Indexing is necessary to know if you're using Matlab and it's a very basic tool.
回答(1 个)
TADA
2020-7-1
编辑:TADA
2020-7-1
If I understood correctly, try this:
Wzr2D(1,:) = Wzr(Rr(1:5000) / dr)
This should work if you can guarantee that all values of Rr/dr are valid indices of Wzr, that is, integers between 1 and 5001
1 个评论
TADA
2020-7-1
I'm not sure why you want to dispose the last element of your data though, nor what's the extra dimention of Wzr2D for
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!