Du har begynt på et prosjekt i et fag hvor du skal analysere forekomsten av Pokémon Go-monstre i Trondheim. I prosjektet er et område av Trondheim delt i et rutenett, og prosjektdeltakerne loggfører alle gangene de støter på forskjellige Pokémon. Disse dataene lastes opp til en server, hvor de behandles av et program skrevet i Matlab.
Image Removed
Du skal jobbe med å utvide analysekoden, som er skrevet av tidligere prosjektstudenter. Du irriterer deg umiddelbart over at dataene i programmet er samlet i cellelister, som illustrert under. Du bestemmer deg for å gjøre noe med saken.
Image Added
a) Lag en funksjon som konverterer data for én forekomst fra en celleliste til en struct med et passende format.
...
Expand |
---|
|
Code Block |
---|
| pkms_celle = { 'Charmander', 8, 'N', 7;
'Pikachu', 10, 'J', 8;
'Dewgong', 1, 'A', 1;
'Exeggutor', 1, 'S', 10 } |
|
Videoforklaring (
...
21:
...
34)
Del 1 (7:30) | Del 2 (mm4:ss55) | Del 3 (mm9:ss09) |
---|
Widget Connector |
---|
url | https://www.youtube.com/watch?v=uzUJ5JcZ6ns |
---|
|
| | | Widget Connector |
---|
url | https://www.youtube.com/watch?v=iEwaR9TmqMY |
---|
|
| Widget Connector |
---|
url | https://www.youtube.com/watch?v=7Yy5MkWZhqo |
---|
| |
Oppgaveintroduksjon, og løsning av oppgave a). | | | Generelt om valgene man har for å bruke structs til å representere samlinger med verdier. | Løsning av oppgave b). |
Løsningsforslag
Expand |
---|
title | Hvis du har prøvd selv, trykk her for å se svaret... |
---|
|
Expand |
---|
| Code Block |
---|
| function retur = forekomst_struct(forekomst_celleliste)
retur.navn = forekomst_celleliste{1};
retur.antall = forekomst_celleliste{2};
retur.pos = struct('rad', forekomst_celleliste{3}, ...
'kol', forekomst_celleliste{4});
%% Kan også lage siste felt gradvis:
% retur.pos.rad = forekomst_celleliste{3};
% retur.pos.kol = forekomst_celleliste{4};
end |
|
Expand |
---|
| Code Block |
---|
title | forekomster_struct.m |
---|
| function retur = forekomster_struct(forekomst_cellematrise)
retur.navn = forekomst_cellematrise(:, 1)';
retur.antall = [forekomst_cellematrise{:, 2}];
retur.pos.kol = forekomst_cellematrise(:, 3)';
retur.pos.rad = [forekomst_cellematrise{:, 4}];
end |
|
|