Use forLoop to manipulate values of elements in a specific column
显示 更早的评论
I created the following 5x5 matrix with no data:
mat = zeros(5:5)
mat =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
I would like to use a for loop to generate the following result
mat =
0 0 0 0 0
0 0 0 10 0
0 0 0 20 0
0 0 0 30 0
0 0 0 40 0
I attempted using the following code, but the operation was performed on the first column - not the 4th, as I had intended.
for i = 2:length(mat(:,4))
mat(i) = mat(i-1) + 10;
end
This was the actual result
mat =
0 0 0 0 0
10 0 0 0 0
20 0 0 0 0
30 0 0 0 0
40 0 0 0 0
I imagine this is a simple syntax problem, but I am not finding the solution in any of the forums. Any help is appreciated.
Thanks
采纳的回答
更多回答(1 个)
lsutiger1
2015-12-5
0 个投票
You have only specified the row that you want to manipulate; you need to specify both the row and column.
mat(i) = mat(i-1,4) + 10;
4 个评论
Walter Roberson
2015-12-5
Perhaps you mean
mat(i,4) = mat(i-4,4) + 10;
?
lsutiger1
2015-12-5
Yep. I left a comment on his question, rather than an answer, so as I was writing an actual answer I missed it.
Life of a coder.
JZ
2015-12-5
lsutiger1
2015-12-6
That's because you used i-4 rather than i-1.
类别
在 帮助中心 和 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!