Koodaa tehtävän ratkaisu Matlab-ohjelmaa hyväksi käyttäen. Ratkaisumenetelminä käytä Newtonin menetelmää ja sekanttimenetelmää.

Koko: px
Aloita esitys sivulta:

Download "Koodaa tehtävän ratkaisu Matlab-ohjelmaa hyväksi käyttäen. Ratkaisumenetelminä käytä Newtonin menetelmää ja sekanttimenetelmää."

Transkriptio

1 Ohjelmointi ja Matlab syksy 010 Kotitehtävä palautettava mennessä Methyl alcohol can be synthesized by passing a mixture of CO and H over a suitable catalyst. For a feed mixture containing moles of hydrogen to 1 mole of carbon monoxide, x, the number of moles of hydrogen converted at 300 o C and 40 bar, is indicated by the following equation: 3 x x 49 = 0 x x (1) The solution to the problem corresponds to that value x at which to zero. 3 x x 49 x x reduces Koodaa tehtävän ratkaisu Matlab-ohjelmaa hyväksi käyttäen. Ratkaisumenetelminä käytä Newtonin menetelmää ja sekanttimenetelmää. Ongelmanratkaisu: Menetelmät: Newtonin menetelmä funktion nollakohdan etsimistä varten on seuraavanlainen x f ( xk ) '( x ) = k 1 x + k f () k Menetelmän käyttöön tarvitaan funktio, sen derivaatta (jonka laskeminen voi olla työlästä) sekä sopiva alkuarvaus x 0. Newtonin menetelmä voi divergoitua, jos alkuarvaus on kovin kaukana todellisesta nollakohdasta. Sekanttimenetelmä funktion nollakohdan etsimistä varten on seuraavanlainen x k+ 1 = x k ( k)( k k 1 ) ( ) ( ) f x x x f x f x k k 1 Menetelmän käyttöön tarvitaan funktio sekä kaksi alkuarvausta x 0 ja x 1. Derivaattaa ei tarvita. Molempia menetelmiä käytettäessä on syytä huomata, että (1) ei ole määritelty pisteessä x =. Funktiomme on seuraavanlainen Tarvittavat tiedot: 3 x x f ( x) = 49 x x (4) Funktion derivaatan laskemista varten muokataan funktio seuraavaan muotoon (vakion voimme jättää pois, koska sen derivaatta on nolla...) (3)

2 ( ) g x = x ( ) ( 3 x 3 ) x Tulon derivointisääntöä soveltamalla saamme ja edelleen (5) x x g' ( x) = ( 3 x) D 3 + D 3 ( 3 x) ( x) ( x) ( ) 3 ( ) ( 1) 3( ) ( 1) x x x x g' ( x) = ( 3 x) ( 3 x)( 1) ( x) ( x) ( x ) ( x) 3 ( x) ( x) ( ) ( ) x 3 3 g' ( x) = 1+ x x (8) Muoto (8) on tehtävän laskennan suhteen riittävän yksinkertaisessa muodossa, mutta (8) voidaan vielä sieventää muotoon g' ( x) 18 6x = ( x) 4 Nyt meillä on käytössämme funktio ja sen derivaatta. Vielä tarvitaan sopiva aloituspiste. Funktion arvot vaihtelevat rajusti ja funktiolla on epäjatkuvuuskohta. Eli tarvitsemme jonkinlaisen käsityksen funktion käyttäytymisestä. Matlabissa on sopiva mokkula tähän käyttötarkoitukseen eli fplotkomento. Haarukoimalla fplot-komennolla päädymme esim. seuraavanlaiseen tilanteeseen: (6) (7) (9) >> fplot ( '((3-x)/(-x))^ * (x/(-x)) - 49', [ ]) ; grid ;

3 Nollakohdan summittaisen paikan haarukointiin voi tietysti käyttää myös Excel-taulukkolaskentaohjelmaa. Nyt meillä on tiedossamme kaikki tarpeellinen koodausta varten. % K1_010_MetO.m % Hougen, Watson & Ragatz s. 1- % Matlab-koodi: % Laskee funktion arvot. fun = inline ( '((3-x)/(-x))^ * (x/(-x)) - 49', 'x') ; % Laskee derivaatan arvot. dfun = inline ( '(*(3-x)/((-x)^3))*(((3-x)/(-x))*(1+x)-x)', 'x') ; % Kuvaajan piirto. fplot ( fun, [ ]) ; grid ; % Newtonin menetelmä. % Tarvitsee KÄSIN lasketun derivaatan. disp ('Lasketaan Newtonin menetelmän avulla:') ; x = 1.8 ; % Aloituspiste. f = fun (x) ; % Funktion arvo aloituspisteessä. f_old = realmax ; disp ( [ x f ] ) ; while ( abs(f_old-f) > 1e-3 ), x = x - fun(x)/dfun(x) ; % Lasketaan uusi piste. f_old = f ; f = fun (x) ; % Funktion arvo uudessa pisteessä. disp ( [ x f ] ) ; end nollakohta = x % Sekanttimenetelmä. % Ei tarvitse derivaattaa. disp ('Lasketaan sekanttimenetelmän avulla:') ; x0 = 1.8 ; x1 = 1.85 ; % Aloituspisteet. f0 = fun (x0) ; f1 = fun (x1) ; % Funktion arvot aloituspisteissä. disp ( [ x0 f0 x1 f1 ] ) ; while ( abs(f0-f1) > 1e-3 ), t = (x1-x0)/(f1-f0) ; x = x - t * f1 ; % Lasketaan uusi piste. x0 = x1 ; x1 = x ; f0 = fun (x0) ; f1 = fun (x1) ; % Funktion arvot uusissa pisteissä. disp ( [ x0 f0 x1 f1 ] ) ; end nollakohta = x % Nollakohdan etsintä FZERO-funktion avulla. % ei toimi, jos aloituspiste on 0 tai disp ('Lasketaan FZERO-funktion avulla:') ; nollakohta = fzero ( ' (((3-x)/(-x))^ * (x/(-x) ) -49)', 1.9)

4 >> K1_010_MetO Lasketaan Newtonin menetelmän avulla: nollakohta = Lasketaan sekanttimenetelmän avulla: nollakohta = Lasketaan FZERO-funktion avulla: nollakohta = Eli : Methyl alcohol can be synthesized by passing a mixture of CO and H over a suitable catalyst. For a feed mixture containing moles of hydrogen to 1 mole of carbon monoxide, the number of moles of hydrogen converted at 300 o C and 40 bar is 1.8. Mikä on konversio? Tehtävän määrittelystä myös näemme, että 0< x <. Miksi? Menetelmien toiminnan vertailu: Newtonin menetelmä: Erittäin nopea, jos aloituspiste on lähellä todellista nollakohtaa Taipumus divergoitua eli ei löydä nollakohtaa, jos aloituspiste x 0 on huonosti valittu Tarvitsee derivaatan, jonka laskeminen käsin on työlästä ja virhealtista Numeerisen derivaatan käyttö on mahdollista (ks. opintojakso Numeeriset menetelmät ) Sekanttimenetelmä: Hitaampi kuin Newtonin menetelmä Ei tarvitse derivaattaa Aloituspisteiden ( x 0 ja x 1 ) valinta voi olla ongelmallista Matlabin fzero-funktio: testattu menetelmä yleensä on syytä käyttää testattuja menetelmiä idioottivarmaa numeerista nollakohdan hakumenetelmää ei olekaan... Lisää tietoa aiheesta: Oheinen moniste. Brent, R., Algorithms for Minimization Without Derivatives, Prentice-Hall, Forsythe, G. E., M. A. Malcolm, and C. B. Moler, Computer Methods for Mathematical Computations, Prentice-Hall, 1976.

