opgaver:Uge2
Pia Jensen (Talk | contribs) |
Pia Jensen (Talk | contribs) |
||
Line 14: | Line 14: | ||
Overvej, hvordan data bedst kan præsenteres. Skal de skaleres, rebinnes, skal nogle af data smides væk, eller transformeres på anden måde? Lav en serie figurer. | Overvej, hvordan data bedst kan præsenteres. Skal de skaleres, rebinnes, skal nogle af data smides væk, eller transformeres på anden måde? Lav en serie figurer. | ||
− | Start gerne med at | + | Start gerne med at arbejde med temperatur versus spænding for datasæt nummer 97, da det er det sjoveste. |
{{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}} | {{hidden begin|toggle=right|title=Hint|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | Brug dataindlæsnings-metoden som er vist i den vedlagte <code>.m</code>-fil til at indlæse dine data. Husk at pakke datafilerne ud i den mappe som du kører MATLAB i - ellers kan programmet jo ikke finde ud af hvor de ligger. | ||
+ | For hjælp til at plotte, kig i kapitel 4 i ''Getting Started with MATLAB'' bogen, der ligger på Absalon. | ||
{{hidden end}} | {{hidden end}} | ||
{{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | {{hidden begin|toggle=right|title=Løsning|titlestyle=background:#ccccff|bg2=#eeeeee}} | ||
+ | [[File:uge2fig1.png|frame|Plot af temperatur versus spænding for datafil nummer 97.]] | ||
+ | Et eksempel på en typisk indlæsning af data kan være koden | ||
+ | :<code>fid = fopen([datadir,'2010_01_0097.dat']);</code> | ||
+ | :<code>Data0097 = cell2mat(textscan(fid, ...</code> | ||
+ | ::<code> '%n %n %n %n %n %n %n %n %n %n %n %n %n %n %n %n %n', ...</code> | ||
+ | ::<code> 'headerlines',14));</code> | ||
+ | :<code>fclose(fid);</code> | ||
+ | |||
+ | hvor <code>datadir</code> er en streng der fortæller MATLAB hvor dataen er gemt, f.eks. <code>data/saras/</code>. Nu er hele datafilen blevet indlæst i en matrice ved navn <code>Data0097</code>, og denne kan man så arbejde videre med. | ||
+ | |||
+ | For at plotte temperatur (kolonne 4) versus spænding (kolonne 9), kan man bruge koden | ||
+ | |||
+ | :<code>figure</code> | ||
+ | :<code>plot( Data0097(1:end,4),Data0097(1:end,9),'.','MarkerFaceColor', ...</code> | ||
+ | ::<code> [0.4 0.4 0.8],'MarkerEdgeColor',[0.4 0.4 0.8] )</code> | ||
+ | :<code>title('Originale data','FontWeight','b','FontSize',12)</code> | ||
+ | :<code>xlabel('Temperatur','FontSize',12)</code> | ||
+ | :<code>ylabel('Spænding','FontSize',12)</code> | ||
+ | :<code>axis([0 4.2 9.45e-7 9.8e-7])</code> | ||
+ | |||
+ | Denne figur kan du se her til højre. | ||
{{hidden end}} | {{hidden end}} | ||
Revision as of 15:20, 6 March 2012
Denne uge er der kun en enkelt opgave. I bliver givet nogle data, som I så skal arbejde med. Når I er færdige med nedenstående spørgsmål anbefales det at I leger lidt videre med data, for at vænne jer til at arbejde med større datasæt i MATLAB. I kan også prøve at indlæse nogle af jeres egne data (I har da gemt data fra jeres tidligere kurser, ikke?).
Contents |
Opgave 1 - Saras data
- Start med at hente pakken med datasættene: ExerciseSarasData.zip
Vi skal her arbejde med ægte data, fra Sara Eisenhardts speciale, 2010. Eksperimentet var måling af det magnetiske moment af en prøve af stoffet LiHoF4, som kun er magnetisk ved temperaturer under 1.5 K. Det er jeres opgave at analysere Saras data og producere et godt plot.
Magnetiseringen blev målt med et kraftmoment-magnetometer, en opstilling helt analog til jeres vægt-vippe opstilling. Magnetiseringen i et påtrykt felt giver anledning til et kraftmoment på prøven, $\tau = M B$. Dette giver anledning til en bøjning af en vippe, som igen forårsager ændring af modstanden i en strain gauge. Denne måles som spænding over en Wheatstonebro med en lock-in forstærker.
I dataserierne er bl.a. angivet målt spænding og påtrykt $B$-felt som en tidsserie, der er samplet ofte. Resten er ikke vigtigt her. Se den .m
-fil der er vedlagt dataen for tips til hvordan data kan indlæses.
Spørgsmål a
Overvej, hvordan data bedst kan præsenteres. Skal de skaleres, rebinnes, skal nogle af data smides væk, eller transformeres på anden måde? Lav en serie figurer.
Start gerne med at arbejde med temperatur versus spænding for datasæt nummer 97, da det er det sjoveste.
Brug dataindlæsnings-metoden som er vist i den vedlagte .m
-fil til at indlæse dine data. Husk at pakke datafilerne ud i den mappe som du kører MATLAB i - ellers kan programmet jo ikke finde ud af hvor de ligger.
For hjælp til at plotte, kig i kapitel 4 i Getting Started with MATLAB bogen, der ligger på Absalon.
Et eksempel på en typisk indlæsning af data kan være koden
fid = fopen([datadir,'2010_01_0097.dat']);
Data0097 = cell2mat(textscan(fid, ...
'%n %n %n %n %n %n %n %n %n %n %n %n %n %n %n %n %n', ...
'headerlines',14));
fclose(fid);
hvor datadir
er en streng der fortæller MATLAB hvor dataen er gemt, f.eks. data/saras/
. Nu er hele datafilen blevet indlæst i en matrice ved navn Data0097
, og denne kan man så arbejde videre med.
For at plotte temperatur (kolonne 4) versus spænding (kolonne 9), kan man bruge koden
figure
plot( Data0097(1:end,4),Data0097(1:end,9),'.','MarkerFaceColor', ...
[0.4 0.4 0.8],'MarkerEdgeColor',[0.4 0.4 0.8] )
title('Originale data','FontWeight','b','FontSize',12)
xlabel('Temperatur','FontSize',12)
ylabel('Spænding','FontSize',12)
axis([0 4.2 9.45e-7 9.8e-7])
Denne figur kan du se her til højre.
Spørgsmål b
Overvej hvordan man kan udlede den indre støj på de målte data. Antag at der ikke er systematiske fejl, og tilføj dette til figurerne.
Spørgsmål c
Overvej en fortolkning af data.