Simple For loop through a Column
70 次查看(过去 30 天)
显示 更早的评论
I Have a for loop that iterates through a data table and based on certain criteria it will replace or keep the value found. The issue I have is that it only works for the fist column and does not affect the remaining columns. I put an example of my code below. The result should be a 3x4 table with the first columns being 1000, 101000, 1000. and then should repeat in the other 3 columns. How do i get it to iterate through correctly?
NumRows=3
MDL= [0.5;0.5;0.5]
x=(1:4)
y=(101:104)
TABLE=[x;y;x]
g=1;
Collum=1;
k=1;
RowTurnedTable=TABLE(:,Collum)
for i=1:NumRows;
if RowTurnedTable(i) < MDL(i)
TABLE(i)=MDL(i)*10
else TABLE(i) = TABLE(i)*1000
end
end
0 个评论
采纳的回答
Image Analyst
2018-1-13
Your loop loops over rows, not columns. Try this:
numRows=3;
MDL= [0.5;0.5;0.5]
x=(1:4);
y=(101:104);
TABLE=[x;y;x]
g=1;
column=1;
k=1;
RowTurnedTable=TABLE(:, column) % Not sure what this is for.
for row = 1 : numRows
if RowTurnedTable(row) < MDL(row)
TABLE(row, :)=MDL(row)*10; % Never happens!
else
TABLE(row, :) = TABLE(row, :)*1000;
end
end
TABLE
更多回答(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!