5 1 Ohjelmointi ja Matlab syksy 010 Kotitehtävä palautettava mennessä In analyzing the equilibrium developed in the outgoing gas when a feed mixture of HO and CO in a molal ratio of 5 to 1 is passed though a bed of coke maintained at 1100 K and 10 bar, the following two independent equations are obtained: ( x y) x = (a) 1 x+ y 5 x ( )( ) ( 1 x+ y) ( x y)( 6 + y) = 1.01 x = moles of HO converted, per 6 moles of feed, according to the water-gas reaction, HO+ CO CO H + y = moles of CO converted, per 6 moles of feed, according to the reaction, C+ CO CO If the numerical values of x and y can be determined, the equilibrium gas composition may be calculated. Koodaa tehtävän ratkaisu Matlab-ohjelmaa hyväksi käyttäen. Ratkaisumenetelminä käytä Newtonin menetelmää (joka tässä tapauksessa tarkoittaa eri menetelmää kuin kotitehtävässä 1) ja Broydenin menetelmää. Menetelmien kuvaukset oheisessa paperissa. Menetelmät: Menetelmien kuvaukset ja ongelmanratkaisun problematiikka on kuvattu monisteessa (Systems_of_nonlinear_equations.pdf). (b) Tarvittavat tiedot: Sekä Newtonin menetelmässä että Broydenin menetelmässä tarvitaan Jacobin matriisia (esim. f1 f1 x1 x n J = fm fm x 1 xn Seuraavaksi on laskettava tarvittavat osittaisderivaatat. Nyt derivoitavat funktiot ovat (c) ( x y) ( x y) x ( 1 x+ y)( 5 x) f1, = 0.944

6 f ( x y) ( 1 x+ y) ( x y)( 6 + y), = 1.01 Nyt saamme ensimmäisestä funktiosta ja edelleen ( ) ( 1 )( 5 ) x y x x+ y x ( 1 x+ y)( 5 x) ( x y) x f 1 x = x x ( 1 x+ y)( 5 x) ( ) ( 1 )( 5 ) x y x x+ y x ( 1 x+ y)( 5 x) ( x y) x f 1 y y = y ( 1 x+ y)( 5 x) ( 1 x + y)( 5 x) ( x y) ( x y) x ( 6+ x y) ( 1 )( 5 ) = x x+ y x f1 ( 1 x + y)( 5 x) ( x) ( x y) x ( 10 x) ( 1 )( 5 ) = y x+ y x f1 Toisesta funktiosta saamme ja edelleen ( ) ( ) ( )( 6 ) 1 x+ y ( x y)( 6 + y) ( x y)( 6+ y) 1 x+ y f x = x x x y + y ( ) 1 x+ y ( x y)( 6 + y) ( x y)( 6+ y) ( 1 x+ y) f y y = y ( x y)( 6 + y) ( x y)( 6+ y) ( )( 1 x+ y) ( 1 x+ y) ( 6+ y) f = ( )( 6 ) x x y + y ( x y)( 6+ y) 4( 1 x+ y) ( 1 x+ y) ( x 6 y) f = ( )( 6 ) y x y + y Eo. yhtälöt voisi vielä sievennellä, mutta laskennan kannalta katsottuna se ei ole tarpeen (ks. miten Jacobin matriisi on koodattu Matlab-koodiksi).

7 3 Aloituspisteen valinta: Alkuperäisistä yhtälöistä näemme, että aloitusarvoina x ja y eivät voi olla samoja eikä x voi olla 5. Aloitusarvoiksi soveltunevat pienet kokonaisluvut, esim. x = 4 ja y = 3. Voisimme myös ratkaista sekä a:sta että b:stä y:t ja katsoa miten saadut funktiot käyttäytyvät, mutta tämä tapa on suhteellisen työläs. Matlab koodit: Ensiksi Newtonin menetelmä: % K_010_MetO_a.m % Newton's method. % , & Juha Jaako format compact ; clear all ; hold on ; disp ( 'Newtonin menetelmä' ) ; x = [ 4 3 ]' ; plot (x(1), x(), 'k*') ; axis ( [ ] ) ; % Määritellään funktiot (inline). f1 = inline ( '(((x-y)*x)/((1-x+*y)*(5-x))) ', 'x', 'y' ) ; f = inline ( '((1-x+*y)^/((x-y)*(6+y))) ', 'x', 'y' ) ; % Määritellään Jacobin matriisi (inline). % Ensimmäinen funktio. t1 = [ '((1-x+*y)*(5-x))' ] ; t = [ '((x-y)*x)' ] ; t3 = [ '(' t1 '^)' ] ; t4 = [ '(' t1 '*(*x-y)-' t '*(*x-*y-6))/' t3 ] ; J11 = inline ( t4, 'x', 'y' ) ; t5 = [ '(' t1 '*(-x)-' t '*(10-*x))/' t3 ] ; J1 = inline ( t5, 'x', 'y' ) ; % Toinen funktio. t1 = [ '((x-y)*(6+y))' ] ; t = [ '((1-x+*y)^)' ] ; t3 = [ '(' t1 '^)' ] ; t4 = [ '(' t1 '*((-)*(1-x+*y))-' t '*(6+y))/' t3 ] ; J1 = inline ( t4, 'x', 'y' ) ; t5 = [ '(' t1 '*(4*(1-x+*y))-' t '*((x-6-*y)))/' t3 ] ; J = inline ( t5, 'x', 'y' ) ; % Asetaan suppenemisparametrit. erosuure = realmax ; % Testisuureen alkuarvo. laskuri = 0 ; % Nollataan kierroslaskuri. TOLERANSSI = 1e-6 ; % Laskentatoleranssi. MAKSIMIKIERROKSET = 10 ; % Asetaan maksikierrosten määrä disp ( [ x' ] ) ; % Aloitetaan laskenta. while ( (erosuure > TOLERANSSI) & (laskuri < MAKSIMIKIERROKSET) ), %for i = 1 : 10, laskuri = laskuri + 1 ; % Kasvatetaan kierroslaskuria. f = [ f1(x(1),x()) ; f(x(1),x()) ] ;

8 4 J = [ J11(x(1),x()), J1(x(1),x()) ;... J1(x(1),x()), J(x(1),x()) ] ; sk = J \ (-f) ; % Lasketaan Newton-askel. s. 39 x = x + sk ; % Uuden pisteen päivityskaava. plot (x(1), x(), 'k*') ; text (x(1), x(), [ '\leftarrow' numstr(laskuri) ' ']) ; line ( [x(1), x(1)-sk(1)], [x(), x()-sk()] ) ; % Lasketaan uuden testisuureen arvo. erosuure = max (abs ([ f1(x(1),x()); f(x(1),x()) ] - f)) ; disp ( [ x' erosuure ] ) ; end % Tulostetaan ratkaisu. disp ( [ 'Ratkaisu:' ] ) ; disp ( x' ) ; disp ( [ 'Kierroksia:' ] ) ; disp (laskuri) ; hold off ; Kun ohjelma ajetaan komentoikkunasta, saamme >> K_010_MetO_a Newtonin menetelmä 4 3 (erosuure) Ratkaisu: Kierroksia: Ratkaisu löytyy vähin laskentakierroksin, joka johtuu siitä, että alkuarvauksemme oli hyvä. Ks. seuraava kuvio: Seuraavaksi Broydenin menetelmä: % K_010_MetO_b.m % Broyden's method.

9 5 % Juha Jaako format compact ; clear all ; disp ( 'Broydenin menetelmä' ) ; tol = ; xk = [ 4 3 ]' ; % Define functions. f1 = inline ( '(((x-y)*x)/((1-x+*y)*(5-x))) ', 'x', 'y' ) ; f = inline ( '((1-x+*y)^/((x-y)*(6+y))) ', 'x', 'y' ) ; % Define Jacobian. % First function. t1 = [ '((1-x+*y)*(5-x))' ] ; t = [ '((x-y)*x)' ] ; t3 = [ '(' t1 '^)' ] ; t4 = [ '(' t1 '*(*x-y)-' t '*(*x-*y-6))/' t3 ] ; J11 = inline ( t4, 'x', 'y' ) ; t5 = [ '(' t1 '*(-x)-' t '*(10-*x))/' t3 ] ; J1 = inline ( t5, 'x', 'y' ) ; % Second function. t1 = [ '((x-y)*(6+y))' ] ; t = [ '((1-x+*y)^)' ] ; t3 = [ '(' t1 '^)' ] ; t4 = [ '(' t1 '*((-)*(1-x+*y))-' t '*(6+y))/' t3 ] ; J1 = inline ( t4, 'x', 'y' ) ; t5 = [ '(' t1 '*(4*(1-x+*y))-' t '*((x-6-*y)))/' t3 ] ; J = inline ( t5, 'x', 'y' ) ; a = xk(1) ; b = xk() ; disp ( 'Initial Jacobian:' ) ; % Compute initial Jacobian. - Vaihtoehto 1. Bk = [ J11(a,b), J1(a,b) ; J1(a,b), J(a,b) ] % Initial Jacobian = identity matrix. - Vaihtoehto. %Bk = eye () disp (' ') ; test = realmax ; disp ( [ a b ] ) ; k = 0 ; % Iteration counter while (test > tol), %for i = 1 : 10, f = [ f1(a,b); f(a,b) ] ; sk = Bk \ (-f) ; xk = xk + sk ; a = xk(1) ; b = xk() ; yk = ([ f1(a,b); f(a,b) ] - f ) ; test = max(abs(yk)) ; disp ( [ a b test ] ) ; % Update Jacobian. Bk = Bk + ( (yk-bk*sk)*(sk') ) / ((sk')*sk) ; k = k + 1 ; end disp ( 'Vastaus:' ) ; disp (xk') ;

10 6 disp (k) ; Ajetaan Broydenin menetelmä ensin siten, että käytetään Jacobin matriisia aloituspisteessä [4, 3] ensimmäisenä arvona: >> K_010_MetO_b Broydenin menetelmä Initial Jacobian: Bk = Vastaus: Suppeneminen on hitaampaa kuin Newtonin menetelmässä. Ajetaan Broydenin menetelmää myös siten, että emme käytä Jacobin matriisia ollenkaan, Bk = eye () : >> K_010_MetO_b Broydenin menetelmä Initial Jacobian: Bk = Vastaus: Laskenta vie entistä enemmän kierroksia eli 1, kun käytämme samaa lopetusehtoa. Vastaus: The equilibrium gas composition: x : moles of HO converted = 3.85 y : moles of CO converted =.98

11 7 Mitä menetelmää sitten pitäisi käyttää epälineaarisen yhtälöryhmän ratkaisussa? (vrt. moniste Systems_of_nonlinear_equations.pdf). Yksikäsitteistä vastausta kysymykseen ei ole olemassa. Newton-tyyppiset menetelmät ovat epäluotettavia, jos aloituspiste on kaukana haetusta. Käyttämämme menetelmän tulisi olla luotettava ja helppokäyttöinen. Yksi vaihtoehto on seuraava koodi (Broydenin menetelmä): % K_010_MetO_b1.m % Broyden's method. % & Juha Jaako format compact ; clear all ; % Aloituspiste. x = [ 4 3 ]' ; % Määritellään funktiot. f1 = inline ( '(((x-y)*x)/((1-x+*y)*(5-x))) ', 'x', 'y' ) ; f = inline ( '((1-x+*y)^/((x-y)*(6+y))) ', 'x', 'y' ) ; % Aloitusmatriisina yksikkömatriisi. B = eye () ; % Suppenemisen vartiointi. test = realmax ; k = 0 ; maksimikierrokset = 50 ; tol = 1e-6 ; % Suppenemiskriteerin alkuarvo. % Kierroslaskuri. % Laskentakierrosten yläraja. % Lopetustoleranssi. while ((test > tol) & (k < maksimikierrokset)), f = [ f1(x(1),x()) ; f(x(1),x()) ] ; % Funktion arvo. s = B \ (-f) ; % Ratkaistaan lineaarinen yhtälöryhmä. x = x + s ; % Päivitetään ratkaisu. y = ([ f1(x(1),x()); f(x(1),x()) ] - f ) ; test = max(abs(y)) ; % Päivitetään suppenemiskriteeri. % Päivitä kerroimatriisi. B = B + ( (y-b*s)*(s') ) / ((s')*s) ; k = k + 1 ; % Päivitetään kierroslaskuri. end disp ( [ 'Vastaus: x = ' numstr(x(1)) ', y = ' numstr(x())] ) ; disp ([ 'Laskentakierroksia: ' numstr(k) ]) ; Tuloste: >> K_010_MetO_b1 Vastaus: x = , y =.9718 Laskentakierroksia: 1

12 Ohjelmointi ja Matlab syksy 010 Kotitehtävä palautettava Ohessa on pdf-tiedosto (Cubic_Spline_Interpolation.pdf), jossa on kuvattu, millaisia ovat kuutiolliset splinit. Seuraava data t = [ 1964 : 1 : 009 ] ; y = [, 8, 1, 10, 6, 1, 1, 13, 19, 35, 5, 34, 1, 8, 37,... 33, 4, 3, 33, 30, 5, 14,, 8, 5, 7, 34, 38, 44, 64,... 47, 44, 6, 41, 46, 53, 51, 60, 7, 85, 79, 79, 85, 83, 105, 78 ] ; kuvaa osastolta valmistuneiden diplomi-insinöörien määriä vuosina Kun sovitamme datan kuutiollisen splinin avulla, saamme seuraavan kuvaajan: Data points Cubic spline Kuvaaja syntyy seuraavan koodin avulla (K3_010_MetO_S.m): clear all;format compact;hold on;t=[1964:1:009]; y=[,8,1,10,6,1,1,13,19,35,5,34,1,8,37,... 33,4,3,33,30,5,14,,8,5,7,34,38,44,64,... 47,44,6,41,46,53,51,60,7,85,79,79,85,83,105,78 ] ; plot(t,y,'ko');s=length(t);b=[4,1,zeros(1,s-4)]; for i=:s-3,temp=[zeros(1,i-),1,4,1,zeros(1,s-4)];b=[b;temp(1:s-)]; end;b=[b;zeros(1,s-4),1,4];b=sparse(b);h=t()-t(1);k=6/(h^); for i=1:s-,z(i)=k*(y(i)-*y(i+1)+y(i+));end;z=z';m=b\z;m=[0;m;0]; for i=1:s-1,a(i)=(m(i+1)-m(i))/(6*h);b(i)=((m(i))/); c(i)=((y(i+1)-y(i))/h)-((m(i+1)+*m(i))/6)*h;d(i)=y(i); as=['(' numstr(a(i)) ')'];bs=['(' numstr(b(i)) ')']; cs= ['(' numstr(c(i)) ')'];ds=['(' numstr(d(i)) ')']; xi=numstr(t(i)); guns=[ as '*(x-' xi ')^3+' bs '*(x-' xi ')^+' cs '*(x-' xi ')+' ds ]; gun=inline( guns, 'x');fplot(gun,[ t(i) t(i+1) ],'k-'); end;axis([ ]);legend('Data points', 'Cubic spline') ; grid;hold off; Koodi on kuitenkin jätetty kommentoimatta ja se on ulkoasultaan sekä luettavuudeltaan huono. Tehtäväsi on kommentoida koodi (vihje: etsi pdf-tiedostosta se menetelmä, jota on käytetty koodauksen pohjana) sekä parantaa sen ulkoasua ja luettavuutta. Keksi parannuksia koodiin!

13 :34 C:\Users\Juha Jaako\AppData\Local\Microsoft\Windo...\K3_korjattu.m 1 of % Matlab-kurssi 010 % clear all ; format compact ; hold on ; % Maaritellaan t eli aika välille t = [1964 : 1 : 009] ; % Valmistuneiden maarat em. vuosina y = [, 8, 1, 10, 6, 1, 1, 13, 19, 35, 5, 34, 1, 8, 37,... 33, 4, 3, 33, 30, 5, 14,, 8, 5, 7, 34, 38, 44, 64,... 47, 44, 6, 41, 46, 53, 51, 60, 7, 85, 79, 79, 85, 83, 105, 78 ] ; % Piirretaan kuvaajaan aluksi valmistuneiden maarat mustina palloina ajan % ollessa x-akselilla plot (t, y, 'ko') ; % Lähdetaan muodostamaan annetuille tiedoille käyrää luonnollisten splinien % menetelmällä. Määritellaan muuttuja s muuttujan t pituuden mukaan eli % tästä saadaan alkuarvo pisteiden määrälle. Splinien muodostamiseen % tarkoitettujen matriisien koko tullaan määrittämään tämän mukaan. s = length(t) ; % Matriisin ensimmainen rivi, muotoa [ ] B = [4,1,zeros(1,s-4)] ; for i = :s-3, end ; % Matriisin "sisaosa" jossa 1,4,1-osa liukuu vasemmasta laidasta % oikeaan laitaan kierros kierrokselta. temp = [ zeros(1,i-),1,4,1,zeros(1,s-4) ] ; B = [B;temp(1:s-)]; % Matriisin viimeinen rivi, muotoa [ ] B = [ B;zeros(1,s-4),1,4 ] ; % Poistetaan turhat 0-elementit B=sparse(B) ; % Selvitetaan kahden edellisen arvon välinen ero, muuttuja h, % tässä tapauksessa kaikki arvot ovat vuoden ts. tasaisin valein % eli niiden valinen ero on aina 1. Ainakaan kaavan % mukaan, % jossa h = x(i) - x(i-1). Siis tällä koodilla ei pystytä laskemaan % epatasaisesti x-akselille sijoittuneita pisteita. (Nyt siis lasketaan % vain laiskasti vuosien 1965 ja 1964 erotus.) h = t() - t(1) ; k = 6/(h^) ; for i=1:s-, end ; % Rakennetaan matriisi z, joka sisaltaa yhdella rivilla kaikkien % menetelmassa kaytettyjen yi - *y - y3 - arvot. z(i) = k*(y(i) - *y(i+1) + y(i+)) ; z = z' ; % Transpoosi matriisista z M = B\z ; % Ratkaistaan M. M = [ 0 ; M ; 0 ] ; % Lisätään nollat alkuun ja loppuun. for i=1:s-1, % Ratkaistaan kierroksen splinin funktion kertoimien arvot a(i) = (M(i+1)-M(i))/(6*h) ; b(i) = ((M(i))/) ; c(i) = ((y(i+1)-y(i))/h)-((m(i+1)+*m(i))/6)*h ; d(i) = y(i) ; % Muutetaan luvut merkkijonoiksi. as = ['(' numstr(a(i)) ')'] ; bs = ['(' numstr(b(i)) ')'] ; cs = ['(' numstr(c(i)) ')'] ; ds = ['(' numstr(d(i)) ')'] ; % Muodostetaan kertoimista funktio josta voidaan jokaisella

14 :34 C:\Users\Juha Jaako\AppData\Local\Microsoft\Windo...\K3_korjattu.m of end ; % kierroksella ja t:n arvolla ratkaista y. xi = numstr (t(i)) ; guns=[ as '*(x-' xi ')^3+' bs '*(x-' xi ')^+' cs '*(x-' xi ')+' ds ] ; gun = inline( guns, 'x') ; % Piirretaan jokaisella kierroksella palanen splinia, edellisestä % pisteestä seuraavaan pisteeseen. fplot (gun, [ t(i) t(i+1) ], 'r-') ; % Määritetään akselit axis ([ ]) ; % Selvennetään kaavion merkit legend ('Data points', 'Cubic spline') ; % Selvennetään akselit ylabel ('Valmistuneiden maara') xlabel ('Vuosiluku') grid ; hold off ;

15 1 Ohjelmointi ja Matlab syksy 010 Kotitehtävä 4 Annettu Palautettava klo 3:59 mennessä (H 3.1) For n = 0, 1,..., 5, fit a polynomial of degree n by least squares to the following data: t y Make a plot of the original data points along with each resulting polynomial curve (you may make separate graphs for each curve or a single graph containing all of the curves). Which polynomial would you say captures the general trend of the data better? Obviously, this is a subjective question, and its answer depends on both the nature of the given data (e.g., the uncertainty of the data values) and the purpose of the fit. Explain your assumptions in answering. Use Matlab. Ratkaisu: Piirretään ensin datapisteet koordinaatistoon: >> clear all >> t = [ ] ; >> y = [ ] ; >> plot (t, y, 'ko') ; axis ( [ ] ) ; grid on ; Kuvion perusteella näyttää siltä, että polynomimalli sopii hyvin käyttötarkoitukseemme. On vain valittava sopivin pienimmän neliösumman mielessä.

16 Pienimmän neliösumman menetelmän (PNS, method of least squares, least squares, esim: käyttöä olitte jo harjoitelleet tehdyn harjoitteen puitteissa, jolloin havaittiin, että Matlabia käyttäen ongelman ratkaisu (parametrien suhteen lineaarisessa tapauksessa) ei ole kovin vaikeaa. Koodataan seuraava koodi, joka piirtää kaikki sovitukset samaan kuvioon (voi myös käyttää subplot -komentoja ja piirtää kuusi erillistä pikkukuviota tai piirtää kuusi erillistä isoa kuviota): % K4_010_MetO.m % Pienimmän neliösumman menetelmä. % & (c) Juha Jaako format compact ; clear all ; % Pito päälle (sallii kuvaa kohti useita piirtokomentoja). hold on ; % Mittaustiedot. t = [ ] ; y = [ ] ; % Piirretään mittaustiedot koordinaatistoon. plot (t, y, 'ko') ; % Datapisteet kuvioon. grid on ; % Ruudukko kuvioon. % Lisätään akselitiedot. axis ( [ ] ) ; % Määritellään akselit: t ; y xlabel ( '\it t' ) ; % Teksti x-akselille. ylabel ( '\it y' ) ; % Teksti y-akselille. title ( 'Polynomisovitus: n = 0, 1,..., 5') ; % Kuvion otsikko. %%% Polynomit : n = 0, 1,, 3, 4, 5 % Tähän voisi tehdä for... end -silmukan. % n = 0 : y = a0 A = [ones(length(t),1)] ; b = y' ; x = A \ b ; a0 = x ; yp = [ '(' numstr(a0) ')' ] ; yf = inline (yp, 't') ; disp (yf) ; fplot (yf, [ 0 7], 'k--' ) ; % Neliösumman arvo. temp = [ yf(t(1)), yf(t()), yf(t(3)), yf(t(4)), yf(t(5)), yf(t(6)) ] ; neliosumma0 = sum ((y - temp).^) % n = 1 : y = a1*t + a0 % PNS-matriisi : A x = b A = [t', ones(length(t),1)] ; b = y' ; x = A \ b ; a1 = x(1) ; a0 = x() ; yp = [ '(' numstr(a1) ')*t+(' numstr(a0) ')' ] ; yf = inline (yp, 't') ; disp (yf) ; fplot (yf, [ 0 7], 'b--' ) ; % Neliösumman arvo. temp = [ yf(t(1)), yf(t()), yf(t(3)), yf(t(4)), yf(t(5)), yf(t(6)) ] ; neliosumma1 = sum ((y - temp).^)

17 3 % n = : y = a*t^ + a1*t + a0 % PNS-matriisi : A x = b A = [(t.^)', t', ones(length(t),1)] ; b = y' ; x = A \ b ; a = x(1) ; a1 = x() ; a0 = x(3) ; yp = [ '(' numstr(a) ')*t^+(' numstr(a1) ')*t+(' numstr(a0) ')' ] ; yf = inline (yp, 't') ; disp (yf) ; fplot (yf, [ 0 7], 'r--' ) ; % Neliösumman arvo. temp = [ yf(t(1)), yf(t()), yf(t(3)), yf(t(4)), yf(t(5)), yf(t(6)) ] ; neliosumma = sum ((y - temp).^) % n = 3 : y = a3*t^3 + a*t^ + a1*t + a0 % PNS-matriisi : A x = b A = [(t.^3)', (t.^)', t', ones(length(t),1)] ; b = y' ; x = A \ b ; a3 = x(1) ; a = x() ; a1 = x(3) ; a0 = x(4) ; yp = [ '(' numstr(a3) ')*t^3+(' numstr(a) ')*t^+('... numstr(a1) ')*t+(' numstr(a0) ')' ] ; yf = inline (yp, 't') ; disp (yf) ; fplot (yf, [ 0 7], 'k.-' ) ; % Neliösumman arvo. temp = [ yf(t(1)), yf(t()), yf(t(3)), yf(t(4)), yf(t(5)), yf(t(6)) ] ; neliosumma3 = sum ((y - temp).^) % n = 4 : y = a4*t^4 + a3*t^3 + a*t^ + a1*t + a0 % PNS-matriisi : A x = b A = [(t.^4)', (t.^3)', (t.^)', t', ones(length(t),1)] ; b = y' ; x = A \ b ; a4 = x(1) ; a3 = x() ; a = x(3) ; a1 = x(4) ; a0 = x(5) ; yp = [ '(' numstr(a4) ')*t^4+(' numstr(a3) ')*t^3+(' numstr(a)... ')*t^+(' numstr(a1) ')*t+(' numstr(a0) ')' ] ; yf = inline (yp, 't') ; disp (yf) ; fplot (yf, [ 0 7], 'b.-' ) ; % Neliösumman arvo. temp = [ yf(t(1)), yf(t()), yf(t(3)), yf(t(4)), yf(t(5)), yf(t(6)) ] ; neliosumma4 = sum ((y - temp).^) % n = 5 : y = a5*t^5 + a4*t^4 + a3*t^3 + a*t^ + a1*t + a0 % PNS-matriisi : A x = b A = [(t.^5)', (t.^4)', (t.^3)', (t.^)', t', ones(length(t),1)] ; b = y' ; x = A \ b ; a5 = x(1) ; a4 = x() ; a3 = x(3) ; a = x(4) ; a1 = x(5) ; a0 = x(6) ; yp = [ '(' numstr(a5) ')*t^5+(' numstr(a4) ')*t^4+(' numstr(a3)... ')*t^3+(' numstr(a) ')*t^+(' numstr(a1) ')*t+(' numstr(a0) ')' ] ; yf = inline (yp, 't') ; disp (yf) ; fplot (yf, [ 0 7], 'r.-' ) ; % Neliösumman arvo. temp = [ yf(t(1)), yf(t()), yf(t(3)), yf(t(4)), yf(t(5)), yf(t(6)) ] ; neliosumma5 = sum ((y - temp).^) % Selitteet. legend ( 'datapisteet', 'n=0', 'n=1', 'n=', 'n=3', 'n=4', 'n=5', ) ; % Pito pois. hold off ;

18 4 Saamme seuraavan kuvion datapisteet n=0 n=1 n= n=3 n=4 n=5 Polynomisovitus: n = 0, 1,..., 5 y t ja tulosteen, josta näkyvät myös lasketut malliparametrit ja neliösummat (ulkoasua muokattu): >> K4_010_MetO Inline function: yf(t) = (5.5833) neliosumma0 = Inline function: yf(t) = (1.7057)*t+(1.319) neliosumma1 = Inline function: yf(t) = ( )*t^+(.1789)*t+(1.0036) neliosumma = Inline function: yf(t) = ( )*t^3+( )*t^+(3.1557)*t+( ) neliosumma3 = Inline function: yf(t) = (0.1065)*t^4+(-0.991)*t^3+(.634)*t^+( )*t+( ) neliosumma4 = Inline function: yf(t) = ( )*t^5+( )*t^4+(-4.15)*t^3+(8.304)*t^+( )*t+(1) neliosumma5 = e-006 Yleensä sopivimman mallin valinta tapahtuu silmämääräisesti sekä laskemalla tunnuslukuja. Yleisin tunnusluku on selitysaste R tai neliösumman arvo. Selitysaste ilmoittaa, kuinka suuri murto-osa y:n arvoissa todetusta vaihtelusta voidaan selittää t:n arvoissa tapahtuneilla muutoksilla. Selitysasteet eri malleille ovat (miten lasketaan?): n R Neliösumma 0 << e-006 ~ 0

19 5 Yleensä mallia pidetään hyvänä, jos selitysaste on parempi kuin 0.9 (tai neliösumma ei ole kovin suuri). Nyt tilanne on malleilla n > 0 tämä. Lisäksi mallien selityaste kasvaa polynomin asteen kasvaessa. Arvolla n = 5 selitysaste on jopa 1 (miksi?). Katsotaan nyt mallien n = tilannetta. malli n = 0 : Kuvaajasta näemme, että malli kuvaa erittäin huonosti dataa (neliösumma suuri). Poistamme tilanteen n = 0 ja saamme seuraavan kuvion datapisteet n=1 n= n=3 n=4 n=5 Polynomisovitus: n = 1,..., 5 y t mallit n = 4 ja n = 5 : Kuvaajista näemme, että mallit kuvaavat dataa hyvin datapisteissä, kohtalaisesti datapisteiden välillä (interpolaatio) mutta erittäin huonosti välillä t > 5 (ekstrapolointi). Poistamme tilanteet n = 4 ja n = 5 ja saamme kuvion datapisteet n=1 n= n=3 Polynomisovitus: n = 1,..., 3 8 y t

20 6 mallit n = 1, n = ja n = 3 : Mallit kuvaavat hyvin dataa sekä datapisteiden välillä että välillä x > 5. Periaatteessa kaikki mallit käyvät, mutta koska yleensä pyritään käyttämään mahdollisimman yksinkertaista mallia, poistetaan tilanne n = 3 tarkastelusta. Saamme 14 1 datapisteet n=1 n= Polynomisovitus: n = 1, 10 8 y t Nyt on aika tavalla makuasia, käyttääkö mallia n = 1 vai n =. Kummallakin valinnalla on puolensa. y(t) = *t y(t) = *t^ *t n R Neliösumma

21 1 Ohjelmointi ja Matlab syksy 010 Kotitehtävä 5 palautettava klo 3:59 mennessä Suppose that in a certain city, the pollution level is measured at two-hour intervals, beginning at midnight. These measurements were recorded for a one-week period and stored in a Matlab matrix, the first line of which contains the pollution levels for day 1, the second line for day, and so on. For example, suppose the pollution matrix for a certain week contains the following data: A = [ 30, 30, 31, 3, 35, 40, 43, 44, 47, 45, 40, 38 ;... 33, 3, 30, 34, 40, 48, 46, 49, 53, 49, 45, 40 ;... 38, 35, 34, 37, 44, 50, 51, 54, 60, 58, 51, 49 ;... 49, 48, 47, 53, 60, 70, 73, 75, 80, 75, 73, 60 ;... 55, 54, 53, 65, 70, 80, 90, 93, 95, 94, 88, 6 ;... 73, 70, 65, 66, 71, 78, 74, 78, 83, 75, 66, 58 ;... 50, 47, 43, 35, 30, 33, 37, 43, 45, 5, 39, 31 ] ; A Matlab program (or programs) is (are) to be written to produce a weekly report displaying the pollution levels. Ongelman ratkaisu: Ensimmäinen ongelma mittausdataa käsiteltäessä on, että onko viikon ensimmäinen päivä maanantai (kuten Suomessa) vai sunnuntai (kuten Yhdysvalloissa). Tässä käsittelyssä on oletettu, että viikon ensimmäinen päivä on sunnuntai. Mikäli käytämme viikon ensimmäisenä päivänä maanantaita, niin koodeihin on tehtävä vastaavat muutokset. Millaisia raportteja mittausdatasta voi sitten tehdä? Tarjolla on useita vaihtoehtoja: erilaisia taulukoita, kuvaajia tai edellisten yhdistelmiä. Tässä esityksessä tehdään yksi taulukko ja neljä erilaista kuvaajaa: kellonaika vs. saastetaso eri päivinä (time of day vs. pollution level) viikonpäivä vs. saastetaso eri kellonaikoina (day of week vs. pollution level) koko viikko vs. saastetaso (whole week vs. pollution level) saastetason luokka vs. lukumäärä (values range vs. number of occurrences) Teemme ensiksi ohjelman (pollution_data.m), joka tallettaa datan (vektorin t ja matriisin A) datatiedostoon pollution_data.mat. % pollution_data.m % & (c) Juha Jaako clear all ; % Mittausajakohdat. t = [ 0,, 4, 6, 8, 10, 1, 14, 16, 18, 0, ] ; % Saastetaso. A = [ 30, 30, 31, 3, 35, 40, 43, 44, 47, 45, 40, 38 ; 33, 3, 30, 34, 40, 48, 46, 49, 53, 49, 45, 40 ; 38, 35, 34, 37, 44, 50, 51, 54, 60, 58, 51, 49 ; 49, 48, 47, 53, 60, 70, 73, 75, 80, 75, 73, 60 ; 55, 54, 53, 65, 70, 80, 90, 93, 95, 94, 88, 6 ; 73, 70, 65, 66, 71, 78, 74, 78, 83, 75, 66, 58 ; 50, 47, 43, 35, 30, 33, 37, 43, 45, 5, 39, 31 ] ; save pollution_data t A ; disp ( 'Tietojen tallennus tapahtui' ) ; Nyt voimme ladata mittausdatan aina tarvittaessa ohjelmaan load -komennolla.

22 Voimme esittää datan yksinkertaisessa taulukkomuodossa seuraavasti (esim. siirrettäväksi Wordtekstinkäsittelyohjelmaan): % pollution_table.m % & (c) Juha Jaako clear all ; format compact ; % Ladataan datatiedosto. load pollution_data t A ; % Matriisin koko. [rows, colunms ] = size (A) ; % Viikonpäivät. names = ( [ 'Sunday : ' ; 'Monday : ' ; 'Tuesday : ' ;... 'Wednesday : ' ; 'Thursday : ' ; 'Friday : ' ;... 'Saturday : ' ] ) ; % Tehdään taulukko näytölle; taulukon voi kirjoittaa myös tiedostoon. % Lasketaan taulukkoon myös kunkin päivän keskiarvot. disp ( ' ' ) ; disp ( 'Pollution Data for Week X' ) ; disp ( ' Time of Day' ) ; disp ( [ 'Day : ' sprintf('%3d', t) ' Mean' ]) ; disp ( ' ' ) ; for i = 1 : rows, disp([names(i,:) sprintf('%3d',a(i,:)) sprintf('%6.1f', mean(a(i,:)))]) ; end Tulosteena saamme: >> pollution_table Pollution Data for Week X Time of Day Day : Mean Sunday : Monday : Tuesday : Wednesday : Thursday : Friday : Saturday :

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa.

Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. Laskuharjoitus 1A Mallit Tässä dokumentissa on ensimmäisten harjoitusten malliratkaisut MATLABskripteinä. Voit kokeilla itse niiden ajamista ja toimintaa MATLABissa. 1. tehtävä %% 1. % (i) % Vektorit luodaan

Lisätiedot

Zeon PDF Driver Trial

Zeon PDF Driver Trial Matlab-harjoitus 2: Kuvaajien piirto, skriptit ja funktiot. Matlabohjelmoinnin perusteita Numeerinen integrointi trapezoidaalimenetelmällä voidaan tehdä komennolla trapz. Esimerkki: Vaimenevan eksponentiaalin

Lisätiedot

Matlabin perusteita Grafiikka

Matlabin perusteita Grafiikka BL40A0000 SSKMO KH 1 Seuraavassa esityksessä oletuksena on, että Matlabia käytetään jossakin ikkunoivassa käyttöjärjestelmässä (PC/Win, Mac, X-Window System). Käytettäessä Matlabia verkon yli joko tekstipäätteeltä,

Lisätiedot

SIMULINK S-funktiot. SIMULINK S-funktiot

SIMULINK S-funktiot. SIMULINK S-funktiot S-funktio on ohjelmointikielellä (Matlab, C, Fortran) laadittu oma algoritmi tai dynaamisen järjestelmän kuvaus, jota voidaan käyttää Simulink-malleissa kuin mitä tahansa valmista lohkoa. S-funktion rakenne

Lisätiedot

Selvitä, mitä koodi tekee sekä kommentoi ja täydennä koodi. Työn arvostelussa kiinnitän erityistä huomiota työn raportoinnin kattavuuteen.

Selvitä, mitä koodi tekee sekä kommentoi ja täydennä koodi. Työn arvostelussa kiinnitän erityistä huomiota työn raportoinnin kattavuuteen. Ohjelmointi ja Matlab : syksy 0 : 5.9.-9.0.0 Kotitehtävä : Seuraavassa on esitetty Matlab-koodi, joka laskee jotakin. %om_0_k.m A=[,,0;-,,;0,,4];b=[;;3];n=length(b); for k=:n-,for i=k+:n,if A(i,k)~=0,

Lisätiedot

Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi. Esimerkit laskettu JMP:llä

Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi. Esimerkit laskettu JMP:llä Tilastollinen vastepintamallinnus: kokeiden suunnittelu, regressiomallin analyysi, ja vasteen optimointi Esimerkit laskettu JMP:llä Antti Hyttinen Tampereen teknillinen yliopisto 29.12.2003 ii Ohjelmien

Lisätiedot

Numeeriset menetelmät Pekka Vienonen

Numeeriset menetelmät Pekka Vienonen Numeeriset menetelmät Pekka Vienonen 1. Funktion nollakohta Newtonin menetelmällä 2. Määrätty integraali puolisuunnikassäännöllä 3. Määrätty integraali Simpsonin menetelmällä Newtonin menetelmä Newtonin

Lisätiedot

Week 36 31.8.2015-6.9.2015

Week 36 31.8.2015-6.9.2015 Week 36 31.8.2015-6.9.2015 Monday 31.8. Tuesday 1.9. Wednesday 2.9. Thursday 3.9. Friday 4.9. Saturday 5.9. Sunday 6.9. 10:15 - TS127 Seminar in Telecommunication and Radio Engineering, Seminaari 12:15

Lisätiedot

Week 46 9.11.2015-15.11.2015

Week 46 9.11.2015-15.11.2015 Week 46 9.11.2015-15.11.2015 Monday 9.11. Tuesday 10.11. Wednesday 11.11. Thursday 12.11. Friday 13.11. Saturday 14.11. Sunday 15.11. TF105 Finnish 1 Finnish 2 SÄ124 1 Seminar in Telecommunication and

Lisätiedot

Yhtälön ratkaiseminen

Yhtälön ratkaiseminen Yhtälön ratkaiseminen Suora iterointi Kirjoitetaan yhtälö muotoon x = f(x). Ensin päätellään jollakin tavoin jokin alkuarvo x 0 ja sijoitetaan yhtälön oikealle puolelle, jolloin saadaan tarkennettu ratkaisu

Lisätiedot

plot(f(x), x=-5..5, y=-10..10)

plot(f(x), x=-5..5, y=-10..10) [] Jokaisen suoritettavan rivin loppuun ; [] Desimaalierotin Maplessa on piste. [] Kommentteja koodin sekaan voi laittaa # -merkin avulla. Esim. #kommentti tähän [] Edelliseen tulokseen voi viitata merkillä

Lisätiedot

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011

PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9.2.2011 PRELIMINÄÄRIKOE PITKÄ MATEMATIIKKA 9..0 Kokeessa saa vastata enintään kymmeneen tehtävään.. Sievennä a) 9 x x 6x + 9, b) 5 9 009 a a, c) log 7 + lne 7. Muovailuvahasta tehty säännöllinen tetraedri muovataan

