Filter löschen
Filter löschen

Simple For loop through a Column

29 Ansichten (letzte 30 Tage)
Matt Brianik
Matt Brianik am 13 Jan. 2018
Kommentiert: Matt Brianik am 15 Jan. 2018
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

Akzeptierte Antwort

Image Analyst
Image Analyst am 13 Jan. 2018
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

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by