03.07.2013 Views

1 3. Scilab gyakorlat Felhasználó által definiált függvény minta ...

1 3. Scilab gyakorlat Felhasználó által definiált függvény minta ...

1 3. Scilab gyakorlat Felhasználó által definiált függvény minta ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Felhasználó</strong> <strong>által</strong> <strong>definiált</strong> <strong>függvény</strong> <strong>minta</strong><br />

deff('[y]=f(x)','y=x^2+1')<br />

function [ered1,ered2]= Fnev(par1,par2)<br />

. . .<br />

endfunction<br />

Gyakorló feladatok<br />

<strong>3.</strong> <strong>Scilab</strong> <strong>gyakorlat</strong><br />

1. Definiáljon egy y = 3*x^2+4*x+2.5 <strong>függvény</strong>t és számítsa ki a <strong>függvény</strong> értékét néhány<br />

helyettesítési érték mellett!<br />

deff('[y]=f(x)','y=3*x^2+4*x+2.5')<br />

xx=input("x értéke: ");<br />

yy=f(xx);<br />

yy<br />

2. Hozzon létre egy x vektort sorozattal: 0.1:0.1:1.5 –ig és definiáljon egy y = cos(x) <strong>függvény</strong>t és<br />

számítsa ki az x vektor mellett a <strong>függvény</strong> értékeit.<br />

x=[0.1:0.1:1.5];<br />

deff('[y]=f(x)','y=cos(x)')<br />

x<br />

y=f(x)<br />

<strong>3.</strong> function utasítással definiáljon egy Szamol <strong>függvény</strong>t, amely három bemenő paraméternek<br />

kiszámítja a számtani közepét, mértani közepét és az összegét!<br />

function [szk, mk, ossz] = Szamol(a,b,c)<br />

funcprot(0)<br />

function [szk, mk, ossz]=Szamol(a, b, c)<br />

ossz=a+b+c;<br />

szk=ossz/3;<br />

mk=(a*b*c)^(1/3);<br />

endfunction<br />

[szamtani,mertani,osszeg]=Szamol(1,2,3)<br />

4. function utasítással definiáljon egy TokeletesSzam <strong>függvény</strong>t, amely a bemenő paraméterről<br />

megállapítja, hogy tökéletes-e. Akkor tökéletes egy szám, ha igazi osztóinak összege +1<br />

megegyezik a számmal, akkor a <strong>függvény</strong> 1-et adjon vissza, különben 0-át! Pl. 6 = 1+2+3<br />

function [ered] = TokeletesSzam(szam)<br />

function [ered]=TokeletesSzam(szam)<br />

osszeg=1;<br />

for i=2:1:int(szam/2)+0,<br />

if pmodulo(szam,i) == 0 then<br />

osszeg = osszeg+i;<br />

end<br />

end<br />

if osszeg == szam then<br />

ered = 1<br />

else<br />

ered = 0<br />

end<br />

endfunction<br />

sz=input("pozitív egész szam: ");<br />

t=TokeletesSzam(sz)<br />

1


5. function utasítással definiáljon egy Prim <strong>függvény</strong>t, amely a bemenő paraméterről megállapítja,<br />

hogy prím. Akkor prím egy szám, ha nincs igazi osztója, akkor a <strong>függvény</strong> 1-et adjon vissza,<br />

különben 0-át!<br />

function [pr] = Prim(szam)<br />

function [pr]=Prim(szam)<br />

pr=1;<br />

for i=2:1:int(szam/2)+0,<br />

if pmodulo(szam,i) == 0 then<br />

pr=0;<br />

end<br />

end<br />

endfunction<br />

sz=input("pozitív egész szám: ");<br />

t=Prim(sz);<br />

t<br />

6. function utasítással definiáljon egy Coldal <strong>függvény</strong>t, amelynek a bemenő paramétere az <strong>által</strong>ános<br />

háromszög két oldala és a közbezárt szög. Számítsa ki a harmadik oldalt koszinusz tétellel és adja<br />

vissza a harmadik oldalt! A koszinusz tétel c =(a*a+b*b-2*a*b*cos(gamm*pi/180))^(1/2)<br />

function [c] = Coldal(a,b,gamma)<br />

funcprot(0)<br />

function [c]=Coldal(a, b, gamma)<br />

c= sqrt(a^2+b^2-2*a*b*cos(gamma*%pi/180));<br />

endfunction<br />

a=input("Háromszög A oldala: ");<br />

b=input("Háromszög B oldala: ");<br />

g=input("A és B oldal <strong>által</strong> közbezárt szög: ");<br />

c=Coldal(a,b,g);<br />

c<br />

7. function utasítással definiáljon egy Teglalap <strong>függvény</strong>t, amelynek a bemenő paramétere a téglalap<br />

két oldala, számítsa ki a téglalap kerületét és területét!<br />

function [ker, ter] = Teglalap(a,b)<br />

function [ker, ter]=Teglalap(a, b)<br />

ker= 2*(a+b);<br />

ter = a*b;<br />

endfunction<br />

a= input("a oldal: ");<br />

b= input("b oldal: ");<br />

[ker,ter]=Teglalap(a,b)<br />

8. function utasítással definiáljon egy Teglatest <strong>függvény</strong>t, amelynek a bemenő paramétere a<br />

téglatest három oldala, számítsa ki a téglatest felszínét és térfogatát!<br />

function [felsz, terf] = Teglatest(a,b,c)<br />

function [felsz, terf]=Teglatest(a, b, c)<br />

felsz= 2*(a*b+a*c+b*c);<br />

terf = a*b*c;<br />

endfunction<br />

