2. Zh megoldások
Contents
Első feladat
Írjunk ketFelenKozelit nevű polimorf függvényt aminek ha két beme- nete (n,k) van akkor az x + cos(x) + 1/2 cos(2x) + 1/3 cos(3x) függvényt közelíti spline-al a [0,2]-őn n pontban, és k-ad fokú polinommal közelí- ti 10 pontban a [2,4]-en. Ha a harmadik bemenet ’forditva’ akkor az intervallumokat fordítsa meg (és [2,4]-en közelítsen spline-nal és [0,2]-őn polinommal). Ábrázoljuk a közelítést mindkét intervallumon egyszerre!
type('ketFelenKozelit.m')
function ketFelenKozelit(n,k,mod) if nargin ==3 && strcmp(mod,'forditva') xspl=linspace(2,4,n); tspl=linspace(2,4); xpol=linspace(0,2,10); tpol=linspace(0,2); else xspl=linspace(0,2,n); tspl=linspace(0,2); xpol=linspace(2,4,10); tpol=linspace(2,4); end yspl=xspl+cos(xspl)+(1/2)*cos(2*xspl)+(1/3)*cos(3*xspl); ypol=xpol+cos(xpol)+(1/2)*cos(2*xpol)+(1/3)*cos(3*xpol); eho=polyfit(xpol,ypol,k); plot(tspl,spline(xspl,yspl,tspl),tpol,polyval(eho,tpol)) end
ketFelenKozelit(4,4)

ketFelenKozelit(5,6,'forditva')

Második feladat
Generáljunk 1000 darab véletlen egész számot 1 és 10 között. Számítsuk ki ezeknek az átlagát és szórását! Végezzünk T-próbát arra nézve, hogy ezen vektor várható értéke megegyezik-e 5,5-el! Interpretáljuk a használt függvény kimenetét: mekkora a p-érték, mire döntünk és mikor (milyen szignifikancia szinten) változtatnánk a döntésünkön?
randvekt=randi(10,1,1000);
[h,pertek]=ttest(randvekt,5.5) % Mivel pertek nagyobb mint 5% ezért a H0-t fogadjuk el vagyis a várható % értéke megegyezik 5,5-el! % Ha a szignifikancia szint nagyobb lenne mint a pertek akkor arra % döntenénk, hogy különböznek
h = 0 pertek = 0.9566
Harmadik feladat
hug=[2, 3, 3, 2, 4, 5, 5, 1, 0, 2, 5, 2, 4, 2]; mar=[1, 1, 2, 1, 3, 1, 2, 4, 2, 3, 3, 2, 0, 3]; [h,pertek]=ttest2(mar,hug)
h = 0 pertek = 0.1061
Nem különböznek, mert a p-érték nagyobb mint 5%. Ha a szignifikancia szint 10,61%-nál nagyobb lenne akkor döntenénk úgy, hogy különböznének.
Negyedik feladat
Írjunk palindromE(s) függvényt ami eldönti egy adott s karakter vektorról, hogy palindrom-e (ehhez hagyjuk figyelmen kívül a space-eket és irásjeleket). (Bónusz: hagyjuk figyelmen kívül a kis és nagybetűt is.)
type('palindromE')
function ki=palindromE(s) csakbetuk=s(isletter(s)); if strcmpi(csakbetuk,csakbetuk(end:-1:1)) ki=true; else ki=false; end end
s1='keretkarakterek'; s2='indul a görög aludni.'; s3='Indul a görög aludni.'; palindromE('Haha')
ans = logical 0
palindromE(s1)
ans = logical 1
palindromE(s2)
ans = logical 1
palindromE(s3)
ans = logical 1
Ötödik feladat
A ’T2.xlsx’ fájl 40 függvény adatait tartalmazza. Az első oszlop tartal- mazza az alappontokat, a többi oszlop a függvények ezen alappontokban számított értékeit. Ábrázoljuk a 40 függvényt egy ábrán.
[szam,szoveg,mind]=xlsread('T2.xlsx'); for i=1:100 for j=1:40 M(i,j)=str2num(mind{i,j}); end end plot(M(:,1),M(:,2:end))

Szorgalmi feladat:
A 5. feladatban a 40 függvényt ábrázoljuk egy darab (keve- sebb mint 80 karkater hosszú) paranccsal, valamint egy ábrán ábrázoljuk a 40 függvény minimumát.
plot(M(:,1),min((M(:,2:end))'))
