How can I extract the logical value in a loop (various columns)?
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Kevin Holly
2021-8-27
编辑:Kevin Holly
2021-8-27
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 个评论
Kevin Holly
2021-8-31
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Testing Frameworks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!