Lisätiedot

Säätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia 29.7.2002

Säätötekniikan matematiikan verkkokurssi, Matlab tehtäviä ja vastauksia 29.7.2002 Matlab tehtäviä 1. Muodosta seuraavasta differentiaaliyhtälöstä siirtofuntio. Tämä differentiaaliyhtälö saattaisi kuvata esimerkiksi yksinkertaista vaimennettua jousi-massa systeemiä, johon on liitetty

Lisätiedot

Tieteellinen laskenta 2 Törmäykset

Tieteellinen laskenta 2 Törmäykset Tieteellinen laskenta 2 Törmäykset Aki Kutvonen Op.nmr 013185860 Sisällysluettelo Ohjelman tekninen dokumentti...3 Yleiskuvaus...3 Kääntöohje...3 Ohjelman yleinen rakenne...4 Esimerkkiajo ja käyttöohje...5

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2011 1 / 34 Luentopalaute kännykällä käynnissä! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

a) Mikä on integraalifunktio ja miten derivaatta liittyy siihen? Anna esimerkki. 8 3 + 4 2 0 = 16 3 = 3 1 3.

a) Mikä on integraalifunktio ja miten derivaatta liittyy siihen? Anna esimerkki. 8 3 + 4 2 0 = 16 3 = 3 1 3. Integraalilaskenta. a) Mikä on integraalifunktio ja miten derivaatta liittyy siihen? Anna esimerkki. b) Mitä määrätty integraali tietyllä välillä x tarkoittaa? Vihje: * Integraali * Määrätyn integraalin

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 1 Suunnattu derivaatta Aluksi tarkastelemme vektoreita, koska ymmärrys vektoreista helpottaa alla olevien asioiden omaksumista. Kun liikutaan tasossa eli avaruudessa

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 16.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 16.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet

