Change matrix elements in a loop?
3 次查看(过去 30 天)
显示 更早的评论
I am trying to figure out how to use a for loop to change the elements in a matrix.
I want to do this ten times.
For example, if row 1 of a 6x3 matrix is (a,a,0), I want to make a loop that generates row 2 as (2a,2a,0). I am basically trying to multiply the initial row to make all 6 rows increase by a multiple of a.
Thank you in advance for any suggestions!
0 个评论
采纳的回答
Star Strider
2015-11-6
No loop necessary. Use bsxfun:
M = randi(9, 6, 3);
Mm = bsxfun(@times, M, [1:size(M,1)]')
This multiplies every row of ‘M’ by the column vector [1 2 ... 6]'.
8 个评论
Star Strider
2015-11-6
I can’t run your code because I have no idea what you are doing and the inputs should be. Please attach a .mat file with the appropriate size and values for ‘type’. Use the ‘paperclip’ icon, and complete both the ‘Choose file’ and ‘Attach file’ steps.
My code does what you want it to, as you requested, but I can’t troubleshoot it with your code without the appropriate data.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!