repeat loop in a table

1 vue (au cours des 30 derniers jours)
Matt Brianik
Matt Brianik le 16 Jan 2018
Réponse apportée : Ronit le 21 Août 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

Réponses (1)

Ronit
Ronit le 21 Août 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!

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by