Deel 1 : selectie (if) en herhaling (for)
Oefening 1 : uitrekenen van een functi e op een reëel getal x indien deze in het juiste
domein valt
m-file naam : S1O1
code:
x=input('Geef getal x');
if x <-4
disp ('kies een getal groter dan -4')
elseif x>=4 & x<5
disp ('kies een getal kleiner dan 4 of groter dan 5')
else
fprintf('Het resultaat van deze functie met x = %d is
%f.\n',x, sqrt(log((x^2-24)/(x-4))))
end
Oefening 2: keuzemenu uit verschillende grafi eken op een zelfgekozen interval[a,b]
m-file naam : S1O2
code:
a=input('geef een ondergrens a:');
b= input('Geef een bovengrens b:');
x=linspace (a,b);
if a>=b
disp ('de ondergrens mag niet groter zijn dan de
bovengrens');
else
keuze =menu('Kies een functie', 'y=sin(x)',
'y=cos(x)', 'y=sinh(x)', 'y=cosh(x)');
if keuze == 1
y=sin(x);
elseif keuze ==2
y=cos(x);
elseif keuze ==3
y=sinh(x);
else
y=cosh(x);
end
plot(x,y)
end
,oefening 3 : Het tellen van hoeveel een bepaald getal in een vector staat en dit
displayen
m-file naam : S1O3
code:
A= zeros(2,11);
A(1,:)=[0:10];
for i=0:10
A(2,i+1)=sum(Getallenrij==i);
end
disp(A)
oefening 7 a: De gebruiker een vector laten opstellen en dan het grootste verschil in
deze vector laten zien
m-file naam : S1O7a
code :
n=input('geef de lengte van de vector:');
R=zeros(1,n);
for i=1:n
R(i)=input('Geef het volgende getal in:');
end
y=R(i)-R(i-1);
V=max(y);
fprintf('Het grootste verschil in de vector is %d.\n', V)
b :zonder for- lus
m-file naam : S1O7b
R=input('geef een vector in tussen vierkante haken:');
if length(R)==1
v=R;
else
R1=R(1:length(R)-1); % van het eerste tot het
voorlaatste element
R2=R(2:length(R)); % van het 2de tot het laatste
element
v=abs(R1-R2);
V=max(v);
fprintf('Het grootste verschil tussen opeenvolgende
waarden in R is %d.\n',V);
end
, oefening 8: controleren of een willekeurig gegeven getal een priemgetal is.
m-file naam : S1O8
code :
clear % belangrijk, anders heb je misschien
restwaarden van vorige uitvoering in V zitten
n=input('geef een getal n in:');
for i=2:(n-1) % starten vanaf i=2 want 1 is altijd
een deler
V(i-1)= mod(n,i);
end;
if min(V)~=0 % minimum is betere test, bekijk V in
je workspace
fprintf('Het getal %d is een priemgetal.\n', n)
else
fprintf('Het getal %d is geen priemgetal.\n', n)
end
Deel2 :functies in matlab
Oefening 1 : functi e “benadering” waar je het aantal termen n moet ingeven om ln2 te
benaderen en je dan ook de absolute fout geeft .
Functie : benadering
Code :
function[b]=benadering (n)
b=1;
for i=2:1:n
b=b+(-1)^(i+1)/i;
end
fprintf(' indien je %d termen gebruikt heb je %10f als
benadering voor ln2\n', n, b)
end
m-file naam : S2O1
code:
n=input('geef het aantal termen in:');
x=benadering(n);
y=log(2)-x;
fprintf ('Als je %d termen gebruikt, vind je %10.3f als
benadering voor ln(2). De fout is %10.10f\n' ,n ,x ,y);