repeat loop in a table

1 visualizzazione (ultimi 30 giorni)
Matt Brianik
Matt Brianik il 16 Gen 2018
Risposto: Ronit il 21 Ago 2024
How do i make it so that the code below will replace T(i)==5 with Y(i) in multiple columns of table T. I can get it to work well when there is only one columns but have trouble making it repeat in additional columns
clear
X=(1:12);
Y=(101:112);
Table = [X;Y;Y;Y;X]
T=X.'
T=[T;T]
i=1
for n=1:12
if T(i)==5
T(i)=Y(i)
else
T(i)=T(i)
i=i+1
end
end

Risposte (1)

Ronit
Ronit il 21 Ago 2024
Hello Matt,
To replace values in multiple columns of a table in MATLAB, you can loop through each column and apply the same logic.
% Convert the matrix to a table
T = array2table(T);
% Loop through each column of the table
for col = 1:width(T)
for i = 1:height(T)
if T{i, col} == 5
T{i, col} = Y(mod(i,width(X)));
end
end
end
Hope it helps!

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by