T211003 Sovellusohjelmat Matlab osa 4: Skriptit, funktiot ja kontrollirakenteet Ohjelmointi Matlab-komentoja voidaan koota ns. M-tiedostoon. Nimi tulee tiedoston tarkentimesta.m. Matlabilla voidaan ohjelmoida kahdella eri tavalla: Skriptit eli komentojonot eli makrot Funktiot eli

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 27.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 27.1.2010 1 / 37 If-käsky toistokäskyn sisällä def main(): HELLERAJA = 25.0 print "Anna lampotiloja, lopeta -300:lla."

Lisätiedot

7 Osa 7: Pidempiä esimerkkejä R:n käytöstä

7 Osa 7: Pidempiä esimerkkejä R:n käytöstä 7 Osa 7: Pidempiä esimerkkejä R:n käytöstä R:n pääasiallinen käyttö monelle on tilastollisten menetelmien suorittaminen. Käydään nyt läpi joitain esimerkkitilanteita, alkaen aineiston luvusta ja päättyen

Lisätiedot

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0.

f(x, y) = x 2 y 2 f(0, t) = t 2 < 0 < t 2 = f(t, 0) kaikilla t 0. Ääriarvon laatu Jatkuvasti derivoituvan funktion f lokaali ääriarvokohta (x 0, y 0 ) on aina kriittinen piste (ts. f x (x, y) = f y (x, y) = 0, kun x = x 0 ja y = y 0 ), mutta kriittinen piste ei ole aina

