How to define a struct array with length more than one and assign values to one of the strucy array?
이전 댓글 표시
Dear All,
I have a real array A. I want to define a struct array S to save the colculation reslut of element in A to the corresponding struct.
For example, A = [1 0.2 3 0.4 5 6]. I want to define strucy array S (with length 6) to save the calaulation result of elements in A.
S(1) = struct('A.1', A(1), 'Result', A(1)^2);
S(3) = struct('A.3', A(3), 'Result', A(3)^2);
S(4) = struct('A.4', A(4), 'Result', A(4)^2);
S(6) = struct('A.6', A(6), 'Result', A(6)^2);
I only want to save these 4 values.
My question is:
1). How to define S?
2). How to assign values to S?
Thanks a lot.
Benson
채택된 답변
추가 답변 (1개)
Steven Lord
2020년 10월 12일
편집: Steven Lord
2020년 10월 12일
A.1 is not a valid struct field name.
With something this simple, I probably wouldn't use a struct array.
A = [1 0.2 3 0.4 5 6]
Asquared = A.^2
If you wanted to store these in one array rather than two, since the result of the operation is the same type and size as the data on which you're operating, you can store them as rows of the array:
B = [A; Asquared]
or as a table array:
C = table(A.', Asquared.', 'VariableNames', ["A", "A^2"]) % If you're using R2019b or later
C = table(A.', Asquared.', 'VariableNames', ["A", "A_squared"]) % R2019a or earlier
카테고리
도움말 센터 및 File Exchange에서 Dates and Time에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!