How can I extract the logical value in a loop (various columns)?

2 Ansichten (letzte 30 Tage)
Hello, I'm runnning my code and my logical value is running, what I would like to do is exctract the logical value for several columns (from column 5 to 10) can I do it in a loop or I have to name various variables and then join them?
idx=logical(idx);
[X,Y]= meshgrid(T2.length,T.length);
C = X(idx);
D = Y(idx);
delta = (C - D);
t = table(D,C,delta);
T2 and T are the table were I'm talking the values lenght is in the 5th column and I would like to do the same for column 6,7,8,9,10 is it possible without naming them again? and then do the substraction?
have a nice Friyay

Akzeptierte Antwort

Kevin Holly
Kevin Holly am 27 Aug. 2021
Bearbeitet: Kevin Holly am 27 Aug. 2021
is this what you are looking for?
idx=logical(idx);
for i = 5:10
[X,Y]= meshgrid(T2.(i),T.(i));
C = X(idx);
D = Y(idx);
delta = (C - D);
T(i-4).table = table(D,C,delta);
end
  4 Kommentare
Kevin Holly
Kevin Holly am 31 Aug. 2021
NewTable = []
for i =1:5
M = table2array(T(i).table) %table(D,C,delta);
NewTable = [NewTable M]
end
FinalTable = array2table(NewTable,"VariableNames",["D1","C1","delta1","D2","C2","delta2","D3","C3","delta3","D4","C4","delta4","D5","C5","delta5"]);
or
idx=logical(idx);
M = [];
for i = 5:10
[X,Y]= meshgrid(T2.(i),T.(i));
C = X(idx);
D = Y(idx);
delta = (C - D);
M = [M D,C,delta]
end
t = array2table(M,"VariableNames",["D1","C1","delta1","D2","C2","delta2","D3","C3","delta3","D4","C4","delta4","D5","C5","delta5"]);
You can also generate a string of variable names, which you can automate as well if you just want to add numbers to them.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Variables 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