a= input("a oldal: ");<br />

b= input("b oldal: ");<br />

c= input("c oldal: ");<br />

[felsz,terf]=Teglatest(a,b,c)<br />

9. function utasítással definiáljon egy Kocka <strong>függvény</strong>t, amelynek a bemenő paramétere a kocka<br />

oldaléle, számítsa ki a kocka felszínét, térfogatát, testátlóját!<br />

function [felsz, terf, testatlo] = Kocka(a)<br />

2


function [felsz, terf, testatlo]=Kocka(a)<br />

felsz= 6*a^2;<br />

terf = a^3;<br />

testatlo=a*sqrt(3);<br />

endfunction<br />

a= input("a oldal: ");<br />

[felsz,terf,testatlo]=Kocka(a)<br />

10. function utasítással definiáljon egy Henger <strong>függvény</strong>t, amelynek a bemenő paramétere a henger<br />

sugara és magassága, számítsa ki a henger felszínét, térfogatát!<br />

function [felsz, terf] = Henger(r, h)<br />

function [felsz, terf]=Henger(r, h)<br />

felsz= 2*r*%pi*h+2*r^2*%pi;<br />

terf =r^2*%pi*h;<br />

endfunction<br />

r= input("sugár : ");<br />

h= input("magasság: ");<br />

[felsz,terf]=Henger(r,h)<br />

11. Számítsa ki a mátrix inverzét:<br />

⎡5<br />

⎢<br />

4<br />

⎢<br />

⎢⎣<br />

2<br />

2<br />

8<br />

7<br />

7⎤<br />

6<br />

⎥<br />

⎥<br />

3⎥⎦<br />

A = [5 2 7;4 8 6; 2 7 3]<br />

B = inv(A)<br />

12. Számítsa ki az egyenletrendszer gyökeit 3 féle módszerrel!<br />

⎡14<br />

3<br />

⎢<br />

6<br />

⎢<br />

⎢⎣<br />

9<br />

12<br />

8<br />

24⎤<br />

⎡x<br />

⎤ ⎡4⎤<br />

3<br />

⎥ ⎢<br />

y<br />

⎥<br />

=<br />

⎢<br />

6<br />

⎥<br />

⎥ ⎢ ⎥ ⎢ ⎥<br />

7 ⎥⎦<br />

⎢⎣<br />

z⎥⎦<br />

⎢⎣<br />

3⎥⎦<br />

A=[14 3 24; 6 12 3; 9 8 7]<br />

b=[4;6;3]<br />

x = inv(A)*b<br />

x1= A\b<br />

linsolve(A,-b)<br />

1<strong>3.</strong> Írja fel a p1 polinomot, ha együtthatói : 1 3 0 2 5<br />

p1=poly([1 3 0 2 5],"x","c")<br />

14. Írja fel a p2 polinomot, ha gyökei: 2, -3<br />

p2=poly([2 -3],"x")<br />

15. Határozza meg a p1/p2 polinom gyökeit!<br />

p1=poly([1 3 0 2 5],"x","c")<br />

p2=poly([2 -3],"x")<br />

p3=p1/92<br />

x=roots(p3)<br />

16. Számítsa ki az egyenletrendszer gyökeit 3 féle módszerrel!<br />

⎡14<br />

3 4⎤<br />

⎡2<br />

⎢<br />

5 6 3<br />

⎥ ⎢<br />

3<br />

⎢ ⎥ ⎢<br />

⎢⎣<br />

7 8 6 ⎥⎦<br />

⎢⎣<br />

5<br />

7<br />

3<br />

2<br />

1⎤<br />

⎡x<br />

⎤ ⎡2<br />

6<br />

⎥ ⎢<br />

y<br />

⎥<br />

=<br />

⎢<br />

3<br />

⎥ ⎢ ⎥ ⎢<br />

3⎥⎦<br />

⎢⎣<br />

z⎥⎦<br />

⎢⎣<br />

2<br />

1<br />

4<br />

7<br />

2 ⎤ ⎡5⎤<br />

3<br />

⎥ ⎢<br />

3<br />

⎥<br />

⎥ ⎢ ⎥<br />

4⎥⎦<br />

⎣⎢<br />

4⎥⎦<br />

3


A1=[14 3 4; 5 6 3; 7 8 6]<br />

A2=[2 7 1;3 3 6; 5 2 3]<br />

A = A1*A2<br />

C=[2 1 2; 3 4 3; 2 7 4]<br />

b1=[5;3;4]<br />

b =C*b1<br />

x = inv(A)*b<br />

x1 = A\b<br />

x2=linsolve(A,-b)<br />

17. Írja fel a p3 polinomot, ha együtthatói : 2 4 5 0 3 7 és deriválja.<br />

p3 =poly([2 4 5 0 3 7],"x","c")<br />

x=derivat(p3)<br />

18. Írja fel a p4 polinomot, ha együtthatói: 1 0 3 5 0 12 és 0.1 helyen helyettesítse, input adatként<br />

olvassa be!<br />

p4 =poly([1 0 3 5 0 12],"x","c")<br />

i=input("adat: ");<br />

x=horner(p4,i)<br />

19. Számítsa ki az egyenlet gyökeit!<br />

3<br />

2<br />

2⋅<br />

x + 4⋅<br />

x + 3⋅<br />

x + 2<br />

= 3<br />

5<br />

3<br />

7 ⋅ x + 3⋅<br />

x + x<br />

p1=poly([2 3 4 3],"x","c")<br />

p2=poly([0 1 0 3 0 7],"x","c")<br />

p3=3*p2-p1<br />

x=roots(p3)<br />

4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!