Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
How to use correctly a string from a variable into a for loop??
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi all,
Firstly thank you for your time!
I'm working in a matlab script for data analysis and plotting from a csv file. I'm trying to use a variable name into a for loop to get the data on a specific table column but I can't get it right...
A simplified version of my code is:
CSV_Import=readtable('Data.csv');
Ch_sLap ='distancelap';
Channels={'Ch_sLap'}
sLap = CSV_Import.(Ch_sLap);
for i=1:length(Channels)
if exist(char(Channels(i)))
char(Channels(i)) = CSV_Import.((fprintf('%s\n', Channels{i})));
end
end
What I want to do is:
- Import a csv file with some data arranged in columns with headers into a table
- Find the column which is named "distancelap" on that table
- That column header (distancelap) is coming from an array of strings that I've created previously
- Then, if I find the column using this: sLap = CSV_Import.(Ch_sLap); is working fine
- But instead of that, if I use the for loop (In case I had a long Channels array) I can't make it to work because it takes "Ch_sLap" instead of its value which is "distancelap"
I can do it without the loop and just put one by one all the variables of the Channels array but I don't like it at all...
What do you think???
Thank you!!
답변 (1개)
Rajani Mishra
2020년 5월 27일
By writing below mentioned code you are creating a string variable with value as 'Ch_sLap' and storing in cell array Channels. Hence, it takes column name as 'Ch_sLap'.
Channels={'Ch_sLap'}
I created a table mentioned in the first example on this page and tried your code. I changed "Channels" array into the following way (variable 'Ch_sLap' has value 'Age') :
Channels={Ch_sLap}
for i=1:length(Channels)
myTable.(Channels{i})
end
Above code was able to print values present in 'Age' column.
댓글 수: 0
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!