Órai feladatok megoldása

1. feladat: Ábrázoljuk az emberek testtömegindexének (súly kg-ban osztva magasság négyzetével m-ben) eloszlását az adatok.csv fájl alapján. Derítsük ki, hogy

ad=dlmread('adatok.csv');

bmi=ad(:,2)./ad(:,1).^2*1e4;

kevesebb18=sum(bmi<18)
tobb25=sum(bmi>25)
kozte1825=sum(bmi<25 & bmi>18)
kevesebb18 =

   593


tobb25 =

       15057


kozte1825 =

        4325

2. feladat: Válaszoljuk meg az előbbi kérdéseket külön-külön a 30 év alatti és a 45 év feletti emberekre is.

ad=dlmread('adatok.csv');

30 alatti emberek:

ifju=ad(:,3)<30;
ifjubmi=ad(ifju,2)./ad(ifju,1).^2*1e4;

kevesebb18=sum(ifjubmi<18)
tobb25=sum(ifjubmi>25)
kozte1825=sum(ifjubmi<25 & ifjubmi>18)
kevesebb18 =

    93


tobb25 =

        2541


kozte1825 =

   682

45 felett

kozepkoru=ad(:,3)<30;
kozepbmi=ad(ifju,2)./ad(ifju,1).^2*1e4;

kevesebb18=sum(kozepbmi<18)
tobb25=sum(kozepbmi>25)
kozte1825=sum(kozepbmi<25 & kozepbmi>18)
kevesebb18 =

    93


tobb25 =

        2541


kozte1825 =

   682

3. feladat: Próbáljuk ki, mit történik, ha az A=[3 4 2 3; 1 3 5 1; -9 5 2 5] mátrixot ábrázoljuk, azaz kiadjuk a plot(A) parancsot. Keressünk magyarázatot a látottakra.

A plot a mátrix elemeit oszloponként tekinti egy vektornak, és az összes oszlopot ábrázolja egy ábrán.

4. feladat: Ábrázoljuk az x(t)=t*cost(t), y(t)=t*sin(t) paraméteres görbét a síkon, a t paraméter értéke menjen 0 és 10 között. Lássuk el az ábrát feliratokkal, majd mentsük egy .jpg fájlba.

function csigabiga

t=linspace(0,10,100);
plot(t.*sin(t),t.*cos(t))
xlabel('x tengely')
ylabel('y tengely')
title('Csigavonal')
text(0,0,'Csiga közepe')
text(10*sin(10),10*cos(10),'Csiga vége')
saveas(gca,'csiga.jpg')

5. feladat: Írjunk egy olyan fvElojel(a,b,f) nevű függvényt, melynek első két bemenete egy-egy valós szám, amelyek egy intervallum két végpontját jelentik (és a<b), a harmadik bemenete pedig egy függvény. A fvElojel(a,b,f) ábrázolja az f függvényt az [a,b] intervallumon, valamint írja ki a képernyőre, hogy a két végpontban eltérő-e a függvényértékek előjele. A függvények ne legyen kimenete.

function fvElojel(a,b,f)

t=linspace(a,b);
plot(t,f(t))

if f(a)*f(b)<0
    fprintf('Az intervallum végpontjaiban a függvény értékek előjele különböző. \n')
else
    fprintf('Az intervallum végpontjaiban a függvény értékek előjele nem különböző. \n')
end

6. feladat: Rajzoljunk egy 1 sugarú felső félgömböt.

function Felgomb

x=linspace(-1,1); 
y=x; 
[xx,yy]=meshgrid(x,y);

z1=1-xx.^2-yy.^2;
z1(z1<0)=0;
z1=sqrt(z1);


mesh(x,y,z1)