Lisätiedot

Aki Taanila LINEAARINEN OPTIMOINTI

Aki Taanila LINEAARINEN OPTIMOINTI Aki Taanila LINEAARINEN OPTIMOINTI 26.4.2011 JOHDANTO Tässä monisteessa esitetään lineaarisen optimoinnin alkeet. Moniste sisältää tarvittavat Excel ohjeet. Viimeisin versio tästä monisteesta ja siihen

Lisätiedot

Säätötekniikan laboratorio Infotech Oulu ja Prosessitekniikan osasto

Säätötekniikan laboratorio Infotech Oulu ja Prosessitekniikan osasto Säätötekniikan laboratorio Infotech Oulu ja Prosessitekniikan osasto MATLAB-ohjelman käyttö eräissä prosessiteknisissä laskuissa Juha Jaako Raportti B No, Syyskuu 999 Sisällysluettelo Sisällysluettelo...

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2015 1 / 25 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Harjoitus 4: Matlab - Optimization Toolbox

Harjoitus 4: Matlab - Optimization Toolbox Harjoitus 4: Matlab - Optimization Toolbox Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Optimointimallin muodostaminen

Lisätiedot

Aluksi. 1.1. Kahden muuttujan lineaarinen yhtälö

Aluksi. 1.1. Kahden muuttujan lineaarinen yhtälö Aluksi Matematiikan käsite suora on tarkalleen sama asia kuin arkikielen suoran käsite. Vai oliko se toisinpäin? Matematiikan luonteesta johtuu, että sen soveltaja ei tyydy pelkkään suoran nimeen eikä

