Első zárthelyi

1. feldat: 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)

w=v(v>=0 & v<=10);

atlag=mean(w);
darab=length(w);

2.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)

ki=sum(sum(A.^2));

3. feldat: Írjunk egy olyan rekurSor(n) nevű függvényt, melynek a bemenete egy n pozitív egész, és a kimenete az $a_{n+1}=7-\frac{10}{a_n}$, $a_1=4$ 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

4. 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

dobasokszama=0;
fejekszama=0;
irasokszama=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

5. 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:8
    if a>=2^(-i)
        a=a-2^(-i);
    end
end

if a>=2^(-9)
    ki=1;
else
    ki=0;
end