Matematiska vetenskaper, Chalmers Tekniska Högskola och Göteborgs Universitet

ALA-A, Matlabtest 2005

[home, week 1, week 2, week 3, week 4, week 5, week 6, week 7]

Avsikten med testet är att vi ska försäkra oss om att alla studenter kommer över en viss miniminvå vad gäller Matlab-programmering. Det är obligatoriskt för att bli godkänd vid tentamen. Vid tentamen förekommer också en matlabfråga för att programmeringskunskapen ska påverka betyget.

Testet genomförs i datorstudio vid schemalagd lektion i vecka 6. Tid: en lektionstimma. Det betyder att halva gruppen genomför testet under den första timman av schemalagd dubbeltimma. Den andra halvan väntar utanför och kommer in och gör testet under den andra timman. Vi har ingen gruppindelning utan fyller salen med så många som får plats. De som blir underkända får läsa på och försöka igen i vecka 7. Tid och plats bestäms när jag vet hur många det blir.

Vid testet ska du prestera följande:

1. Skriva en enkel matlab-funktion (m-fil) enligt specifikation i testuppgiften. Den kan typiskt innehålla for, while eller if.

2. Hitta på ett testfall som kan användas för att testa om programmet fungerar och räknar rätt. Skall skrivas ned på papper.

Examinationen sker genom att du redovisar detta för läraren i salen.

Hjälpmedel: Du får använda dina gamla m-filer, anteckningar och böcker.

Ett övningsproblem

Skriv en matlab-funktion som beräknar den geometriska summan

s=1+ a+ a2+ ...+ an

och stannar när termen an är mindre än en given tolerans. Funktionen ska ha följande input och output.

input: a och tol

output: n och s

Lösning: 1. m-fil

function [n,s]=gsumma(a,tol)

n=0;
an=a^n;
s=an;

while abs(an)>tol
n=n+1;
an=a^n;
s=s+an;
end

Lösning: 2. testfall

Med a=0.5 och tol=0.1 blir a3=1/8>tol och a4=1/16<tol, så vi borde få n=4 och s=31/16.

Kommandoraden blir: >>[n,s]=gsumma(0.5,0.1)

Med a=1 och tol=0.1 stannar inte programmet. >>[n,s]=gsumma(1,0.1) Vi måste trycka på control-C för att avbryta.

Summan ges av formeln: s=(1-an+1)/(1-a) om a inte är 1, och s=n om a=1.

/stig


Last modified: Wed Sep 4 11:08:20 MET DST 2002