How can I extract the logical value in a loop (various columns)?
조회 수: 1 (최근 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?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/723244/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/723249/image.png)
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!