How to separate the elements of a table with their names?
조회 수: 1 (최근 30일)
이전 댓글 표시
Attached is the table. I need to plot rad vs k_val and total vs k_val for each individual k_name. The output would be TWO plots each have all k_names plot stacked: K10, K11, K12, K1, K2, K6 and so on.
My question is how to separate the Xs and Ys from table based on their k_name. One way is by all k_names in a for loop if the ith and ith+1 k_name are the same or not.
I wanted to check whether there is easier way so that I can avoid for loop? I dont want to separate them by their period as their frequency might alter.
댓글 수: 2
답변 (1개)
Ajay Pattassery
2019년 10월 29일
I am not sure of getting rid of the for-loop. But the following code can achieve what you are looking for neatly.
Assume T is the name of the table.
k_names = unique(T.k_name);
for value = 1:length(k_names)
h = string(T.k_name) == k_names(value);
rad(:,value) = T.rad(h);
k_val(:,value) = T.k_val(h);
total(:,value) = T.total(h);
end
plot(rad,k_val);
plot(total,k_val);
댓글 수: 2
Walter Roberson
2019년 10월 29일
Note that this assumes that there are the same number of occurances of each name.
참고 항목
카테고리
Help Center 및 File Exchange에서 Tables에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!