Iterating array of chars and saving to table or cell
조회 수: 24 (최근 30일)
이전 댓글 표시
I want to make a loop that would allow me to iterate using this function
GeneontObj(temp(i,1)).terms.definition;
For example if I'll do
T = GeneontObj(temp(1,1)).terms.definition
I will receive
T = ""A multimeric enzyme complex, usually a dimer or an octamer,
that catalyzes the conversion of 2-phospho-D-glycerate to phosphoenolpyruvate and water."
[GOC:jl, ISBN:0198506732]"
My iterator has about 1500 records, and I would like to save an array like T above to a table, each row for each iteration.
With other data than char/strings I'd do something like:
result = zeros(length(temp), 1)
for i = 1:length(temp)
result(i) = GeneontObj(temp(i,1)).terms.definition;
end
but because it is char i have an error:
Unable to perform assignment because the left and right sides have a different number of elements.
It would be perfect, if there is a way to store this data in table, but cell array will also work.
댓글 수: 0
채택된 답변
J. Alex Lee
2021년 6월 5일
편집: J. Alex Lee
2021년 6월 5일
Try this, if your function actually returns strings as your output suggests (rather than a char array)
result = strings(length(temp), 1)
for i = 1:length(temp)
result(i) = GeneontObj(temp(i,1)).terms.definition;
end
But this is not a "table" in the sense of a matlab table data type...
댓글 수: 2
J. Alex Lee
2021년 6월 5일
Glad it helps. You shouldn't have to go through a cell array, you should be able to just do
studyResult = array2table(result)
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Tables에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!