Lisätiedot

jakokulmassa x 4 x 8 x 3x

jakokulmassa x 4 x 8 x 3x Laudatur MAA ratkaisut kertausarjoituksiin. Polynomifunktion nollakodat 6 + 7. Suoritetaan jakolasku jakokulmassa 5 4 + + 4 8 6 6 5 4 + 0 + 0 + 0 + 0+ 6 5 ± 5 5 4 ± 4 4 ± 4 4 ± 4 8 8 ± 8 6 6 + ± 6 Vastaus:

Lisätiedot

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1.

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1. Kotitehtävät, tammikuu 2011 Vaikeampi sarja 1. Ratkaise yhtälöryhmä w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1. Ratkaisu. Yhtälöryhmän ratkaisut (w, x, y, z)

Lisätiedot

56 Ulkoilun useus Koko vuosi Tammi maaliskuu Kesä elokuu Syys joulukuu ja ajankäyttö Year around January March June-August September December viikossa Weekly frequency and time use Ka / Mean Koko väestö

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi

MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi MS-A0202 Differentiaali- ja integraalilaskenta 2 (SCI) Luento 4: Ketjusäännöt ja lineaarinen approksimointi Antti Rasila Aalto-yliopisto Syksy 2015 Antti Rasila (Aalto-yliopisto) MS-A0202 Syksy 2015 1

Lisätiedot

4.1 Kaksi pistettä määrää suoran

4.1 Kaksi pistettä määrää suoran 4.1 Kaksi pistettä määrää suoran Kerrataan aluksi kurssin MAA1 tietoja. Geometrisesti on selvää, että tason suora on täysin määrätty, kun tunnetaan sen kaksi pistettä. Joskus voi tulla vastaan tilanne,

Lisätiedot

Aki Taanila YHDEN SELITTÄJÄN REGRESSIO

Aki Taanila YHDEN SELITTÄJÄN REGRESSIO Aki Taanila YHDEN SELITTÄJÄN REGRESSIO 26.4.2011 SISÄLLYS JOHDANTO... 1 LINEAARINEN MALLI... 1 Selityskerroin... 3 Excelin funktioita... 4 EKSPONENTIAALINEN MALLI... 4 MALLIN KÄYTTÄMINEN ENNUSTAMISEEN...

Lisätiedot

Harjoitus 9: Excel - Tilastollinen analyysi

Harjoitus 9: Excel - Tilastollinen analyysi Harjoitus 9: Excel - Tilastollinen analyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen regressioanalyysiin

Lisätiedot

Jos havaitaan päivän ylin lämpötila, mittaustuloksissa voi esiintyä seuraavantyyppisiä virheitä:

Jos havaitaan päivän ylin lämpötila, mittaustuloksissa voi esiintyä seuraavantyyppisiä virheitä: Mittausten virheet Jos havaitaan päivän ylin lämpötila, mittaustuloksissa voi esiintyä seuraavantyyppisiä virheitä: 1. Luemme lämpömittarin vain asteen tarkkuudella. Ehkä kyseessä on digitaalimittari,

Lisätiedot

Kokeellista matematiikkaa SAGE:lla

Kokeellista matematiikkaa SAGE:lla Kokeellista matematiikkaa SAGE:lla Tutkin GeoGebralla 1 luonnollisen luvun jakamista tekijöihin 2. GeoGebran funktio Alkutekijät jakaa luvun tekijöihin ja tuottaa alkutekijät listana. GeoGebrassa lista

Lisätiedot

1.4 Funktion jatkuvuus

1.4 Funktion jatkuvuus 1.4 Funktion jatkuvuus Kun arkikielessä puhutaan jonkin asian jatkuvuudesta, mielletään asiassa olevan jonkinlaista yhtäjaksoisuutta, katkeamattomuutta. Tässä ei kuitenkaan käsitellä työasioita eikä ihmissuhteita,

Lisätiedot

S-114.3812 Laskennallinen Neurotiede

S-114.3812 Laskennallinen Neurotiede S-114.3812 Laskennallinen Neurotiede Laskuharjoitus 2 4.12.2006 Heikki Hyyti 60451P Tehtävä 1 Tehtävässä 1 piti tehdä lineaarista suodatusta kuvalle. Lähtötietoina käytettiin kuvassa 1 näkyvää harmaasävyistä

Lisätiedot

SEM1, työpaja 2 (12.10.2011)

SEM1, työpaja 2 (12.10.2011) SEM1, työpaja 2 (12.10.2011) Rakenneyhtälömallitus Mplus-ohjelmalla POLKUMALLIT Tarvittavat tiedostot voit ladata osoitteesta: http://users.utu.fi/eerlaa/mplus Esimerkki: Planned behavior Ajzen, I. (1985):

Lisätiedot

May 24 to May 30, 2010

May 24 to May 30, 2010 May 24 to May 30, 2010 Week 21 DIopeksi - May 2010 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 31 5 6 Monday 24 Tuesday 25 Wednesday 26 Thursday 27 Friday 28 Saturday 29 Sunday

Lisätiedot

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 12.4.2016 Julkaiseminen sallittu vain koulun suljetussa verkossa.

MAY1 Tehtävien ratkaisut Kustannusosakeyhtiö Otava päivitetty 12.4.2016 Julkaiseminen sallittu vain koulun suljetussa verkossa. KERTAUS Lukujono KERTAUSTEHTÄVIÄ K1. Ratkaisussa annetaan esimerkit mahdollisista säännöistä. a) Jatketaan lukujonoa: 2, 4, 6, 8, 10, 12, 14, 16, Rekursiivinen sääntö on, että lukujonon ensimmäinen jäsen

Lisätiedot

Lataa ilmaiseksi mafyvalmennus.fi/mafynetti. Valmistaudu pitkän- tai lyhyen matematiikan kirjoituksiin ilmaiseksi Mafynetti-ohjelmalla!

Lataa ilmaiseksi mafyvalmennus.fi/mafynetti. Valmistaudu pitkän- tai lyhyen matematiikan kirjoituksiin ilmaiseksi Mafynetti-ohjelmalla! Miten opit parhaiten? Valmistaudu pitkän- tai lyhyen matematiikan kirjoituksiin ilmaiseksi Mafynetti-ohjelmalla! n Harjoittelu tehdään aktiivisesti tehtäviä ratkomalla. Tehtävät kattavat kaikki yo-kokeessa

Lisätiedot

cos x 13 12 cos 2x dx a) symbolisesti, b) numeerisesti. Piirrä integroitavan funktion kuvaaja. Mikä itse asiassa on integraalin arvo?

cos x 13 12 cos 2x dx a) symbolisesti, b) numeerisesti. Piirrä integroitavan funktion kuvaaja. Mikä itse asiassa on integraalin arvo? Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos Matlab-tehtäviä, käyrän sovitus -e Differentiaali- ja integraalilaskenta 1. Laske integraali 2π cos x 13 12 cos 2x dx a) symbolisesti, b) numeerisesti.

Lisätiedot

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 10.6.2013 klo 10-13 Ratkaisut ja pisteytysohjeet

Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe 10.6.2013 klo 10-13 Ratkaisut ja pisteytysohjeet Helsingin, Itä-Suomen, Jyväskylän, Oulun, Tampereen ja Turun yliopisto Matematiikan valintakoe.6. klo - Ratkaisut ja pisteytysohjeet. Ratkaise seuraavat epäyhtälöt ja yhtälö: a) x+ x +9, b) log (x) 7,

Lisätiedot

KOMPLEKSILUVUT C. Rationaaliluvut Q. Irrationaaliluvut

KOMPLEKSILUVUT C. Rationaaliluvut Q. Irrationaaliluvut KOMPLEKSILUVUT C Luonnolliset luvut N Kokonaisluvut Z Rationaaliluvut Q Reaaliluvut R Kompleksi luvut C Negat kokonaisluvut Murtoluvut Irrationaaliluvut Imaginaariluvut Erilaisten yhtälöiden ratkaiseminen

Lisätiedot

Lukion. Calculus. Paavo Jäppinen Alpo Kupiainen Matti Räsänen Otava PIKATESTIN JA KERTAUSKOKEIDEN TEHTÄVÄT RATKAISUINEEN

Lukion. Calculus. Paavo Jäppinen Alpo Kupiainen Matti Räsänen Otava PIKATESTIN JA KERTAUSKOKEIDEN TEHTÄVÄT RATKAISUINEEN Calculus Lukion MAA7 Derivaatta Paavo Jäppinen Alpo Kupiainen Matti Räsänen Otava PIKATESTIN JA KERTAUSKOKEIDEN TEHTÄVÄT RATKAISUINEEN Derivaatta (MAA7) Pikatesti ja kertauskokeet Tehtävien ratkaisut Pikatesti

