Hi everyone! I'm trying to assign string from a structure to a array.
If I try
array=SIGNAL(:).label;
in the command window I get all the strings, but I want to assign it to a variable. If I try with
array=SIGNAL(:).label;
or
array{:}=SIGNAL(:).label;
I just get one of the labels. If I try with...
for i=1:length(SIGNAL)
array(i,:)=SIGNAL(i).label;
end
It works, but I'm trying to do it without a for in order to save time.

 채택된 답변

Stephen23
Stephen23 2021년 5월 4일
편집: Stephen23 2021년 5월 4일

2 개 추천

Use a comma-separated list:
Depending on the data class of your data:
array = [SIGNAL.label]; % strings
array = {SIGNAL.label}; % cell array of char vectors
For example:
A(1).C = 'hello'; % char
A(1).S = "cat"; % string
A(2).C = 'world'; % char
A(2).S = "hat"; % string
S = [A.S] % string
S = 1×2 string array
"cat" "hat"
C = {A.C} % cell of char
C = 1×2 cell array
{'hello'} {'world'}

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Structures에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by