Első zárthelyi
Contents
Első feladat
Adott egy olyan mérés, ahol az eredményeknek a [0, 10] intervallumba kell esniük; ami nem ide esik, az hibás. Írjunk olyan helyesAtlag(v) nevű függvényt, amelynek bemenete egy mérési eredményeket, azaz valós számokat tartalmazó vektor, kimenetei pedig a helyes mérési eredmények átlaga és darabszáma.
function [atlag, darab]=helyesAtlag(v)
vhelyes=v(v>=0 & v<=10);
darab=length(vhelyes);
atlag=mean(vhelyes);
Második feladat
Írjunk egy olyan frobN(A) nevű függvényt, amely kiszámítja a bemenetként kapott A mátrix összes elemének négyzetének összegét, a függvényünk kimenete pedig legyen ezen szám.
function ki=frobN(A) % Gyors megoldás : ki=trace(A'*A); ki=0; for i=1:size(A,1) for j=1:size(A,2) ki=ki+A(i,j)^2; end end
Harmadik feladat
Írjunk egy olyan rekurSor(n) nevű függvényt, melynek a bemenete egy n pozitív egész, és a kimenete az , képlettel adott sorozat n-dik tagja (a sorozat első néhány eleme: 4, 4.5, 4.77, ...)
function ki=rekurSor(n) ki=4; for i=2:n ki=7-10/ki; end
Negyedik feladat
Írjunk egy olyan penzFeldobas nevű függvényt, amely meghívásakor elkezd dobálni egy szabályos pénzérmét (1/2, 1/2 esélye van a két különböző kimenetnek). Addig dobáljon, amíg 3 egyforma nem jön ki közvetlenül egymás után. A kimenet legyen az ehhez szükséges összes dobások száma.
function dobasokszama=penzFeldobas fejekszama=0; irasokszama=0; dobasokszama=0; while fejekszama<3 && irasokszama<3 dobas=rand; dobasokszama=dobasokszama+1; if dobas<0.5 fejekszama=fejekszama+1; irasokszama=0; else irasokszama=irasokszama+1; fejekszama=0; end end
Ötödik feladat
Írjunk egy olyan abraFv(a,b) nevű függvényt, amelynek bemenete a<b valós számok. A függvény egy ábrára egymás mellé kirajzolja a exp(x) és a sin(2*x), függvényeket az [a,b] intervallumon. Az ábráról derüljön ki, hogy melyik vonal melyik függvényhez tartozik. A függvénynek ne legyen kimenete.
function abraFv(a,b) t=linspace(a,b); subplot(1,2,1) plot(t, exp(t)); title('Exponenciális függvény') subplot(1,2,2) plot(t, sin(2*t)) title('Szinusz függvény')
Szorgalmi feladat
Írjuk egy olyan kettedesTort(a) nevű függvényt, amelynek bemenete egy 0 és 1 közötti valós szám, kimenete pedig a bináris tört (azaz kettes számrendszerbeli tört alakjában) a kilencedik számjegye. (Például a=0.5 bináris tört alakja 0.1, ennek első számjegye 0, a második 1, a harmadik 0.)
function ki=kettedesTort(a) for i=1:7 if a>=2^(-i) a=a-2^(-i); end end if a>2^(-8) ki=1; else ki=0; end