Gyakorló Óra feladatai:

Contents

Első Feladat

Írjunk olyan tobbfelenKozelit nevű szkriptet aminek van 1 bemenete (n), ami megmondja hány helyen közelítjük az exp(-x^2) függvényt a [-5,5] intervallumon. Opcionális második paramétere lehet 'spline', 'polyfit' és 'both' ami a közelítés módját adja meg. 'both' esetén mindkét módszerrel közelít. Ábrázoljuk a kapott eredményeket.

type('tobbfelenKozelit.m')
tobbfelenKozelit(6)
function tobbfelenKozelit(n,tipus)
    x=linspace(-5,5,n);
    y=exp(-x.^2);
    t=linspace(-5,5);
    if (nargin==1)||strcmp(tipus,'spline')
       plot(t,exp(-t.^2),t,spline(x,y,t))
    elseif strcmp(tipus,'polyfit')
       eho=polyfit(x,y,n-1);
       plot(t,exp(-t.^2),t,polyval(eho,t))
    else
       eho=polyfit(x,y,n-1);
       plot(t,exp(-t.^2),t,polyval(eho,t),t,spline(x,y,t),'m-')
    end
end
tobbfelenKozelit(7,'polyfit')
tobbfelenKozelit(10,'both')

Második Feladat

Egy új, kísérleti szárnnyal mérik a fogyasztás csökkenését repülőknél. A kísérlet drón mindig ugyanazt a pályát járja be. A pályákon rendre:

4, 4.5, 4.7, 5, 5.1, 3.7, 4.2, 4.4, 5, 5.1, 3.9, 4.1, 4.3, 4.4

liter fogyasztást mértek. Végezzünk T-próbát arra vonatkozóan, hogy a fogyasztűs várható értéke megegyezik-e 4.9 literrel? Ha különbözik milyen szignifikancia szinten különbözik? Ha meg akarnák ismételni a fenti kísérletet. Hány repülést kéne végrehajtaniuk, hogy legalább 99%-os biztonsággal hasonlóan jó eredményt kapjanak?

dronAdat=[4, 4.5, 4.7, 5, 5.1, 3.7, 4.2, 4.4, 5, 5.1, 3.9, 4.1, 4.3, 4.4];
[h,pErtek]=ttest(dronAdat,4.9)
h =

     1


pErtek =

    0.0034

A 1-es hipotézisre döntünk (a default 0.05 szignifikancia szint mellett). A p-érték 0.003, tehát 0.3% szignifikancia szint alatt döntenénk úgy, hogy egyenlő lenne a kettő.

sampsizepwr('t',[mean(dronAdat),std(dronAdat)],4.9,0.99)
ans =

    23

Harmadik Feladat

Egy fülemülefaj magyarországon, és a környező országokban is elterjedt. Az itthoni ornitológusok mintát vettek, hogy hány tojás van a fészkekben, az alábbi eredményeket kapták:

5, 5, 6, 6, 5, 4, 4, 6, 4, 5, 3, 7, 5

Romániában is elvágezték a kísérletet, és következőt mérték:

6, 5, 4, 4, 3, 3, 5, 5, 5, 6, 5, 6, 5

Vajon mindékt helyen ugyanolyan jól érzi magát a faj? Végezzünk kétmintás T-próbát, állapítsuk meg, hogy mekkora szgnifikancia melett különbözik a két minta!

fulemuleMinta1=[5, 5, 6, 6, 5, 4, 4, 6, 4, 5, 3, 7, 5];
fulemuleMinta2=[6, 5, 4, 4, 3, 3, 5, 5, 5, 6, 5, 6, 5];
[h,pErtek]=ttest2(fulemuleMinta1,fulemuleMinta2)
h =

     0


pErtek =

    0.5794

A 0-ás hipotézisre döntünk (nem különbözik a két minta). A p-érték 0.55 tehát 0.55-nél nagyobbnak kéne lennie a szig. szintnek, hogy különbőző legyen (ez azt jelentené, hogy az elsőfajú hiba ennél nagyobb).

Negyedik Feladat

Az alábbi szövegben számoljuk meg az "sz"-ek számát:

'A helyzete nem szerencsés. Apró szemcsés homokkal telve a füle, a nyelve.'

szoveg='A helyzete nem szerencsés. Apró szemcsés homokkal telve a füle, a nyelve.'
count(szoveg,'sz')
szoveg =

    'A helyzete nem szerencsés. Apró szemcsés homokkal telve a füle, a nyelve.'


ans =

     2

Másik megoldás:

logvect1=szoveg=='s';
logvect2=szoveg=='z';
sum(logvect1(1:end-1)&logvect2(2:end))
ans =

     2

Ötödik feladat

A "Testfile.xlsx" három oszlopot tartalmaz az első oszlopban van a hely ahol a második két függvény értékeit számoltam. Sajnos a két függvényt nagyon nehéz számolni, csak numerikusan közelített értékeim vannak amik nem mindig jók, viszont tudom, hogy a függvényeknek monoton csökkenőnek kell lenniük. Tegyük őket monotonná, és ábrázoljuk az eredényt!

[szam,szoveg,mind]=xlsread('Testfile.xlsx');
for i=1:100
    if ischar(mind{i,1})
        x(i)=str2num(mind{i,1});
    else
        x(i)=mind{i,1};
    end
end
for i=1:100
    y1(i)=str2num(mind{i,2});
end
for i=1:100
    y2(i)=str2num(mind{i,3});
end
plot(x,[y1;y2])
type('simit.m')
plot(x,[simit(y1);simit(y2)])
function v=simit(v)
minertek=v(1);
for i=1:length(v)
    if v(i)<minertek
        minertek=v(i);
    else
        v(i)=minertek;
    end
end
eho1=polyfit(x,simit(y1),6);
eho2=polyfit(x,simit(y2),6);
plot(x,[polyval(eho1,x);polyval(eho2,x)])