Lisätiedot

S-55.1100 SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA

S-55.1100 SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA S-55.00 SÄHKÖKNKKA A KONKKA. välikoe 2..2008. Saat vastata vain neljään tehtävään!. aske jännite U. = 4 Ω, 2 = Ω, = Ω, = 2, 2 =, = A, 2 = U 2 2 2 2. ännitelähde tuottaa hetkestä t = t < 0 alkaen kaksiportaisen

Lisätiedot

Malliratkaisut Demo 1

Malliratkaisut Demo 1 Malliratkaisut Demo 1 1. Merkitään x = kuinka monta viikkoa odotetaan ennen kuin perunat nostetaan. Nyt maksimoitavaksi kohdefunktioksi tulee f(x) = (60 5x)(300 + 50x). Funktio f on alaspäin aukeava paraaeli,

Lisätiedot

4 / 2013 TI-NSPIRE CAS TEKNOLOGIA LUKIOSSA. T3-kouluttajat: Olli Karkkulainen ja Markku Parkkonen

4 / 2013 TI-NSPIRE CAS TEKNOLOGIA LUKIOSSA. T3-kouluttajat: Olli Karkkulainen ja Markku Parkkonen 4 / 2013 TI-NSPIRE CAS TEKNOLOGIA LUKIOSSA T3-kouluttajat: Olli Karkkulainen ja Markku Parkkonen 1 2 TI-Nspire CX CAS kämmenlaite kevään 2013 pitkän matematiikan kokeessa Tehtävä 1. Käytetään komentoa

Lisätiedot

Jatkuvat satunnaismuuttujat

Jatkuvat satunnaismuuttujat Jatkuvat satunnaismuuttujat Satunnaismuuttuja on jatkuva jos se voi ainakin periaatteessa saada kaikkia mahdollisia reaalilukuarvoja ainakin tietyltä väliltä. Täytyy ymmärtää, että tällä ei ole mitään

Lisätiedot

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä 3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä Lineaarinen m:n yhtälön yhtälöryhmä, jossa on n tuntematonta x 1,, x n on joukko yhtälöitä, jotka ovat muotoa a 11 x 1 + + a 1n x n = b 1 a 21

Lisätiedot

MAA7 HARJOITUSTEHTÄVIÄ

MAA7 HARJOITUSTEHTÄVIÄ MAA7 HARJOITUSTEHTÄVIÄ Selvitä, mitä -akselin väliä tarkoittavat merkinnät: a) < b) U(, ) c) 4 < 0 0 Ilmoita väli a) 4 < < b) ] 5, 765[ tavalla 7 tehtävän a)-kohdan mukaisella kana, kana 0 Palautetaan

Lisätiedot

Bootstrap / HTDP2 / Realm of Racket. Vertailu

Bootstrap / HTDP2 / Realm of Racket. Vertailu Bootstrap / HTDP2 / Realm of Racket Vertailu Bootstrap http://www.bootstrapworld.org/ Tarkoitettu yläkoululaisille (12-15v) Ohjelmointi on integroitu matematiikan opetukseen Materiaalina tuntisuunnitelmat

Lisätiedot

määrittelyjoukko. 8 piirretään tangentti pisteeseen, jossa käyrä leikkaa y-akselin. Määritä tangentin yhtälö.

määrittelyjoukko. 8 piirretään tangentti pisteeseen, jossa käyrä leikkaa y-akselin. Määritä tangentin yhtälö. MAA8 Juuri- ja logaritmifunktiot 5.4.0 Jussi Tyni. a) Derivoi f ( ) 3e 5 Mikä on funktion f () = ln(5 ) 00 määrittelyjoukko. c) Derivoi g( t) 4ln( t t ). Käyrälle g( ) e 8 piirretään tangentti pisteeseen,

Lisätiedot

Metsälamminkankaan tuulivoimapuiston osayleiskaava

Metsälamminkankaan tuulivoimapuiston osayleiskaava VAALAN KUNTA TUULISAIMAA OY Metsälamminkankaan tuulivoimapuiston osayleiskaava Liite 3. Varjostusmallinnus FCG SUUNNITTELU JA TEKNIIKKA OY 12.5.2015 P25370 SHADOW - Main Result Assumptions for shadow calculations

Lisätiedot

Kuvaajien sovittaminen mittausdataan gnuplotohjelmalla

Kuvaajien sovittaminen mittausdataan gnuplotohjelmalla Kuvaajien sovittaminen mittausdataan gnuplotohjelmalla Sini-Jatta Suonio 2010-06-10 Sisällysluettelo 1 Mikä on gnuplot?... 3 2 Datatiedostot... 3 2.1 Ascii-tiedostojen luominen... 4 2.1.1 DataStudio...

Lisätiedot

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot

