Filter löschen
Filter löschen

Assign array in field struct

2 Ansichten (letzte 30 Tage)
Luca Re
Luca Re am 8 Jul. 2023
Kommentiert: Luca Re am 9 Jul. 2023
class(Sis)
ans =
'struct'
length(Sis)
ans =
82
c=1
2
3
..
82
i want to create new field in struct
i want this:
Sis.b(1)=1;
Sis.b(2)=2;
..
Sis.b(82)=82;
now i want to semplify calculate
c=1:82
c=c'
>> [Sis.b]=c
Insufficient number of outputs from right hand side of equal sign to satisfy assignment.
  3 Kommentare
Vilém Frynta
Vilém Frynta am 9 Jul. 2023
oh, i misunderstood. thanks
Luca Re
Luca Re am 9 Jul. 2023
already fixed thanks

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Paul
Paul am 9 Jul. 2023
Example data
Sis(1).a = 1;
Sis(2).a = 2;
Sis(3).a = 3;
c = [30 40 50];
Assign elements of c to new field of elements of Sis
temp = num2cell(c);
[Sis.b] = temp{:};
Sis.b
ans = 30
ans = 40
ans = 50
Or in one line
clear
Sis(1).a = 1;
Sis(2).a = 2;
Sis(3).a = 3;
c = [30 40 50];
[Sis.b] = table2struct(table(c')).Var1;
Sis.b
ans = 30
ans = 40
ans = 50
  3 Kommentare
Walter Roberson
Walter Roberson am 9 Jul. 2023
When you use table() and pass in an expression (instead of a variable name) then table() automatically uses 'Var' followed by the column number as the name of the variable. So for example table([10;20]; [30;40]) would produce a 2 x 2 table with variables 'Var1' and 'Var2'
Luca Re
Luca Re am 9 Jul. 2023
thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Vilém Frynta
Vilém Frynta am 8 Jul. 2023
Sis = struct();
Sis.b = 1:82'
Sis = struct with fields:
b: [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 … ]
Sis.b(1)
ans = 1
Sis.b(10)
ans = 10
Hope this helps.
  1 Kommentar
Luca Re
Luca Re am 8 Jul. 2023
>> Sis.b = 1:82'
Scalar structure required for this assignment.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by