How to Search a struct array?
23 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dharmesh Joshi
il 25 Ott 2022
Commentato: Dharmesh Joshi
il 25 Ott 2022
Hi
I am new to Matlab and would like to know if i can search a array strucuture without using a loop.
I have strucuture array with 8 feilds. Please see below.
I am trying the following:
K>> alldata(ID=="864475047572713").Data
Unrecognized function or variable 'ID'.
This seems to be wrong, but what is the correct way of doing this?
K>> alldata
alldata =
1×8 struct array with fields:
ID
location
electrosensor_values
Data
K>> alldata(1)
ans =
struct with fields:
ID: "864475047690895"
location: "GPS12121"
electrosensor_values: [1×1 struct]
Data: [81603×12 timetable]
K>> alldata(2)
ans =
struct with fields:
ID: "864475047636435"
location: "GPS12121"
electrosensor_values: [1×1 struct]
Data: [79899×12 timetable]
K>> alldata(3)
ans =
struct with fields:
ID: "864475047572713"
location: "GPS12121"
electrosensor_values: [1×1 struct]
Data: [78759×12 timetable]
K>> alldata(4)
ans =
struct with fields:
ID: "864475047564256"
location: "GPS12121"
electrosensor_values: [1×1 struct]
Data: [84734×12 timetable]
0 Commenti
Risposta accettata
Più risposte (1)
dpb
il 25 Ott 2022
With the ID field being a string, probably the easiest syntax is simply
ID=="864475047572713";
idx=find(matches([alldata.ID],ID));
then idx is the index into the struct array of interest; all properties are then as
tDataID=alldata(idx).Data;
Now, in the specific case, you can access the table as normal thru the tDataID table variable.
0 Commenti
Vedere anche
Categorie
Scopri di più su Spreadsheets in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!