1 2 x2 + 1 dx. (2p) x + 2dx. Kummankin integraalin laskeminen oikein (vastaukset 12 ja 20 ) antaa erikseen (2p) (integraalifunktiot Helsingin yliopisto, Itä-Suomen yliopisto, Jyväskylän yliopisto, Oulun yliopisto, Tampereen yliopisto ja Turun yliopisto Matematiikan valintakoe (Ratkaisut ja pisteytys) 500 Kustakin tehtävästä saa maksimissaan

Lisätiedot

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti Luku 6 Dynaaminen ohjelmointi Dynaamisessa ohjelmoinnissa on ideana jakaa ongelman ratkaisu pienempiin osaongelmiin, jotka voidaan ratkaista toisistaan riippumattomasti. Jokaisen osaongelman ratkaisu tallennetaan

Lisätiedot

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b Pythonin Kertaus Cse-a1130 Tietotekniikka Sovelluksissa Versio 0.01b Listat 1/2 esimerkkejä listan peruskäytöstä. > lista=['kala','kukko','kissa','koira'] ['kala','kukko','kissa','koira'] >lista.append('kana')

Lisätiedot

1. Lineaarinen optimointi

1. Lineaarinen optimointi 0 1. Lineaarinen optimointi 1. Lineaarinen optimointi 1.1 Johdatteleva esimerkki Esimerkki 1.1.1 Giapetto s Woodcarving inc. valmistaa kahdenlaisia puuleluja: sotilaita ja junia. Sotilaan myyntihinta on

Lisätiedot

http://info.edu.turku.fi/mato/

http://info.edu.turku.fi/mato/ Matemaattisia VALOja Vapaita avoimen lähdekoodin ohjelmia matematiikan opettamiseen ja muuhun matemaattiseen käyttöön. http://info.edu.turku.fi/mato/ LaTeX ja Texmaker LaTeX on ladontaohjelmisto, joka

Lisätiedot

Funktion derivoituvuus pisteessä

Funktion derivoituvuus pisteessä Esimerkki A Esimerkki A Esimerkki B Esimerkki B Esimerkki C Esimerkki C Esimerkki 4.0 Ratkaisu (/) Ratkaisu (/) Mielikuva: Funktio f on derivoituva x = a, jos sen kuvaaja (xy-tasossa) pisteen (a, f(a))

Lisätiedot

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu

Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Luento 1: Optimointimallin muodostaminen; optimointitehtävien luokittelu Merkintöjä := vasen puoli määritellään oikean puolen lausekkeella s.e. ehdolla; siten että (engl. subject to, s.t.) on voimassa

Lisätiedot

HSC-ohje laskuharjoituksen 1 tehtävälle 2

HSC-ohje laskuharjoituksen 1 tehtävälle 2 HSC-ohje laskuharjoituksen 1 tehtävälle 2 Metanolisynteesin bruttoreaktio on CO 2H CH OH (3) 2 3 Laske metanolin tasapainopitoisuus mooliprosentteina 350 C:ssa ja 350 barin paineessa, kun lähtöaineena

Lisätiedot

Luentoesimerkki: Riemannin integraali

Luentoesimerkki: Riemannin integraali Luentoesimerkki: Riemannin integraali Heikki Apiola, "New perpectives "-esitykseen lievästi muokattu Kurssi: Informaatioverkostot, keväällä Tässä (4..) käytetään "worksheet-modea", uudempaa "document mode"

Lisätiedot

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja?

B. 2 E. en tiedä C. 6. 2 ovat luonnollisia lukuja? Nimi Koulutus Ryhmä Jokaisessa tehtävässä on vain yksi vastausvaihtoehto oikein. Laske tehtävät ilman laskinta.. Missä pisteessä suora y = 3x 6 leikkaa x-akselin? A. 3 D. B. E. en tiedä C. 6. Mitkä luvuista,,,

Lisätiedot

Logistinen regressio, separoivat hypertasot

Logistinen regressio, separoivat hypertasot Logistinen regressio, separoivat hypertasot Topi Sikanen Logistinen regressio Aineisto jakautunut K luokkaan K=2 tärkeä erikoistapaus Halutaan mallintaa luokkien vedonlyöntikertoimia (odds) havaintojen

Lisätiedot

ClassPad 330 plus ylioppilaskirjoituksissa apuna

ClassPad 330 plus ylioppilaskirjoituksissa apuna ClassPad 330 plus ylioppilaskirjoituksissa apuna Suomessa sallittiin CAS (Computer Algebra System) laskimien käyttö keväästä 2012 alkaen ylioppilaskirjoituksissa. Norjassa ja Ruotsissa vastaava kehitys

Lisätiedot

Ohjeita. Datan lukeminen

Ohjeita. Datan lukeminen ATK Tähtitieteessä Harjoitustyö Tehtävä Harjoitystyössä tehdään tähtikartta jostain taivaanpallon alueesta annettujen rektaskensio- ja deklinaatiovälien avulla. Karttaan merkitään tähdet aina kuudenteen

Lisätiedot

MATEMATIIKKA 5 VIIKKOTUNTIA. PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009

MATEMATIIKKA 5 VIIKKOTUNTIA. PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009 EB-TUTKINTO 2009 MATEMATIIKKA 5 VIIKKOTUNTIA PÄIVÄMÄÄRÄ: 8. kesäkuuta 2009 KOKEEN KESTO: 4 tuntia (240 minuuttia) SALLITUT APUVÄLINEET: Eurooppa-koulun antama taulukkovihkonen Funktiolaskin, joka ei saa

Lisätiedot

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio:

Ei välttämättä, se voi olla esimerkiksi Reuleaux n kolmio: Inversio-ongelmista Craig, Brown: Inverse problems in astronomy, Adam Hilger 1986. Havaitaan oppositiossa olevaa asteroidia. Pyörimisestä huolimatta sen kirkkaus ei muutu. Projisoitu pinta-ala pysyy ilmeisesti

Lisätiedot

OSA 1: YHTÄLÖNRATKAISUN KERTAUSTA JA TÄYDENNYSTÄ SEKÄ FUNKTIO

OSA 1: YHTÄLÖNRATKAISUN KERTAUSTA JA TÄYDENNYSTÄ SEKÄ FUNKTIO OSA : YHTÄLÖNRATKAISUN KERTAUSTA JA TÄYDENNYSTÄ SEKÄ FUNKTIO Tekijät: Ari Heimonen, Hellevi Kupila, Katja Leinonen, Tuomo Talala, Hanna Tuhkanen ja Pekka Vaaraniemi Alkupala Kolme kaverusta, Olli, Pekka

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

ASCII-taidetta. Intro: Python

ASCII-taidetta. Intro: Python Python 1 ASCII-taidetta All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/18cplpy to find out what to do.

Lisätiedot

SIMULINK 5.0 Harjoitus. Matti Lähteenmäki 2004 www.tpu.fi/~mlahteen/

SIMULINK 5.0 Harjoitus. Matti Lähteenmäki 2004 www.tpu.fi/~mlahteen/ SIMULINK 5.0 Harjoitus 2004 www.tpu.fi/~mlahteen/ SIMULINK 5.0 Harjoitus 2 Harjoitustehtävä. Tarkastellaan kuvan mukaisen yhden vapausasteen jousi-massa-vaimennin systeemin vaakasuuntaista pakkovärähtelyä,

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

Fortran 90/95. + sopii erityisesti numeriikkaan:

Fortran 90/95. + sopii erityisesti numeriikkaan: Fortran 90/95 + sopii erityisesti numeriikkaan: + optimoivat kääntäjät tehokas koodi + mukana valmiiksi paljon varusfunktioita + kompleksiluvut + taulukko-operaatiot + operaattorit laajennettavissa myös

Lisätiedot

3 Ikkunointi. Kuvio 1: Signaalin ikkunointi.

3 Ikkunointi. Kuvio 1: Signaalin ikkunointi. 3 Ikkunointi Puhe ei ole stationaarinen signaali, vaan puheen ominaisuudet muuttuvat varsin nopeasti ajan myötä. Tämä on täysin luonnollinen ja hyvä asia, mutta tämä tekee sellaisten signaalinkäsittelyn

Lisätiedot

MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 18.3.2015 HYVÄN VASTAUKSEN PIIRTEITÄ

MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 18.3.2015 HYVÄN VASTAUKSEN PIIRTEITÄ MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ 8..05 HYVÄN VASTAUKSEN PIIRTEITÄ Alla oleva vastausten piirteiden, sisältöjen ja pisteitysten luonnehdinta ei sido ylioppilastutkintolautakunnan arvostelua. Lopullisessa

Lisätiedot

1.7 Gradientti ja suunnatut derivaatat

1.7 Gradientti ja suunnatut derivaatat 1.7 Gradientti ja suunnatut derivaatat Funktion ensimmäiset osittaisderivaatat voidaan yhdistää yhdeksi vektorifunktioksi seuraavasti: Missä tahansa pisteessä (x, y), jossa funktiolla f(x, y) on ensimmäiset

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Aki Taanila AIKASARJOJEN ESITTÄMINEN

Aki Taanila AIKASARJOJEN ESITTÄMINEN Aki Taanila AIKASARJOJEN ESITTÄMINEN 4.12.2012 Viivakaavio Excelissä voit toteuttaa viivakaavion kaaviolajilla Line (Viiva). Viivakaavio onnistuu varmimmin, jos taulukon ensimmäisessä sarakkeessa ovat

Lisätiedot

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto

Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto Laskennallisen fysiikan esimerkkejä avoimesta tutkimuksesta Esa Räsänen Fysiikan laitos, Tampereen teknillinen yliopisto Julian Voss, Quantum man, 2006 (City of Moses Lake, Washington, USA) Kolme näkökulmaa

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

ClassPad 330 plus ylioppilaskirjoituksissa apuna

ClassPad 330 plus ylioppilaskirjoituksissa apuna ClassPad 330 plus ylioppilaskirjoituksissa apuna Suomessa sallittiin CAS (Computer Algebra System) laskimien käyttö keväästä 2012 alkaen ylioppilaskirjoituksissa. Norjassa ja Ruotsissa vastaava kehitys

Lisätiedot

Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon

Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon Matikkaa KA1-kurssilaisille, osa 3: suoran piirtäminen koordinaatistoon KA1-kurssi on ehkä mahdollista läpäistä, vaikkei osaisikaan piirtää suoraa yhtälön perusteella. Mutta muut kansiksen kurssit, no

Lisätiedot

SiMAP - lämmityksen ohjauskeskus. Contents

SiMAP - lämmityksen ohjauskeskus. Contents 1 (13) SiMAP - lämmityksen ohjauskeskus Contents 1. SiMAP SÄÄTÖ - sisäänkirjautuminen...2 2. T - Sensors, TC ja Trend...3 3. ASETUSARVON ASETTAMINEN - asuntojen lämpötila...6 4. MITTAUSNÄKYMÄ...7 4.1 Huoneistot...7

Lisätiedot

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö

3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö 3.3 Paraabeli toisen asteen polynomifunktion kuvaajana. Toisen asteen epäyhtälö Yhtälön (tai funktion) y = a + b + c, missä a 0, kuvaaja ei ole suora, mutta ei ole yhtälökään ensimmäistä astetta. Funktioiden

Lisätiedot

Lyhyt yhteenvetokertaus nodaalimallista SÄTEILYTURVAKESKUS STRÅLSÄKERHETSCENTRALEN RADIATION AND NUCLEAR SAFETY AUTHORITY

Lyhyt yhteenvetokertaus nodaalimallista SÄTEILYTURVAKESKUS STRÅLSÄKERHETSCENTRALEN RADIATION AND NUCLEAR SAFETY AUTHORITY Lyhyt yhteenvetokertaus nodaalimallista SÄTELYTUVAKESKUS STÅLSÄKEHETSCENTALEN ADATON AND NUCLEA SAFETY AUTHOTY Ei enää tarkastella neutronien kulkua, vaan työn alla on simppeli tuntemattoman differentiaaliyhtälöryhmä

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset

815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset 815338A Ohjelmointikielten periaatteet 2014-2015. Harjoitus 7 Vastaukset Harjoituksen aiheena on funktionaalinen ohjelmointi Scheme- ja Haskell-kielillä. Voit suorittaa ohjelmat osoitteessa https://ideone.com/

Lisätiedot

3. Yhtälön numeeristen ratkaisujen etsimisestä

3. Yhtälön numeeristen ratkaisujen etsimisestä Olkoon funktio f x jatkuva jollain välillä [a;b]. Jos on olemassa sellainen luku c, että a < c < b ja f a f b 0, niin on olemassa sellainen luku c, että a < c < b ja f c =0. Tämän Bolzanon lauseen mukaan

Lisätiedot

110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3

110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3 4 Matriisit ja vektorit 4 Matriisin käsite 42 Matriisialgebra 0 2 2 0, B = 2 2 4 6 2 Laske A + B, 2 A + B, AB ja BA A + B = 2 4 6 5, 2 A + B = 5 9 6 5 4 9, 4 7 6 AB = 0 0 0 6 0 0 0, B 22 2 2 0 0 0 6 5

Lisätiedot

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin

z muunnos ja sen soveltaminen LTI järjestelmien analysointiin z muunnos ja sen soveltaminen LTI järjestelmien analysointiin muunnoksella (eng. transform) on vastaava asema diskreettiaikaisten signaalien ja LTI järjestelmien analyysissä kuin Laplace muunnoksella jatkuvaaikaisten

Lisätiedot

Tilastotoiminnot. Seuraavien kahden esimerkin näppäinohjeet on annettu kunkin laskinmallin kohdalla:

Tilastotoiminnot. Seuraavien kahden esimerkin näppäinohjeet on annettu kunkin laskinmallin kohdalla: Tilastotoiminnot Seuraavien kahden esimerkin näppäinohjeet on annettu kunkin laskinmallin kohdalla: Muuttuja Frekvenssi 7 12 8 16 9 11 10 8 Tilastomoodin valinta. Tilastomuistin tyhjennys. Keskiarvon ja

Lisätiedot

KAAVAT. Sisällysluettelo

KAAVAT. Sisällysluettelo Excel 2013 Kaavat Sisällysluettelo KAAVAT KAAVAT... 1 Kaavan tekeminen... 2 Kaavan tekeminen osoittamalla... 2 Kaavan kopioiminen... 3 Kaavan kirjoittaminen... 3 Summa-funktion lisääminen... 4 Suorat eli

Lisätiedot

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin

Mediaanisuodattimet. Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että. niiden ominaisuudet tunnetaan hyvin Mediaanisuodattimet Tähän asti käsitellyt suodattimet ovat olleet lineaarisia. Niille on tyypillistä, että niiden ominaisuudet tunnetaan hyvin niiden analysointiin on olemassa vakiintuneita menetelmiä

Lisätiedot

TL5503 DSK, laboraatiot (1.5 op) Kuvasignaalit. Jyrki Laitinen

TL5503 DSK, laboraatiot (1.5 op) Kuvasignaalit. Jyrki Laitinen TL553 DSK, laboraatiot (.5 op) Kuvasignaalit Jyrki Laitinen TL553 DSK, laboraatiot (.5 op), K25 Suorita oheisten ohjeiden mukaiset tehtävät Matlab- ja VCDemo-ohjelmistoja käyttäen. Kokoa erilliseen mittauspöytäkirjaan

Lisätiedot

Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat

Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat Esityksen sisältö: 1. EU:n energiapolitiikka on se, joka ei toimi 2. Mihin perustuu väite, etteivät

Lisätiedot