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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

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

2 Sisällysluet t elo Sisällysluettelo... Johdanto...3 Yleistä MATLAB-ohjelmointikielestä...4. Pienimmän neliösumman menetelmä - lineaarinen tapaus...5. Monikerrosseinämän mitoittaminen Kolmiulotteinen kuvaaja ja satunnaishaku Optimaalisen kierrätyssuhteen määrittäminen autokatalyyttiselle reaktiolle Pienimmän neliösumman menetelmä - johdantoa Davidon-Fletcher-Powell-menetelmä Levenberg-Marquardt-menetelmä Parannettu Levenberg-Marquardt Monimutkaisen kuvan piirtäminen Mallidatan sovitus Lähdeluettelo...54 Liite - Algoritmeja...55 Liite - Matlabin fmins-funktion käyttö...56 Liite 3 - Matlabin fmin-funktion käyttö...59 Liite 4 - Luettelo ohjelmista...6 ISBN X SBN (PDF) ISSN

3 - 3 - Johdant o Tämän kirjasen tarkoituksena on esittää, miten voidaan käyttää MATLAB ohjelmointikieltä ohjelmoinnissa - mukana oleva koodi on testattua ja toimivaa sekä lisäksi koodi on täydellisenä esitetty; laskemaan prosessitekniikan laskuja ja erityisesti yksinkertaisia prosessiteknisiä optimointitehtäviä, tekemään graafisia esityksiä ja siirtämään ne tekstinkäsittelyohjelmaan. Eräs kirjan painotuksista on se, miten ohjelmat tekijän mielestä pitäisi ulkoasultaan kirjoittaa. Tarkoituksellisesti tässä kirjassa ei ole säätöteknisiä laskuja, koska on olemassa hyviä kirjoja tätä varten, esim. Bishop (997) ja Ogata (997). Tekstin alkuosassa on kunkin luvun lopuksi esitetty luettelo käytetyistä MATLABfunktioista. Kaikki tässä kirjassa oleva koodi on kenen tahansa käytettävissä. Jos kuitenkin käytät tässä kirjassa olevaa koodia, on lähde (siis tämä kirja) mainittava. Käytetyt työkalut: Osa koodista on testattu Matlab-versiolla (R), mutta pääosa koodista on tehty toimimaan versiossa Kaikkien ohjelmien tulisi toimia ilman Toolboxeja mutta tätä ei ole varmistettu. Ohjelmaeditorina on ollut MicroEMACS 3.. Tämä kirja on kirjoitettu Microsoft Word 97 SR- tekstinkäsittelyohjelmalla ja paperiversio on tulostettu käyttämällä Hew let t- Packard LaserJet 5M kirjoitinta ja Abode Acrobat versio Adoben Distiller Assistant v3.0:llä. Käytetty kirjasin on Tahoma 0 pt, ohjelmakoodin esittämisessä on käytetty kirjasinta Lucida Console 8 pt ja matemaattiset kaavat on kirjoitettu Microsoft Equat ion Edit or ver 3.0:lla. Kirjan valmistuksessa on käytetty seuraavia kuvaformaatteja: TI FF (-tiff), JPEG (-djpeg) ja Encapsulated Level Post- Script (-deps). Käytetty kone oli seuraavanlainen: käyttöjärjestelmä Window s NT 4.0, prosessori Pentium 60 MHz, keskusmuisti 64 MB, levytilaa 3 GB, näyttö Panasonic PanaSync/ Pro 5G, näyttösovitin Matrox MGA Millennium MB ja koneessa on verkkoyhteys. Lopuksi kiitos Esko Juusolle, koska hän minulle ensimmäisenä esitteli Matlab-ohjelman ja sen mahdollisuudet. Oulussa 03/09/999 Juha Jaako The Mathworks, Inc Adobe Acrobat versio on saatavissa osoitteesta matlpros.pdf

4 - 4 - Yleist ä MATLAB-ohj elm oint ikielest ä Matlab on interaktiivinen ohjelma, jota voidaan käyttää tekniseen numeeriseen laskentaan. Nimi Matlab tulee sanoista MATrix LABoratory. Matlabin perusdatatyyppi on matriisi, mikä antaa mahdollisuuden tehdä erittäin tehokasta ja - ikävä kyllä - myös erittäin vaikeaselkoista koodia. Matlab on integroitu systeemi, jossa on mm. grafiikka, makrokieli, IEEE-aritmetiikka, nopea tulkki 3 ja monia valmiiksi koodattuja komentoja. Matlabin kehitys alkoi 980-luvun alussa. Jo alusta alkaen siitä tuli tiettyjen teknisten ja luonnontieteellisten alueiden standardityökalu. Alussa käyttö keskittyi korkeakouluihin, mutta luonnollisesti korkeakouluopiskelijat opittuaan mielestään tehokkaan työkalun käytön alkoivat käyttää Matlabia myös korkeakoulusta päästyään. Korkeakouluissa Matlabia käytetään mm. matematiikan opetuksessa (sovellettu lineaarialgebra), säätötekniikan opetuksessa, simuloinnissa, tilastomatematiikassa ja digitaalisessa signaalinkäsittelyssä. Osasyynä Matlabin kehitykseen on ollut se, että ohjelma on saatavissa käytännössä kaikkiin tietokonejärjestelmiin. Matlab ei olisi nykyisen kaltainen ja niin suosittu ilman ns. Toolboxeja. Toolbox on kokoelma m-tiedostoja (Matlab-kielellä koodattuja ohjelmia), jotka on erityisesti tehty jonkin tutkimusalueen ongelmien ratkaisemiseen. Tällä hetkellä ovat tarjolla seuraavat Toolboxit: µ-analysis and Synthesis, Communications, Control System, Database, Financial Toolbox, Frequency Domain System Identification, Fuzzy Logic, Higher-Order Spectral Analysis, Image Processing, LMI Control, Mapping, Model Predictive Control, NAG, Neural Network, Optimization, Partial Differential Equation, QFT Control Design, Robust Control, Signal Processing, Spline, Statistics, Symbolic/Extended Symbolic Math, System Identification, Wavelet ( Matlabiin liittyy läheisesti ohjelma nimeltään Simulink, jota käytetään graafisessa mallintamisessa ja simuloinnissa ( Simulinkistä on tullut myös tiettyjen alojen standardityökalu. Seuraavassa eräitä Matlab-linkkejä (tilanne ) ' Matlab kotisivu ' Matlab kotisivu eurooppalaisille ' Matlab opetuksessa ' Opetus & Matlab ' Matlab kirjoja 3 Vaikka Matlab onkin tulkkaava järjestelmä, on se kuitenkin suht' nopea. Lisäksi Matlabiin on tarjolla kääntäjä, joka kääntää Matlab-koodin C- tai C++-koodiksi.

5 Pienimmän neliösumman menetelmä - lineaarinen tapaus Esimerkki otettu kirjasta Edgar & Himmelblau (988, 55-56). Eräästä koesarjasta on saatu seuraavat tulokset Taulukko.: Koesarja x Y Nyt x (reaktantin mooliosuus) on riippumaton muuttuja ja Y (saanto) on riippuva muuttuja. Halutaan sovittaa neliöllinen malli taulukon tietojen avulla ja lisäksi halutaan määrittää se x:n arvo, jolla saavutetaan maksimisaanto. Sovitettava malli on muotoa = b0 + b x b x (.) Y + Nyt mallissa (.) on 3 parametria ja taulukon avulla voidaan muodostaa 0 (=p) yhtälöä; asia voidaan esittää seuraavasti matriisimuodossa X b = Y (.) jossa b0 b = b, b Y Y Y = ja Y p x x X x x =. x p x p Koska nyt on kyseessä ylimääritelty tapaus, ei (.):lla välttämättä ole lainkaan ratkaisua (Kivelä 980, 33). Täten on perusteltua hakea sellaista ratkaisua, joka mahdollisimman tarkoin toteuttaa yhtälön (.). Tavallisimmin ongelma ratkaistaan pienimmän neliösumman menetelmällä. Koska nyt kyseessä on parametrien suhteen lineaarinen tapaus, saadaan parametrien b 0, b ja b arvot seuraavasti (Kivelä 980, 33-34; Edgar & Himmelblau 988, 54) käytettäessä matriisimuotoa. T T ( X X) X Y b = (.3) Nyt saadaan taulukon. arvojen perusteella [ ] T Y = (.4) X = T (.5)

6 - 6 - Kun sijoitetaan (.4) ja (.5) yhtälöön (.3) saadaan monimutkainen matriisiyhtälö, jonka ratkaiseminen ei ole kovin helppoa, mutta käyttämällä MATLAB-ohjelman matriisinkäsittelykomentoja saadaan ratkaisu helposti; lisäksi MATLABissa voidaan ratkaisukaava (.3) kirjoittaa suoraan matriisimuodossa. Ratkaisemalla MATLABilla saadaan b =.634 (.5) ja edelleen malliyhtälöksi Y = x 0.03 x (.6) Seuraavassa on esitetty ongelman ratkaiseva MATLAB-koodi (EHals.m). % EHal s. m - Nel i öl l i nen mal l i. % ( c) Juha Jaako % Edgar & Hi mmel bl au s % Tämä ver si o l askee vai n mal l i par amet r i t! cl ear al l ; % Dat a - pyst yvekt or ei t a! x = [ ] ' ; Y = [ ] ' ; N = si ze ( x, ) ; % Vekt or i n pi t uus. % Muodost et aan X- mat r i i si. mx = zer os ( N, 3) ; % Al ust et aan mat r i i si nol l i l l a. f or i = : N, % Täyt et ään mat r i i si r i vi ker r al l aan. mx( i, : ) = [, x( i ), x( i ) ^ ] ; end % Rat kai st aan mal l i par amet r i t. b = ( i nv ( ( mx' ) * mx) ) * ( mx' ) * Y % Rat kai sukaava mat r i i si muodossa Ohjelma tulostaa vastaukseksi» EHal s b = Käytetyssä lähteessä parametrien arvoiksi oli saatu (35.66,.63, -0.03). Edellä oleva koodi laskee pelkät parametrit; havainnollisempaa olisi laskea maksimisaanto, mallin hyvyys ja selitysaste sekä piirtää kuva, jossa ovat sekä koepisteet että malliyhtälö. Saatava kuva olisi myös pystyttävä siirtämään tekstinkäsittelyohjelmaan raportointia varten. Seuraavassa on edellinen koodi (EHals.m) laajennettu laskemaan ja piirtämään kaikki edellä olevat (EHals.m). % EHal s. m - Nel i öl l i nen mal l i. % ( c) Juha Jaako % Edgar & Hi mmel bl au s cl ear al l ; hol d on ;

7 - 7 - % Dat a x = [ ] ' ; Y = [ ] ' ; N = si ze ( x, ) ; % Vekt or i n pi t uus. pl ot ( x, Y, ' ko' ) ; % Pi i r r et ään koepi st eet. % Muodost et aan X- mat r i i si. mx = zer os ( N, 3) ; f or i = : N, mx( i, : ) = [, x( i ), x( i ) ^ ] ; end % Rat kai st aan mal l i par amet r i t. b = ( i nv ( ( mx' ) * mx) ) * ( mx' ) * Y ; % Pi i r r et ään mal l i n kuvaaj a. xx = mi n( x) : 0. : max( x) ; % 0. : n väl ei n väl i l l e M = si ze ( xx, ) ; f or i = : M, yy( i ) = b( ) +b( ) * xx( i ) +b( 3) * xx( i ) ^ ; end pl ot ( xx, yy, ' k- ' ) ; % Pi i r r et ään mal l i kuvaan. % Maksi mi voi daan et si a kahdel l a t aval l a % JOKO et si mäl l ä maksi mi edel l ä l asket ui st a vekt or ei st a. [ I, J] = max ( yy) ; % I : suur i n ar vo. % J : ar von i ndeksi. di sp ( ' ' ) ; di sp ( ' Maksi mi vekt or i st a hakemal l a: ' ), di sp ( [ ' Suur i n ar vo ( Y) : ' numst r ( I ) ] ) ; di sp ( [ ' Pi st eessä ( x) : ' numst r ( xx( J) ) ] ) ; pl ot ( xx( J), I, ' k+' ) ; % TAI kayt t amal l a MATLABi n f mi n- f unkt i ot a ( kt s. l i i t e 3! ) % Et si t aan maksi mi ( pannaan mi i nusmer kki et een). % Ensi n muodost et aan kohdef unkt i o. b0s = numst r ( b( ) ) ; bs = numst r ( b( ) ) ; bs = numst r ( b( 3) ) ; f unkt i o = [ ' - ( ( ' b0s ' ) +( ' bs ' ) * x+( ' bs ' ) * x^ ) ' ] ; % Si t t en kut sut aan MATLABi n f mi n- f unkt i ot a. xmax = f mi n ( f unkt i o, mi n( x), max( x) ) ; ymax = b( ) +b( ) * xmax+b( 3) * xmax^ ; di sp ( ' ' ) ; di sp ( ' Maksi mi f mi n- f unkt i ol l a: ' ), di sp ( [ ' Suur i n ar vo ( Y) : ' numst r ( ymax) ] ) ; di sp ( [ ' Pi st eessä ( x) : ' numst r ( xmax) ] ) ; pl ot ( xmax, ymax, ' k* ' ) ; % Kuvan ot si kot, aksel i t j ne.. ( käyt et ään kur si i vi a). xl abel ( ' \ i t x' ) ; yl abel ( ' \ i t Y' ) ; % _ : al ai ndeksi, ^ : yl äi ndeksi t i t l e ( ' Nel i öl l i nen mal l i { \ i t Y = { b_0} +{ b_ x} +{ b_} { x^} } ' ) ; % Esi t et ään mal l i par amet r i t ki n kuvassa. t ext ( 30, 7. 5, [ ' \ i t { b_0} = ' b0s ] ) ; t ext ( 30, 70. 0, [ ' \ i t { b_} = ' bs ] ) ; t ext ( 30, 67. 5, [ ' \ i t { b_} = ' bs ] ) ; % Lasket aan mal l i n sel i t ysast e. R = sel i ast e ( Y, mx* b, N) ; Rs = numst r ( R) ; t ext ( 30, 64. 0, [ ' \ i t { R^} = ' Rs ] ) ; hol d of f ;

8 - 8 - % Tul ost et aan kuva t i edost oon Encapsul at ed Post scr i pt - muot oon 4. pr i nt - t i f f - deps c: \ t emp\ EHal s ; Selitysasteen laskenta tehdään erillisen funktion avulla (MATLAB-ohjelmointikielessä funktiot on koodattava erilliseksi tiedostoksi) - huomaa funktion syntaksi. % sel i ast e. m - Laskee sel i t ysast een % ( c) Juha j aako % DO - havai t ut ar vot % DOkal c - mal l i n ant amat ar vot f unct i on f = sel i ast e ( DO, DOkal c, N) % Lasket t u sel i t ysast e. SST = 0 ; % Kokonai snel i ösumma SSR = 0 ; % Jäännösnel i ösumma SSD = 0 ; % Sel i t et t y nel i ösumma DOmean = mean ( DO) ; f or i = : N, SST = SST + ( DO( i ) - DOmean) ^ ; SSR = SSR + ( DO( i ) - DOkal c( i ) ) ^ ; end SSD = SST - SSR ; f = - ( SSR/ SST) ; Koodi tulostaa seuraavaa» ehal s Maksi mi vekt or i st a hakemal l a: Suur i n ar vo ( Y) : Pi st eessä ( x) : 4. Maksi mi f mi n- f unkt i ol l a: Suur i n ar vo ( Y) : Pi st eessä ( x) : 4. sekä lisäksi saadaan kuva, johon tulostuvat myös tekstit. Kuvatekstit on osaksi kirjoitettu kursiivilla käyttäen (\it)-tarkenninta. Tekstin muotoiluun on tarjolla paljon erilaisia vaihtoehtoja TIFF = Tagged Image File Format on eräs kuvantallennusformaatti. DEPS = Level black and white Encapsulated PostScript (EPS) on myös eräs kuvantallennusformaatti. kts. viite Using MATLAB Graphics.

9 Neliöllinen malli Y = b 0 +b x+b x Y 75 b 0 = b =.634 b = R = x Koodissa oleva komento Kuva.. Mallipisteet, malliyhtälö ja malliparametrit. pr i nt - t i f f - deps c: \ t emp\ EHal s ; tulostaa kuvan tiedostoon PostScript-muotoon (-deps) hakemistoon c:\temp ja lisäksi tiedostoon liitetään kuvan esikatselumahdollisuus (-tiff). Ilman (-tiff)-tarkenninta ei kuvaa voi nähdä tekstinkäsittelyohjelmassa; vain pelkkä laatikko näkyy 6. Esimerkiksi Word-tekstinkäsittelyohjelmaan kuva liitetään valikkokomennoin Insert-Picture-From File...-Ehals. Lopuksi teksti on tulostettava PostScript-kirjoittimella. Jos käytössä ei ole PostScript-kirjoitinta ja jos kuvan laadulle ei aseteta suuria vaatimuksia, niin voidaan kuva tulostaa JPEG 7 -muotoon seuraavalla komennolla pr i nt - dj peg c: \ t emp\ EHal s ; kuva saadaan Word-tekstinkäsittelyohjelmaan samoin komennoin kuin edellä. 6 7 kts. viite Using MATLAB Graphics, Chapter 7 Printing MATLAB Graphics. JPEG =Joint Photographers Expert Group on eräs kuvantallenusformaatti, joka on häviöllinen ja kompressoitu.

10 - 0 - Taulukko.: Käytetyt MATLAB-funktiot funktio kuvaus ' laskee matriisin (tahi vektorin) transpoosin; erittäin kätevä komento % kaikki %-merkin jäljessä rivillä oleva teksti on kommenttia ; jos halutaan, ettei komentorivi tulosta laskennan tulosta, niin rivin loppuun pannaan puolipiste; puolipistettä käytetään myös erottimena matriiseissa clear all poistaa kaikki muuttujat, funktiot ja MEX-linkit; varmistaa sen etteivät edelliset laskennat pääse sotkemaan meneillään olevaa laskentaa; varotoimenpide disp tulostaa taulukon ilman taulukon nimeä; jos argumentti on tekstiä, niin teksti tulostuu fmin minimoi yhden muuttujan funktion for... toistaa komentoja ennalta määrätyn määrän end hold off lopettaa komennon hold on vaikutuksen hold on pitää jo piirretyn kuvan aktiivisena, joten kuvaan voidaan piirtää uusia elementtejä inv laskee käänteismatriisin max hakee suurimman arvon mean laskee keskiarvon min hakee pienimmän arvon numstr muuttaa luvun merkkijonoksi, tarvitaan tulostettaessa lukuja tekstin sekaan plot tulostaa x-y-kuvan, tarjolla runsaasti erilaisia viiva- ja pistevaihtoehtoja print tulostaa kuvan joko kirjoittimelle tai haluttuun tiedostoon; tarjolla on runsaasti erilaisia tiedostoformaatteja, mm. PostScript ja JPEG; käytetään, kun halutaan siirtää kuvia tekstinkäsittelyohjelmaan size laskee matriisin dimensiot text lisää halutun tekstin kuvaan haluttuun kohtaan title lisää kuvaan otsikkotekstin xlabel lisää kuvaan selittävän tekstin x-akselille ylabel lisää kuvaan selittävän tekstin y-akselille zeros muodostaa matriisin jonka kaikki alkiot ovat nollia; käytetään kun alustetaan taulukoita

11 - -. Monikerrosseinämän mitoittaminen Esimerkki otettu kirjasta Bird et al. (960, 305). Seinämä koostuu kolmesta kerroksesta kuvan. mukaan: ensimmäinen kerros on tulenkestävää tiiltä, toinen kerros on eristetiiltä ja uloin kerros teräslevyä, jonka paksuus on /4 engl. tuumaa. T T terässeinä T 0 =500 o F T 3 =00 o F tulenkestävä tiili eristetiili Kuva.. Komposiittirakenteinen tuliseinä. Lasketaan seinämän eri osille sellainen paksuus, että seinämän kokonaispaksuus on mahdollisimman pieni. Lämmönhukka seinämän läpi saa olla korkeintaan Btu ; oletetaan samalla, että seinämän osat ovat termisesti hyvässä kontaktissa. ft h 8 Säilytetään nyt käytettävät yksiköt arkaaisina, jotta voidaan havainnollistaa MATLABin funktioiden käyttöä.

12 - - Laskentaa varten on tarjolla seuraavat tiedot Taulukko.: Seinämän tiedot Materiaali Korkein Lämmönjohtavuus Btu käyttölämpötila o h ft F 00 o F:ssa 000 o F:ssa Tulenkestävä tiili 600 o F Eristetiili 000 o F Teräs Taulukosta huomaamme, että tulenkestävän tiilikerroksen on oltava niin paksu, että T 000 o F. Seinän mitoitus tapahtuu kaavojen (9.6-6)-(9.6-8) (Bird et al. 960, 85) mukaan (tässä niitä on merkitty kaavoina (.)-(.3) ) 0 0 dt k = q0 (.) dx dt k = q0 (.) dx 3 3 dt k = q0 (.3) dx Integroimalla yhtälöt (.)-(.3) saaadaan, kun 0 k, k ja 3 k ovat vakioita x0 x T 0 T = q0 (.4) 0 k x x T T = q0 (.5) k x x3 T T3 = q0 (.6) 3 k 0 Tässä tehtävässä eivät k ja k olekaan vakioita, mutta.). Oletetaan nyt lineaarinen riippuvuus 0 ( T ) at b 3 k on vakio (kts. taulukko k = + (.7) jossa a ja b ovat sovitettavia parametreja. Sijoittamalla (.7) kaavaan (.) saadaan 0 0 dt ( a T + b ) = q0 (.8) dx Integroimalla (.9) T 0 0 ( T + b ) dt a = q0 dx (.9) T0 x x0

13 - 3 - saadaan tulenkestävän tiiliseinämän leveydelle kaava (.0), eristetiiliseinämän leveydelle kaava (.) ja terässeinälle kaava (.) ( T T ) + b ( T T ) a 0 0 x x0 = (.0) q x 0 ( T T ) + b ( T T ) a x = (.) q 0 x x3 T = T3 q0 (.) 3 k Nyt on vielä määritettävä parametreille a i ja b i arvot. Taulukon. avulla saadaan kaksi yhtälöparia Yhtälömuodossa Matriisimuodossa Ratkaisu 00 a + b =.8 00 a.8 = a a + b = 3.6 = 000 b 3.6 b a + b = a + b = a b 0.9 =.8 a b 00 = = = Lineaarinen yhtälöryhmä voidaan ratkaista MATLAB-ohjelmalla seuraavasti. Syötetään kerroinmatriisit» A = [ 00 ; 000 ] ;» b = [ 0. 9 ;. 8 ] ; Ratkaisu saadaan joko komennolla» i nv( A) * b ans = tai (suositeltava tapa) jakamalla kenoviivalla» A\ b ans = Seuraavassa on ongelman ratkaisu koodattu MATLAB-ohjelmaksi (threwall.m); huomaa, että ohjelma laskee ongelman ratkaisun SI-yksikköinä. Muunnoksen yksikköjen välillä tapahtuvat erikseen kirjoitettujen funktioiden (FK.m, BfhWm.m ja BfhFWmK.m) avulla.

14 Ohjelma tulostaa ratkaisuna» t hr ewal l T = % Kel vi n xmx0 = % met r ei nä % j al koi na xmx = % met r ei nä % j al koi na jota voi verrata viitteen (Bird et al. 960, 305) ratkaisuun (0.39 ft ja 0.5 ft). Ohjelmakoodi on seuraavanlainen % t hr ewal l. m % ( c) Juha Jaako % Lämmönsi i r t o kol men sei nämän l äpi. % Bi r d et al., s & 305 f or mat shor t ; % Lasket aan t er ässei nä. % Ensi n muunnos SI - yksi köi hi n. T3 = FK ( 00) ; % of - > K q0 = Bf hwm ( 5000) ; % Bt u / ( f t ^ h) - > W/ m^ xmx3 = * ( - / 4) ; % i n - > m k3 = Bf hfwmk ( 6. ) ; % Bt u/ ( f t h of) - > W/ ( m K) T = T3 - q0* ( xmx3/ k3) % Kaava (. ) % Lasket aan t ul i t i i l i sei nä. % Lasket aan ensi n dat an avul l a par amet r i t. A = [ FK( 00) ;... FK( 000) ] ; B = [ Bf hfwmk(. 8) ; Bf hfwmk( 3. 6) ] ; dat a = A\ B ; a = dat a( ) ; b = dat a( ) ; T0 = FK ( 500) ; T = FK ( 000) ; % of - > K % of - > K t emp = ( a/ ) * ( T^- T0^) ; t emp = b* ( T- T0) ; xmx0 = ( t emp+t emp) / ( - q0) % Kaava (. 0) di sp ( xmx0/ ) ; % m - > f t % Lasket aan er i st et i i l i sei nä. % Lasket aan ensi n dat an avul l a par amet r i t. A = [ f K( 00) ;... f K( 000) ] ; B = [ Bf hfwmk( 0. 9) ; Bf hfwmk(. 8) ] ; dat a = A\ B ; a = dat a( ) ; b = dat a( ) ; t emp = ( a/ ) * ( T^- T^) ; t emp = b* ( T- T) ; xmx = ( t emp+t emp) / ( - q0) % Kaava ( ) di sp ( xmx/ ) ; % m - > f t

15 - 5 - Muunnosfunktiot SI-yksiköihin ovat seuraavanlaisia (huomaa, että kaikki funktiot on kirjoitettava erillisiksi tiedostoiksi) % FK. m % ( c) Juha Jaako % Fahr enhei t t o Kel vi n conver si on. f unct i on K = FK ( F) K = ( F- 3) / (. 8) ; % Funkt i on l oppu % Bf hwm. m % ( c) Juha Jaako % Bt u/ ( f t ^ h) t o W/ m^ conver si on % CRC 74t h edi t i on s. - 6 f unct i on Wm = Bf hwm ( Bf h) Wm = * Bf h ; % Funkt i on l oppu % Bf hfwmk. m % ( c) Juha Jaako % Bt u/ ( f t h of) t o W/ ( m K) conver si on % CRC 74t h edi t i on s. - 6 f unct i on WmK = Bf hfwmk ( Bf hf) WmK = * Bf hf ; Taulukko.: Käytetyt MATLAB-funktiot funktio kuvaus \ yhtälöryhmön ratkaisu (» help slash) format short käytetään lyhyttä tulostusmuotoa

16 Kolmiulotteinen kuvaaja ja satunnaishaku Esimerkki otettu Laineen kirjasta (997, 86). Monesti graafisia esityksiä tehtäessä tulee tarve piirtää 3-ulotteisia kuvia. Seuraavassa piirretään funktion z sin xsin y, = (3.) x y ( x y) kuvaaja alueelle 4 π < x < 4π ; 4π < y < 4π. Huomaa, että funktiolla on monta paikallista minimiä ja maksimia tällä alueella. Kuva funktiosta 3-ulotteisena voidaan piirtää seuraavanlaisen koodinpätkän avulla. % l ai nk87. m % ( c) Juha Jaako % Funkt i on kuvaaj a. axi s ( [ - 4* pi 4* pi - 4* pi 4* pi ] ) ; [ x, x] = meshgr i d ( - 4* pi : 0. : 4* pi, - 4* pi : 0. : 4* pi ) ; A = ( si n( x). / x). * ( si n( x). / x) ; mesh ( x, x, A) ; pr i nt - deps c: \ t emp\ l ai nk87 ; Kuva 3.. Kolmiulotteisen kuvaajan piirtäminen.

17 - 7 - Kuvaajan piirtämisessä ei tarvita kovin monta komentoa, mutta komennot ovat todella tehokkaita. Käydään seuraavassa ko. komennot läpi. axis axis-komennon avulla määritellään akseleiden skaalausta. Tässä tapauksessa x-akselin kattaa välin 4 π < x < 4π, y-akseli välin 4 π < y < 4π ja z-akseli välin 0.4 < z <. Komento on axi s ( [ - 4* pi 4* pi - 4* pi 4* pi ] ) ; meshgrid meshgrid-komento muodostaa verkon laskentapisteille väleille 4 π < x < 4π ja 4 π < y < 4π. Luku 0. ilmoittaa verkon jaotuksen. Mitä pienempää lukua käytetään sitä tarkempi kuvasta saadaan; samalla on kuitenkin huomattava, että mitä suurempi tarkkuus halutaan niin sitä hitaammin piirto tapahtuu ja sitä enemmän muistitilaa käytetään. HUOM! MATLABin yksinkertaisilla komennoilla on hyvin helppo muodostaa erittäin suuria matriiseja ja samalla voi täyttää koneen keskusmuistin. Komento on [ x, x] = meshgr i d ( - 4* pi : 0. : 4* pi, - 4* pi : 0. : 4* pi ) ; /. ja.* Seuraavaksi lasketaan funktion arvot meshgrid-komennon luomissa verkkopisteissä. Huomaa, että kertomerkkinä on.* ja jakomerkkinä./. Komento on A = ( si n( x). / x). * ( si n( x). / x) ; mesh mesh-komennolla piirretään varsinainen kuva. Mesh-komento vaatii syöttötietoina meshgrid-komennon muodostamat matriisit sekä funktion arvot ko. pisteissä. mesh ( x, x, A) ; * * * Kuvasta 3 huomaamme, että funktiolla on alueella yksi globaali maksimi. Funktio (3.) on muodoltaan hyvin hankala, joten käytetään maksimia haettaessakin eksoottista menetelmää. Optimin haku voidaan tehdä satunnaishakuna (Laine 997, 86) seuraavan koodin avulla. % l ai ne87. m % & & % ( c) Juha Jaako % Sat unnai shaku. % Funkt i on kuvaaj a. t i t l e ( ' t asa- ar vokayr at z > 0 j a sat unnai shaku' ) ; axi s ( [ - 4* pi 4* pi - 4* pi 4* pi ] ) ; [ x, x] = meshgr i d ( - 4* pi : 0. : 4* pi, - 4* pi : 0. : 4* pi ) ; z = ( si n( x). / x). * ( si n( x). / x) ; t a = 0. 0 : 0. 0 : 0. 9 ; t a = 0. : 0. 0 : 0. 8 ; t a3 = 0. 3 : 0. :. 0 ; t a = [ t a t a t a3] ; cont our ( x, x, z, t a) ;

18 - 8 - % Sat unnai shaku. hol d on ; axi s ( [ - 4* pi 4* pi - 4* pi 4* pi ] ) ; m = REALMI N ; % Lasket aan 5000 ki er r ost a. f or i = : 5000, x = 4* pi * ( * r and- ) ; y = 4* pi * ( * r and- ) ; pl ot ( x, y, ' k. ' ) ; i f ( i == ), ol dx = x ; ol dy = y ; pl ot ( x, y, ' ko' ) ; end z = ( si n( x) / x) * ( si n( y) / y) ; i f ( z > m), m = z ; st r = spr i nt f ( ' %d\ t %8. 3f \ t %8. 3f \ t %8. 3f ', i, x, y, z) ; di sp ( st r ) ; pl ot ( x, y, ' ko' ) ; l i ne ( [ ol dx x], [ ol dy y] ) ; ol dx = x ; ol dy = y ; end end hol d of f ; pr i nt - dj peg00 c: \ t emp\ l ai ne87 ; Ohjelma tulostaa seuraavaa:» l ai ne Seuraavaan kuvaan on piirretty haku: haun tarkastamat pisteet on merkitty (.):lla, haun hyväksymät pisteet (o):lla (huomaa, että jokaisella ohjelman suorituskerralla tulee aina uudenlainen haku ja vastaava kuva). Tasa-arvokäyriä on piirretty vain arvoilla z > 0, jotta kaikki paikallisetkin maksimit voidaan nähdä. Kuten huomataan, satunnaislukugeneraattoria käyttämälläkin voidaan päätyä optimiin.

19 - 9 - Kuva 3.. Funktion z( x y) sin xsin y, = tasa-arvokuvaajia ja maksimin haku x y satunnaishaulla; huomaa, että kuva JPEG-kuva, joten kuvan laatu on huonompi kuin edellä kuvassa 3.. Taulukko 3.: Käytetyt MATLAB-funktiot funktio kuvaus axis akseleiden skaalaus contour piirretään tasa-arvokuvaaja if... end totuusarvon testaus line piirretään viiva pisteiden välille mesh piirretään kolmiulotteinen kuva meshgrid laskentapisteiden verkon muodostus pi π (=3.4...) rand generoi tasaisesti jakautuneita satunnaislukuja REALMIN pienin positiivinen liukuluku MATLABissa sin sinifunktio sprintf kirjoitetaan luku formatoituna merkkijonoksi; kätevä tulostettaessa

20 Optimaalisen kierrätyssuhteen määrittäminen autokatalyyttiselle reaktiolle Esimerkki otettu kirjasta Levenspiel (97, 55-56). Tarkastellaan seuraavanlaista autokatalyyttista reaktiota. Aine A reagoi seuraavanlaisesti A + R R + R (4.) jossa l k =. Tarkoituksena on käsitellä mol min mol F A 0 = syötettä, jossa on min mol pelkkää A:ta. ( C A 0 =, C R0 0 l = ) siten, että konversio on 99%. Reaktio tapahtuu kierrätysreaktorissa. Tarkoituksena on etsiä kierrätyssuhde (R), joka minimoi tarvittavan reaktorin tilavuus; lisäksi määritetään reaktorin tilavuus. Lisäksi verrataan tätä laskettua reaktorin tilavuutta sekoitusreaktoriin (R = ) ja putkireaktoriin (R = 0). Tilavuudelle on johdettu seuraavanlainen kaava (Levenspiel 97, 55) X Af dx A = ( + ) A0 k C X A X A Af 0 R X Ai = R + V F R (4.) ( X ) Integroimalla ja yksinkertaistamalla saadaan V F ( R + ) + R = ln k C A0 A0 R ( X Af ) ( X ) Af josta analyyttisesti johtamalla ja asettamalla X =0. 99 saadaan yhtälö ln R = 0.0 R R R + ( R ) A Af (4.3) (4.4) josta yrityksen ja erehdyksen menetelmällä saadaan R = 0.9. Nyt voidaan tilavuus laskea.009 V =.9ln = l (5.5) Näin siis Levenspiel. Ongelmaa voidaan tarkastella myös optimointiongelmana. Muutetaan yhtälö (4.) muotoon min V X Af dx A R = FA0( R + ) (4.6) k C X ( ) X Ai RX Af = R + A0 A ( X ) A eli saamme yhden muuttujan minimointitehtävän, jossa kohdefunktiona on (4.6). Ongelmaksi muodostuu kohdefunktiossa olevan integraalin laskenta. Yhtälössä (4.3) on esitetty analyyttinen ratkaisu, mutta aina analyyttinen ratkaisu ei ole mahdollinen.

21 - - Yleensä tietokoneella laskettaessa käytetään numeerista integrointia; tavallisimmin numeerinen integrointi tapahtuu Simpsonin säännön avulla (kts. Kreyszig 993, ). jossa b f () x dx ( f0 + 4 f + f + 4 f3 + + fm + 4 fm + fm ) (4.7) a h b a m h 3 =, f ( ) f = ja m on välien lukumäärä. j x j Koodataan ratkaisu MATLAB-koodiksi. Nyt (4.6) voidaan ratkaista seuraavasti. Ensin koodataan pääohjelma (recycle.m); kohdefunktion (4.6) minimointi tapahtuu jo edellä esitetyllä fmin-funktiolla. % r ecycl e. m % ( c) Juha Jaako % Pal aut ussuht een opt i mi : R = ; % Reakt i opar amet r i t. FA0 = ; % [ mol / mi n] k = ; % [ l / mol * mi n] CA0 = ; % [ mol / l ] XAf = ; % [ di mensi ot on] par am = [ FA0 k CA0 XAf ] ; di sp ( ' - - Mi ni moi mal l a j a numeer i sest i i nt egr oi mal l a' ) ; R = f mi n ( ' si mpson', 0,, [ ], par am) % Pal aut ussuht een mi ni mi. V = si mpson ( R, par am) % Mi ni mi t i l avuus. di sp ( ' - - Levenspi el ' ) ; Ropt = f mi n ( ' ( x+) * l og( ( +0. 0* x) / ( 0. 0* x) ) ', 0., 0. 9) Vopt = ( Ropt +) * l og( ( +0. 0* Ropt ) / ( 0. 0* Ropt ) ) Ohjelma tulostaa seuraavaa. Ensin tulostetaan vastaus, joka saadaan minimoinnin ja numeerisen integroinnin avulla ja lopuksi vastaus, jossa käytetään viitteestä (Levenspiel 97) saatuja kaavoja.» r ecycl e - - Mi ni moi mal l a j a numeer i sest i i nt egr oi mal l a R = V = Levenspi el Ropt = Vopt = Lisäksi tarvitaan tietysti minimoitava kohdefunktio eli kaava (4.6) koodattuna (simpson.m). Funktion tarvitseman parametrit välitetään parametrilistan avulla. % si mpson. m % ( c) Juha Jaako % Pal aut ussuht een opt i moi nt i. % Kr eyszi g E, Advanced engi neer i ng mat hemat i cs. s % Levenspi el O, Chemi cal r eact i on engi neer i ng. s % Numeer i nen i nt egr oi nt i - Si mpsoni n säänt ö. f unct i on f = si mpson ( R, par am) % Pal aut ussuht een opt i mi : R = ;

22 - - % Reakt i opar amet r i t. FA0 = par am( ) ; % [ mol / mi n] k = par am( ) ; % [ l / mol * mi n] CA0 = par am( 3) ; % [ mol / l ] XAf = par am( 4) ; % [ di mensi ot on] % Par amet r i t a = ( R/ ( R+) ) * XAf ; % I nt egr oi nni n al oi t uspi st e. b = XAf ; % " l opet uspi st e. m = 500 ; % Väl i en l ukumäär ä. Ol t ava SUURI j a PARI LLI NEN. h = ( b- a) / m ; % Väl i n pi t uus. % Laskent api st eet numeer i st a i nt egr oi nt i a var t en. f = zer os ( m+, ) ; f or i = 0 : m, x = a + h* i ; f ( i +) = / ( x* ( - x) ) ; end % Lasket aan Si mpsoni n par amet r i t. s0 = f ( ) + f ( m+) ; s = 0 ; f or i = : : ( m- ), s = s + f ( i +) ; end s = 0 ; f or i = : : ( m- ), s = s + f ( i +) ; end % Numeer i sen i nt egr aal i n ar vo. J = ( h/ 3) * ( s0 + 4* s + * s) ; vaki o = ( FA0* ( R+) ) / ( k* CA0^) ; V = vaki o* J ; f = V ; Koodi on suoraan Kreyszigin kirjassa (Kreyszig 993, 96) olevan algoritmin koodaus. Koodi näyttää toimivan hyvin, mutta siinä on eräs ongelma; laskentapisteitä tarvitaan runsaasti. Välien lukumäärä on koodissa komentona m = 500 ; % Väl i en l ukumäär ä. Ol t ava SUURI j a PARI LLI NEN. tämä on huomattavan suuri arvo. Pienemmillä arvoilla integraalin arvoksi tuli epätarkka arvo. Näyttää siltä, että funktio (simpson.m) ei ole sovelias numeeriseen integrointiin. Yleensä on syytä käyttää testattuja, tehokkaita algoritmeja. MATLAB ohjelmistossa on onneksi valmis numeerisen integroinnin funktio nimeltään quad8, josta on olemassa myös yksinkertaisempi versio quad.

23 - 3 - Nyt voimme koodata uuden pääohjelman (recycle.m) % r ecycl e. m % ( c) Juha Jaako % Pal aut ussuht een opt i mi : R = ; % Reakt i opar amet r i t. FA0 = ; % [ mol / mi n] k = ; % [ l / mol * mi n] CA0 = ; % [ mol / l ] XAf = ; % [ di mensi ot on] par am = [ FA0 k CA0 XAf ] ; di sp ( ' - - Mi ni moi mal l a j a numeer i sest i i nt egr oi mal l a' ) ; R = f mi n ( ' si mpson', 0, 0, [ ], par am) % Pal aut ussuht een mi ni mi. V = si mpson ( R, par am) % Mi ni mi t i l avuus. % Kuvaaj a. hol d on ; f or R = 0. 0 : :, pl ot ( R, si mpson ( R, par am), ' k. ' ) ; end xl abel ( ' R' ) ; yl abel ( ' V' ) ; hol d of f ; pr i nt - deps - t i f f c: \ t emp\ r ecycl e ; di sp ( ' - - Levenspi el ' ) ; Ropt = f mi n ( ' ( x+) * l og( ( +0. 0* x) / ( 0. 0* x) ) ', 0., 0. 9) Vopt = ( Ropt +) * l og( ( +0. 0* Ropt ) / ( 0. 0* Ropt ) ) Koodi tulostaa seuraavan tekstin» r ecycl e - - Mi ni moi mal l a j a numeer i sest i i nt egr oi mal l a R = V = Levenspi el Ropt = Vopt =

24 ja kuvan V R Kuva 4.. Palautussuhde vs. tilavuus. Lisäksi tarvitaan kohdefunktio (simpson.m), jonka sisällä käytetään numeerista integraattoria % si mpson. m ( c) Juha Jaako % Pal aut ussuht een opt i moi nt i. % Levenspi el O, Chemi cal r eact i on engi neer i ng. s % Numeer i nen i nt egr oi nt i - Mat l abi n quad8- f unkt i o. f unct i on f = si mpson ( R, par am) % Pur et aan par amet r i vekt or i - > r eakt i opar amet r i t. FA0 = par am( ) ; % [ mol / mi n] k = par am( ) ; % [ l / mol * mi n] CA0 = par am( 3) ; % [ mol / l ] XAf = par am( 4) ; % [ di mensi ot on] % Par amet r i t a = ( R/ ( R+) ) * XAf ; % I nt egr oi nni n al oi t uspi st e. b = XAf ; % " l opet uspi st e. t ol = e- 3 ; % Suht eel l i nen vi r he. % Numeer i nen i nt egr oi nt i quad8- f unkt i on avul l a. J = quad8 ( ' si mpi nt ', a, b, t ol ) ; % Mat l abi n i nt egr aat t or i!!! vaki o = ( FA0* ( R+) ) / ( k* CA0^) ; V = vaki o* J ; f = V ;

25 - 5 - ja integraattorin käyttämä funktio (simpint.m). % si mpi nt. m % ( c) Juha Jaako % HUOM: x on vekt or i % f on vekt or i f unct i on f = si mpi nt ( x) f =. / ( x. * ( - x) ) ; huomaa, että simpint-funktio palauttaa vektorin. Lopuksi voimme laskea vastaavan sekoitusreaktorin tilavuuden (R = ) seuraavasti (käytetään R:lle arvoa e0) 9.» si mpson ( e0, [ ] ) ans = eli saadaan sama vastaus kuin Levenspielkin on saanut. Kuvasta 5 näemme, että kun R = 0 (putkireaktori) niin V = ; tämä tarkoittaa sitä, ettei putkireaktorissa voida toteuttaa reaktiota (). Sama voidaan todeta myös laskemalla seuraavaa (eli R 0).» si mpson ( e-, [ ] ) ans = » si mpson ( e- 4, [ ] ) ans = 8. 04» si mpson ( e- 6, [ ] ) ans = » si mpson ( e- 8, [ ] ) ans = e+004» si mpson ( e- 0, [ ] ) ans = e+006 Taulukko 4.: Käytetyt MATLAB-funktiot funktio quad8 log kuvaus numeerinen integraattori (» help quad8) laskee luonnollisen logaritmin 9 Huomaa, että tehtyjä funktioita voi kutsua suoraan MATLABin komentoriviltä.

26 Pienimmän neliösumman menetelmä - j ohdant oa Datan mallitusongelma (malliparametrien sovittaminen annettuun dataan) tulee vastaan useasti prosessitekniikassa 0. Jos malli on parametrien suhteen lineaarinen, voimme käyttää luvun mukaista lähestymistapaa. Jos taas malli on parametrien suhteen epälineaarinen, ongelman ratkaisu on edellistä vaikeampaa. Epälineaarisessa tapauksessa tavallisin lähestymistapa on erilaisten muunnosten käyttö; tavallisin tapaus on logaritmin otto. Esimerkki selventänee asiaa. Oletetaan seuraava malli bt y() t = a e (5.) logaritmit ottamalla saadaan [ y() t ] =log() a bt log (5.) ja merkitsemällä c = log() a ja Y = log y() t saadaan [ ] Y = bt + c (5.3) joka on nyt parametrien (b & c) suhteen lineaarinen. Ongelmana tässä lähestymistavassa on, että saadaan väärä vastaus (ks. esim. Jaako 998, 6-). Ennenkuin mennään epälineaariseen regressioanalyysiin, käydään läpi muutamia asioita. Pienimmän neliösumman menetelmässä joudutaan minimoimaan seuraava funktio (kaksiparametrisessa tapauksessa) n ( ) = min I a, b [ fi ( a, b) ] (5.4) i= eli kohdefunktiona on neliösumma ( a, b) = [ f ( a, b) ] + [ f ( a, b) ] + [ f ( a b) ] + I (5.5) 3, Minimointitehtävä (5.4) voidaan ratkaista usealla eri optimointimenetelmällä. Yhteistä näille menetelmille on, että tarvitaan minimointia varten aloituspiste, josta erilaisia algoritmeja käyttäen lähdetään hakemaan minimiä. Laskenta-algoritmia varten tarvitaan kohdefunktion gradienttivektori, toisista osittaisderivaatoista koostuva Hessin matriisi tai Hessin matriisia (tai sen käänteismatriisia) approksimoiva päivityskaava. 0 Sopiva kirja aiheeseen tutustumiseen on Press et al. (986, ). Tässä käsitellään vain gradienttivektoria käyttäviä menetelmiä. On olemassa ns. suorahakumenetelmiä, jotka käyttävät vain funktion arvoja laskennassa, kts. esim. Reklaitis et al. (983, 74-98). Matlabin fmins-funktio käyttää suorahakumenetelmää nimeltään Nelderin ja Meadin menetelmä.

27 Kaavan (5.4) tapauksessa saadaan I gradienttivektori : G = a (5.6) I b Hessin matriisi : I I J = a ab (5.7) I I ba b Tavallisimmat gradienttivektoria käyttävät optimointimenetelmät ovat (kts. esim. Reklaitis et al. 983, 98-6) Jyrkin lasku 3 (SD): ai+ = ai λmingi (5.8) Newton (N): a i+ = ai J i Gi (5.9) Parannettu Newton (MN) : a = a λ J G (5.0) i+ i min i Kvasi-Newton (QN): a i+ = ai λminh igi (5.) Levenberg-Marquardt (LM) : i i ( i ) i a = a J + I G (5.) + Λ a + = a λ H + ΛI Parannettu Levenberg-Marquardt (MLM) : i i min ( i ) i G (5.) Kaavoissa (5.8)-(5.) a i+ on uusi laskentapiste, a i on edellinen laskentapiste, λmin laskettu askelpituus, G i gradienttivektorin arvo edellisessä laskentapisteessä, J i Hessin matriisin arvo edellisessä laskentapisteessä, H i Hessin matriisin käänteismatriisia approksimoiva matriisin arvo edellisessä laskentapisteessä, I 4 yksikkömatriisi ja Λ on kerroin, jonka aloitusarvona yleensä on 0. 3 Gradienttivektori ilmoittaa suunnan, johon kuljettaessa funktio kasvaa voimakkaimmin. Huomaa, että minimoitaessa lähdetään vastakkaiseen suuntaan; miinusmerkki kaavoissa (5.8)-(5.). Tunnetaan myös Cauchyn menetelmänä, kts. esim. Kreyszig (993, 086).

28 - 8 - Menetelmistä voi todeta seuraavaa: SD on yksinkertaisin ja ehdottomasti varmin menetelmä; menetelmä takaa, että Ii+ Ii eli minimi löytyy varmasti. Toisaalta SD on useimmissa tapauksissa hidas, jopa tolkuttoman hidas, eikä siten sovellu käytännön laskentaan. N on nopein menetelmä, kun ollaan riittävän lähellä minimiä mutta kaukana minimistä N on epävarma menetelmä. Menetelmä ei takaa, että Ii+ Ii ; usein jopa I i+ >> Ii. Em. syystä pelkkää N:ää ei käytetä minimointitehtävissä. Ottamalla N:ään mukaan askelpituuden laskenta saadaan MN, joka takaa, että Ii+ I i. MN kuitenkin edellyttää osittaisderivaattojen tarkkaa laskentaa, joka ei aina ole mahdollista. QN menetelmän perusajatus on seuraava: Laskennan alussa H i -matriisi on yksikkömatriisi - eli haku vastaa SDmenetelmää. Laskenna edistyessä H i :matriisia päivitetään algoritmin avulla siten, että H i J i. Eli laskennan edistyessä lähestytään N-menetelmää. H i -matriisin päivityskaavoja on useita - voidaan jopa sanoa, että aiheen tiimoilta on syntynyt kokonaisen kirjallisuuden laji. Tavallisimmin käytössä olevat päivityskaavat ovat Davidon-Fletcher-Powell (DFP) (Reklaitis et al. 983, 5; Davidon 959; Fletcher & Powell 963; Jaako 997, 65) ja Broyden-Fletcher-Goldfarb-Shanno (BFGS) (Gill et al. 98, 9), joissa en ole omissa kokeiluissani huomannut sanottavia eroja. QN-menetelmässä 4 käytettävä DFP päivityskaava on seuraavanlainen DFP : H ' ' H i yi yi H i sisi i+ = H i + (5.3) ' ' yi H i yi si yi jossa y i = Gi Gi ja s i = ai ai. Luvussa 6 sovelletaan DFP-päivityskaavaa neliösumman minimointiin. QN-menetelmän huonona puolena on, että se joudutaan jossakin tapauksissa käynnistämään uudestaan. = a J + I G ) Alkuperäisessä LM-menetelmässä (päivityskaava i i ( i ) i a + Λ parametri Λ määrittää sekä hakusuunnan että haun askelpituuden. MLMmenetelmään on otettu mukaan optimaalinen askelpituuden laskenta - syy tähän selviää myöhemmin esitettävän esimerkin yhteydessä. MLM-menetelmää pidetään yleisesti parhaana neliösummien minimointimenetelmänä (ks. esim. Reklaitis et al. 983, 07). 4 Oikeastaan pitäisi puhua QN-menetelmistä, koska päivityskaavasta riippuen menetelmiä on useita.

29 Davidon-Fletcher-Pow ell-menetelmä Seuraavissa esimerkeissä käytetään seuraavaa kohdefunktiota esimerkkinä. Kohdefunktio on neliösumma. Ongelman (6.) ratkaisu on =. x x [ ] + ( x x ) min f ( x, x ) = ( x ) (6.) Ensiksi muodostetaan koodi, jonka avulla voidaan piirtää funktion f 4 ( x, x ) ( x ) + ( x x ) = tasa-arvokäyrät (piirto.m). % pi i r t o. m - j uha j aako % Pi i r r et ään f unkt i on f ( x, x) = ( x- ) ^4 + ( x- x) ^ % t asa- ar vokäyr ät. f unct i on f = pi i r t o ( koor d) [ x, x] = meshgr i d ( koor d( ) : 0. : koor d( ),... koor d( 3) : 0. : koor d( 4) ) ; A = ( x - ). ^ 4 + ( x - x). ^ ; t a = mi n( mi n( A) ) : : max( max( A) ) ; cont our ( x, x, A, t a) ; % Tekst i t. xl abel ( ' \ i t { x_} ' ) ; yl abel ( ' \ i t { x_} ' ) ; t i t l e ( ' \ i t { f ( x_, x_) = ( x_- ) ^4 + ( x_- x_) ^} ' ) ; f = ; Minimointi tehdään seuraavan pääohjelman avulla (dfp4.m). Haku alkaa pisteestä (-, ) ja hakua tehdään 0 kierrosta. % df p4. m % j uha j aako kt s. Jaako ( 997, s. 65) & James et al. ( 993, 748) cl ear al l ; % Put sat aan mui st i r omust a. f or mat shor t ; hol d on ; koor d = [ ] ; %axi s ( koor d) ; dummy = pi i r t o ( koor d) ; %_Mi ni mi pi st eessä (, ). mp = [ ; ] ; pl ot ( mp( ), mp( ), ' k+' ) ; t ol = e- 4 ; % Laskent at ol er anssi. %_DFP- menet el mä. ap = [ - ; ] ; pl ot ( ap( ), ap( ), ' ko' ) ; G = df p4_d ( ap) ; % Gr adi ent i n ar vo pi st eessä. f = df p4_f ( ap) ; i t er = 0 ; % Al ust et aan i t er oi nt i l askur i. H = eye ( ) ; % Yksi kkömat r i i si.

30 %whi l e ( max ( abs ( ap- mp) ) > t ol ), f or i = : 0, % Lasket aan 0 ki er r ost a. T = H * G ; % Lasket aan askel pi t uus. t = f mi n ( ' df p4_m', - 0, 0, [ ], ap, T) ; % Lasket aan uusi pi st e. ap_ol d = ap ; % Tal l et et aan vanha pi st e. ap = ap - t * T ; % Lasket aan uusi pi st e. pl ot ( ap( ), ap( ), ' ko' ) ; % Mer kat aan pi st e kuvaan. G_ol d = G ; % Tal l et et aan vanha gr adi ent i n ar vo. G = df p4_d ( ap) ; % Gr adi ent i n ar vo uudessa pi st eessä. f = df p4_f ( ap) ; % Funkt i on ar vo uudessa pi st eessä. % H- mat r i i si n päi vi t ys. sk = ap - ap_ol d ; yk = G - G_ol d ; Bk = H ; % Davi don, Fl et cher & Powel l, kt s. James s. 753 t e = Bk* yk* ( yk' ) * Bk ; t e = ( yk' ) * Bk* yk ; t e3 = sk* ( sk' ) ; t e4 = ( sk' ) * yk ; H = H - ( t e/ t e) + ( t e3/ t e4) ; % Jyr ki n l asku saadaan seur aaval l a. % H = eye ( ) ; i t er = i t er + ; % Kasvat et aan i t er oi nt i l askur i a. end ; ap G i t er hol d of f ; Huomaa, että päivitysalgoritmi on koodattu seuraavasti t e = Bk* yk* ( yk' ) * Bk ; t e = ( yk' ) * Bk* yk ; t e3 = sk* ( sk' ) ; t e4 = ( sk' ) * yk ; H = H - ( t e/ t e) + ( t e3/ t e4) ; mutta se voidaan koodata myös yhdellä rivillä H = H - ( ( Bk* yk* ( yk' ) * Bk) / ( ( yk' ) * Bk* yk) ) + ( ( sk* ( sk' ) ) / ( ( sk' ) * yk) ) ; Mielestäni ensimmäinen tapa on selkeämpi ja luettavampi. Lisäksi tarvitaan kolme funktiota (dfp4_f.m) % df p4_f. m % Lasket aan f unkt i on ar vo. f unct i on f = df p4_f ( x) f = ( x( ) - ) ^4 + ( x( ) - x( ) ) ^ ;

31 (dfp4_d.m) % df p4_d. m % Lasket aan gr adi ent t i vekt or i. f unct i on G = df p4_d ( x) G = [ 4* ( x( ) - ) ^3 + * ( x( ) - x( ) ) ; - * ( x( ) - x( ) ) ] ; ja (dfp4_m.m). % df p4_m. m % Askel pi t uuden l askent af unkt i o. f unct i on y = df p4_m ( x, ap, T) xx = ap - x* T ; y = df p4_f ( xx) ; Ajamalla ohjelma, saadaan vastaukseksi» df p4 ap = G =. 0e- 0 * i t er = 0 ja kuva - huomaa miten kuva on piirretty ja miten eri komentoja on käytetty. 3 f(x,x ) = (x ) 4 + (x x ).5 x x 4 Kuva 6.. Funktion ( ) ( ) ( ) f x, x = x + x x minimointi DFP-menetelmällä.

32 Levenberg-Marquardt-menetelmä Levenberg-Marquardt-menetelmän laskenta-algoritmi ( i i ( i ) i a + Λ = a J + I G ) löytyy ainakin lähteestä Reklaitis et al. (983, 06) - se on esitetty myös liitteessä. Yleensä kirjoissa esitetyissä laskenta-algoritmeissa on virheitä - niin on tässäkin 5. Seuraavassa on esitetty koodi, joka laskee minimin sijainnin (koodissa olevat STEPit viittaavat liitteen STEPpeihin) (levmar.m) % l evmar. m % Levenber g- Mar quar dt t eht. 6 % Rekl ai t i s, Ravi ndr an & Ragsdel l s. 06 % & ( c) Juha Jaako cl ear al l ; % Put sat aan mui st i r omust a. f or mat shor t ; hol d on ; koor d = [ ] ; dummy = pi i r t o ( koor d) ; %_Mi ni mi pi st eessä (, ). mp = [ ; ] ; pl ot ( mp( ), mp( ), ' ko' ) ; %_Levenber g- Mar quar dt - menet el mä. % STEP ap = [ - ; ] ; % Haun al kuar vo. pl ot ( ap( ), ap( ), ' k* ' ) ; M = e4 ; % Ki er r ost en maksi mi määr ä. t ol = e- 0 ; % Laskent at ol er anssi. % STEP i t er = 0 ; % Al ust et aan i t er oi nt i l askur i. L = e4 ; % Lambdan al kuar vo. %L = 0 ; % Newt on. % STEP 3 G = df p4_d ( ap) ; f = df p4_f ( ap) ; % Gr adi ent i n ar vo. % Funkt i on ar vo. I = eye ( ) ; % Yksi kkomat r i i si. % STEP 4 & 5 whi l e ( ( max( abs( G) ) >t ol ) & ( i t er <M) ), %f or i = : 00, % Lasket aan 0 ki er r ost a. % STEP 6 G = df p4_d ( ap) ; H = l evmar _h ( ap) ; t emp = i nv ( H + L* I ) ; t emp = t emp* G ; % STEP 7 ap_ol d = ap ; ap = ap - t emp ; % Gr adi ent i n ar vo. % Hessi n mat r i i si n ar vo. % Tal l et et aan vanha. 5 Virheet käyvät selville, kun vertaat liitteen algoritmia ja koodia!

33 % STEP 8 - pi eneni kö f unkt i on ar vo? i f ( df p4_f ( ap) < df p4_f ( ap_ol d) ), % STEP 9 - pi enennet ään l ambdaa L = L/ ; i t er = i t er + ; % Kasvat et aan i t er oi nt i l askur i a. pl ot ( ap( ), ap( ), ' k+' ) ; el se % STEP 0 - kasvat et aan l ambdaa L = * L ; ap = ap_ol d ; end end abs ( mp- ap) G H i t er hol d of f ; Lisäksi tarvitaan Hessin matriisin laskeva koodi (tässä toiset osittaisderivaatat on laskettu analyyttisesti eikä numeerisesti) % l evmar _h. m % Lasket aan Hessi n mat r i i si. f unct i on H = l evmar _h ( x) H = [ ( * ( x( ) - ) ^+) - ; - ] ; ohjelma käyttää lisäksi luvussa 6 esitettyjä funktioita (dfp4_m.m, dfp4_f.m, dfp4_d.m, piirto.m). Nyt saamme vastaukseksi» l evmar ans =. 0e- 003 * G =. 0e- 00 * H = i t er = 38

34 ja kuvan f(x,x ) = (x ) 4 + (x x ).5 x x 4 Kuva 7.. Funktion ( ) ( ) ( ) f x, x = x + x x minimointi LM-menetelmällä. Kuvasta 7. huomaa selvästi, että haku - varsinkaan alkuvaiheissaan - ei toimi kovin tehokkaasti. Tämä tehottomuus voidaan poistaa - luvussa 8 esitetään miten tämä tapahtuu.

35 Parannettu Levenberg-Marquardt a Luvun 7 algoritmia ( i i ( i ) i = a J + I G ) voidaan parantaa ottamalla mukaan + Λ a askelpituuden laskenta ( i i min ( i ) i = a λ H + I G ). Tämä laskenta-algoritmi on + Λ esitetty liitteessä (Edgar & Himmelblau 988, 4). Koodattuna saamme seuraavanlaisen koodin (levmar.m) % l evmar. m % Levenber g- Mar quar dt t eht. 6 % Edgar & Hi mmel bl au s. 4 % & ( c) Juha Jaako cl ear al l ; % Put sat aan mui st i r omust a. f or mat shor t ; hol d on ; koor d = [ ] ; %axi s ( [ - 0 4] ) ; dummy = pi i r t o ( koor d) ; %_Mi ni mi pi st eessä (, ). mp = [ ; ] ; pl ot ( mp( ), mp( ), ' ko' ) ; %_Levenber g- Mar quar dt - menet el mä. % STEP ap = [ - ; ] ; % Haun al kuar vo. pl ot ( ap( ), ap( ), ' ko' ) ; M = e3 ; % Ki er r ost en maksi mi määr ä. t ol = e- 0 ; % Laskent at ol er anssi. % STEP i t er = 0 ; % Al ust et aan i t er oi nt i l askur i. Be = e3 ; % Beet an al kuar vo. % Beet a voi daan l aske myos omi nai sar voj en avul l a. % Edgar & Hi mmel bl au s. 4-5 % STEP 3 G = df p4_d ( ap) ; % Gr adi ent i n ar vo. f = df p4_f ( ap) ; % Funkt i on ar vo. I = eye ( ) ; % Yksi kkomat r i i si. % STEP 4 whi l e ( ( max( abs( G) ) >t ol ) & ( i t er <M) ), %f or i = : 00, % Lasket aan 0 ki er r ost a. % STEP 5 G = df p4_d ( ap) ; H = l evmar _h ( ap) ; %di sp ( mi n ( ei g ( H) ) ) ; t emp = i nv ( H + Be* I ) ; t emp = t emp* G ; % Gr adi ent i n ar vo. % Hessi n mat r i i si n ar vo. % STEP 6 ap_ol d = ap ; % Tal l et et aan vanha. t = f mi n ( ' df p4_m', 0, e3, [ ], ap, t emp) ; ap = ap - t * t emp ;

36 % STEP 7 i f ( df p4_f ( ap) < df p4_f ( ap_ol d) ), % STEP 8 Be = Be/ 4 ; i t er = i t er + ; % Kasvat et aan i t er oi nt i l askur i a. pl ot ( ap( ), ap( ), ' k+' ) ; pl ot ( [ ap_ol d( ) ap( ) ], [ ap_ol d( ) ap( ) ], ' k- ' ) ; el se % STEP 9 Be = * Be ; ap = ap_ol d ; end end ap G H i t er pr i nt - t i f f - deps c: \ t emp\ kkk ; hol d of f ; Kun ohjelma ajetaan, saadaan seuraavanlainen tulos» l evmar ap = G =. 0e- 00 * H = i t er = 6

37 Ja seuraava kuva f(x,x ) = (x ) 4 + (x x ).5 x x 4 Kuva 8.. Funktion ( ) ( ) ( ) f x, x = x + x x minimointi MLM-menetelmällä. Jos vertaa kuvaa 8. kuvaan 7., huomaat, että MLM-menetelmä on tehokkaampi kuin LM-menetelmä.

38 Monimutkaisen kuvan piirtäminen Tähän sopii pienenä välipalana esitys monimutkaisen kuvan piirtämisestä. Levenspielin (97, 33) kirjassa on kuva, johon on piirretty reaktionopeus, konversio ja lämpötila. Seuraavassa on muodostettu koodi, jonka tarkoituksena on näyttää, miten vastaava kuva voidaan piirtää ohjelmallisesti. Piirtokoodi on seuraavanlainen (temppro.m). % t emppr o. m % ( c) Juha Jaako & % Levenspi el s. 33 cl ear al l ; XAe = ; % di mensi ot on %CA0 = 4 ; % mol / l CA0 = ; % mol / l E = 600 ; % cal / mol E = 9600 ; R =. 98 ; % cal / ( mol K) T = 63 : 0. 5 : 383 ; N = si ze ( T, ) ; mr A = [ ] ; M = si ze ( mr A, ) ; hol d on ; axi s ( [ ( T( ) - 73) ( T( N) - 73) 0 ] ) ; f or j = : M, end f or i = : N, k = exp ( 7. - E/ ( R* T( i ) ) ) ; k = exp ( E/ ( R* T( i ) ) ) ; t emp = ( k* CA0- mr A( j ) ) / CA0 ; t emp = / ( k+k) ; XA = t emp* t emp ; xp( i ) = T( i ) - 73 ; yp( i ) = XA ; end % Pi i r r et aan käyr ä mr A: n vaki oar vol l a. pl ot ( xp, yp, ' k- ' ) ; % Käyr än maksi mi kohdat. [ a, b] = max ( yp) ; xmax( j ) = xp( b) ; ymax( j ) = yp( b) ; % Maksi mi kohdat. pl ot ( xmax( : j - ), ymax( : j - ), ' k- - ' ) ; % * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Tekst i t. % Ensi n aksel i t. xl abel ( ' Temper at ur e, { ^o} C \ r i ght ar r ow' ) ; yl abel ( ' Conver si on \ r i ght ar r ow' ) ;

39 % Tekst i oi keaan yl äkul maan. si z = 30 ; t e(, : si z) = ' Ti me i n mi nut es ' ; t e(, : si z) = ' { \ i t C} _{ A0} = mol / l i t er ' ; t e( 3, : si z) = ' For ot her { \ i t C} _{ A0} change ' ; t e( 4, : si z) = ' - { \ i t r } _{ A} accor di ngl y ' ; f or j = : 4, t ext ( 80, ( j - ) * , t e( j, : si z), ' Font Name', ' Ar i al ', ' Font Si ze', 8 ) ; end % Tekst i oi keal l e keskel l e. t ext ( 95. 5, 0. 5, ' \ l ef t ar r ow Equi l i br i um', ' Font Name', ' Ar i al ', ' Font Si ze', 8 ) ; % Tekst i t käyr i en yht eyt een - ei kai kki a. t ext ( - 7, 0. 95, [ ' - { \ i t r } _{ A} = ' numst r ( mr A( ) ) ], ' Font Name', ' Ar i al ', ' Font Si ze', 8 ) ; t ext ( 0, 0. 90, [ numst r ( mr A( 3) ) ], ' Font Name', ' Ar i al ', ' Font Si ze', 8 ) ; t ext ( 0, 0. 8, [ numst r ( mr A( 4) ) ], ' Font Name', ' Ar i al ', ' Font Si ze', 8 ) ; hol d of f ; pr i nt - t i f f - deps c: \ t emp\ t emppr o ; Ja kuvaksi saadaan r A = Time in minutes C A0 = mol/liter For other C A0 change r A accordingly 0.7 Conversion Equilibrium Temperature, o C Kuva 9.. Monimutkainen kuva. Vertaa kuvaa Levenspielin kirjassa olevaan.

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

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006 Harjoitus 1: Matlab Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Matlab-ohjelmistoon Laskutoimitusten

Lisätiedot

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä Aalto-yliopisto, Matematiikan ja Systeemianalyysin laitos mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä osittaisderivaatoista: y 1... J F =.

Lisätiedot

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut

TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio. Kimmo Berg. Mat Optimointioppi. 9. harjoitus - ratkaisut TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-2.139 Optimointioppi Kimmo Berg 9. harjoitus - ratkaisut 1. a) Viivahakutehtävä pisteessä x suuntaan d on missä min f(x + λd), λ f(x + λd) = (x

Lisätiedot

Matriiseista. Emmi Koljonen

Matriiseista. Emmi Koljonen Matriiseista Emmi Koljonen 3. lokakuuta 22 Usein meillä on monta systeemiä kuvaavaa muuttujaa ja voimme kirjoittaa niiden välille riippuvaisuuksia, esim. piirin silmukoihin voidaan soveltaa silmukkavirtayhtälöitä.

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä. Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 2016

Lisätiedot

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B Sovellettu todennäköisyyslaskenta B Antti Rasila 30. marraskuuta 2007 Antti Rasila () TodB 30. marraskuuta 2007 1 / 19 1 Lineaarinen regressiomalli ja suurimman uskottavuuden menetelmä Minimin löytäminen

Lisätiedot

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9. Python linkit: Python tutoriaali: http://docs.python.org/2/tutorial/ Numpy&Scipy ohjeet: http://docs.scipy.org/doc/ Matlabin alkeet (Pääasiassa Deni Seitzin tekstiä) Matriisit ovat matlabin perustietotyyppejä.

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

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1

. Kun p = 1, jono suppenee raja-arvoon 1. Jos p = 2, jono hajaantuu. Jono suppenee siis lineaarisesti. Vastaavasti jonolle r k+1 = r k, suhde on r k+1 TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-.39 Optimointioppi Kimmo Berg 8. harjoitus - ratkaisut. a)huomataan ensinnäkin että kummankin jonon raja-arvo r on nolla. Oletetaan lisäksi että

Lisätiedot

Matlabperusteita, osa 1. Heikki Apiola Matlab-perusteita, osa 1. Heikki Apiola. 12. maaliskuuta 2012

Matlabperusteita, osa 1. Heikki Apiola Matlab-perusteita, osa 1. Heikki Apiola. 12. maaliskuuta 2012 Matlab-perusteita, 12. maaliskuuta 2012 Matlab-perusteita, Ohjelmahahmotelma 1. viikko: Matlab 2. viikko: Maple (+ annettujen Matlab tehtävien ratkaisuja) 3. viikko: Maple ja Matlab (lopputyöt) Matlab-perusteita,

Lisätiedot

1 Komparatiivinen statiikka ja implisiittifunktiolause

1 Komparatiivinen statiikka ja implisiittifunktiolause Taloustieteen matemaattiset menetelmät 27 materiaali 4 Komparatiivinen statiikka ja implisiittifunktiolause. Johdanto Jo opiskeltu antaa nyt valmiu tutkia taloudellisia malleja Kiinnostava malli voi olla

Lisätiedot

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja

Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja Luento 10: Optimointitehtävien numeerinen ratkaiseminen; optimointi ilman rajoitusehtoja Seuraavassa esitetään optimointitehtävien numeerisia ratkaisumenetelmiä, eli optimointialgoritmeja, keittokirjamaisesti.

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33 Numeeriset menetelmät TIEA381 Luento 12 Kirsi Valjus Jyväskylän yliopisto Luento 12 () Numeeriset menetelmät 25.4.2013 1 / 33 Luennon 2 sisältö Tavallisten differentiaaliyhtälöiden numeriikasta Rungen

Lisätiedot

Differentiaaliyhtälöryhmä

Differentiaaliyhtälöryhmä Differentiaaliyhtälöryhmä Ensimmäisen kertaluvun differentiaaliyhtälöryhmä vaikkapa korkeamman kertaluvun yhtälöä vastaava normaaliryhmä voidaan ratkaista numeerisesti täsmälleen samanlaisilla kaavoilla

Lisätiedot

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35 Numeeriset menetelmät TIEA381 Luento 8 Kirsi Valjus Jyväskylän yliopisto Luento 8 () Numeeriset menetelmät 11.4.2013 1 / 35 Luennon 8 sisältö Interpolointi ja approksimointi Funktion approksimointi Tasainen

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

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 3. luento 17.11.2017 Neuroverkon opettaminen (ohjattu oppiminen) Neuroverkkoa opetetaan syöte-tavoite-pareilla

Lisätiedot

Luento 11: Rajoitusehdot. Ulkopistemenetelmät

Luento 11: Rajoitusehdot. Ulkopistemenetelmät Luento 11: Rajoitusehdot. Ulkopistemenetelmät ja sisäpistemenetelmät Lagrangen välttämättömien ehtojen ratkaiseminen Newtonin menetelmällä Jos tehtävässä on vain yhtälörajoituksia, voidaan minimipistekandidaatteja

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

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

1 Di erentiaaliyhtälöt

1 Di erentiaaliyhtälöt Taloustieteen mat.menetelmät syksy 2017 materiaali II-5 1 Di erentiaaliyhtälöt 1.1 Skalaariyhtälöt Määritelmä: ensimmäisen kertaluvun di erentiaaliyhtälö on muotoa _y = F (y; t) oleva yhtälö, missä _y

Lisätiedot

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 5. luento.2.27 Lineaarialgebraa - Miksi? Neuroverkon parametreihin liittyvät kaavat annetaan monesti

Lisätiedot

Differentiaali- ja integraalilaskenta 2 (CHEM) MS-A0207 Hakula/Vuojamo Kurssitentti, 12.2, 2018, arvosteluperusteet

Differentiaali- ja integraalilaskenta 2 (CHEM) MS-A0207 Hakula/Vuojamo Kurssitentti, 12.2, 2018, arvosteluperusteet ifferentiaali- ja integraalilaskenta 2 (CHEM) MS-A27 Hakula/Vuojamo Kurssitentti, 2.2, 28, arvosteluperusteet T Moniosaisten tehtävien osien painoarvo on sama ellei muuta ole erikseen osoitettu. Kokeessa

Lisätiedot

= 2 L L. f (x)dx. coshx dx = 1 L. sinhx nπ. sin. sin L + 2 L. a n. L 2 + n 2 cos. tehdään approksimoinnissa virhe, jota voidaan arvioida integraalin

= 2 L L. f (x)dx. coshx dx = 1 L. sinhx nπ. sin. sin L + 2 L. a n. L 2 + n 2 cos. tehdään approksimoinnissa virhe, jota voidaan arvioida integraalin BMA7 - Integraalimuunnokset Harjoitus 9. Määritä -jaksollisen funktion f x = coshx, < x < Fourier-sarja. Funktion on parillinen, joten b n = kun n =,,3,... Parillisuudesta johtuen kertoimet a ja a n saadaan

Lisätiedot

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

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä 1 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

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 2 To 8.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 2 To 8.9.2011 p. 1/33 p. 1/33 Lukujen tallennus Kiintoluvut (integer) tarkka esitys aritmeettiset operaatiot

Lisätiedot

Matemaattiset ohjelmistot A. Osa 2: MATLAB

Matemaattiset ohjelmistot A. Osa 2: MATLAB Matemaattiset ohjelmistot 802364A Osa 2: MATLAB Mikko Orispää 30. lokakuuta 2013 Sisältö 1 MATLAB 2 1.1 Peruslaskutoimitukset......................... 2 1.2 Muuttujat................................ 3

Lisätiedot

Ratkaisuehdotukset LH 7 / vko 47

Ratkaisuehdotukset LH 7 / vko 47 MS-C34 Lineaarialgebra, II/7 Ratkaisuehdotukset LH 7 / vko 47 Tehtävä : Olkoot M R symmetrinen ja positiividefiniitti matriisi (i) Näytä, että m > ja m > (ii) Etsi Eliminaatiomatriisi E R siten, että [

Lisätiedot

1 Rajoittamaton optimointi

1 Rajoittamaton optimointi Taloustieteen matemaattiset menetelmät 7 materiaali 5 Rajoittamaton optimointi Yhden muuttujan tapaus f R! R Muistutetaan mieleen maksimin määritelmä. Funktiolla f on maksimi pisteessä x jos kaikille y

Lisätiedot

Valitse ruudun yläosassa oleva painike Download Scilab.

Valitse ruudun yläosassa oleva painike Download Scilab. Luku 1 Ohjeita ohjelmiston Scilab käyttöön 1.1 Ohjelmiston lataaminen Ohjeet ohjelmiston lataamiseen Windows-koneelle. Mene verkko-osoitteeseen www.scilab.org. Valitse ruudun yläosassa oleva painike Download

Lisätiedot

MS-C1340 Lineaarialgebra ja

MS-C1340 Lineaarialgebra ja MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt Matriisinormi, häiriöalttius Riikka Kangaslampi Kevät 2017 Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Matriisinormi Matriisinormi Matriiseille

Lisätiedot

FUNKTION KUVAAJAN PIIRTÄMINEN

FUNKTION KUVAAJAN PIIRTÄMINEN FUNKTION KUVAAJAN PIIRTÄMINEN Saat kuvapohjan painamalla @-näppäintä tai Insert/Graph/X-Y-POT. Kuvapohjassa on kuusi paikanvaraaja: vaaka-akselin keskellä muuttuja ja päissä minimi- ja maksimiarvot pystyakselin

Lisätiedot

Matriisilaskenta (TFM) MS-A0001 Hakula/Vuojamo Ratkaisut, Viikko 47, 2017

Matriisilaskenta (TFM) MS-A0001 Hakula/Vuojamo Ratkaisut, Viikko 47, 2017 Matriisilaskenta (TFM) MS-A1 Hakula/Vuojamo Ratkaisut, Viikko 47, 17 R Alkuviikko TEHTÄVÄ J1 Mitkä matriisit E 1 ja E 31 nollaavat sijainnit (, 1) ja (3, 1) matriiseissa E 1 A ja E 31 A kun 1 A = 1. 8

Lisätiedot

Matematiikka B2 - TUDI

Matematiikka B2 - TUDI Matematiikka B2 - TUDI Miika Tolonen 3. syyskuuta 2012 Miika Tolonen Matematiikka B2 - TUDI 1 Kurssin sisältö (1/2) Matriisit Laskutoimitukset Lineaariset yhtälöryhmät Gaussin eliminointi Lineaarinen riippumattomuus

Lisätiedot

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

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

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt

Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt Luento 4: Liikkeen kuvausta, differentiaaliyhtälöt Digress: vakio- vs. muuttuva kiihtyvyys käytännössä Kinematiikkaa yhdessä dimensiossa taustatietoa Matlab-esittelyä 1 / 20 Luennon sisältö Digress: vakio-

Lisätiedot

2v 1 = v 2, 2v 1 + 3v 2 = 4v 2.. Vastaavasti ominaisarvoa λ 2 = 4 vastaavat ominaisvektorit toteuttavat. v 2 =

2v 1 = v 2, 2v 1 + 3v 2 = 4v 2.. Vastaavasti ominaisarvoa λ 2 = 4 vastaavat ominaisvektorit toteuttavat. v 2 = TKK, Matematiikan laitos Pikkarainen/Tikanmäki Mat-1.1320 Matematiikan peruskurssi K2 Harjoitus 12, A=alku-, L=loppuviikko, T= taulutehtävä, P= palautettava tehtävä, W= verkkotehtävä 21. 25.4.2008, viikko

Lisätiedot

Luento 8: Epälineaarinen optimointi

Luento 8: Epälineaarinen optimointi Luento 8: Epälineaarinen optimointi Vektoriavaruus R n R n on kaikkien n-jonojen x := (x,..., x n ) joukko. Siis R n := Määritellään nollavektori 0 = (0,..., 0). Reaalisten m n-matriisien joukkoa merkitään

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 4 To 15.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 4 To 15.9.2011 p. 1/38 p. 1/38 Lineaarinen yhtälöryhmä Lineaarinen yhtälöryhmä matriisimuodossa Ax = b

Lisätiedot

Harjoitus 10: Mathematica

Harjoitus 10: Mathematica Harjoitus 10: Mathematica Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen Mathematica-ohjelmistoon Mathematican

Lisätiedot

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät

Matriisi-vektori-kertolasku, lineaariset yhtälöryhmät Matematiikan peruskurssi K3/P3, syksy 25 Kenrick Bingham 825 Toisen välikokeen alueen ydinasioita Alla on lueteltu joitakin koealueen ydinkäsitteitä, joiden on hyvä olla ensiksi selvillä kokeeseen valmistauduttaessa

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0.

= 2±i2 7. x 2 = 0, 1 x 2 = 0, 1+x 2 = 0. HARJOITUS 1, RATKAISUEHDOTUKSET, YLE11 2017. 1. Ratkaise (a.) 2x 2 16x 40 = 0 (b.) 4x 2 2x+2 = 0 (c.) x 2 (1 x 2 )(1+x 2 ) = 0 (d.) lnx a = b. (a.) Toisen asteen yhtälön ratkaisukaavalla: x = ( 16)± (

Lisätiedot

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40

Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40 Differentiaali- ja integraalilaskenta 2 Laskuharjoitus 4 / vko 40 Alkuviikolla harjoitustehtäviä lasketaan harjoitustilaisuudessa. Loppuviikolla näiden harjoitustehtävien tulee olla ratkaistuina harjoituksiin

Lisätiedot

12. Differentiaaliyhtälöt

12. Differentiaaliyhtälöt 1. Differentiaaliyhtälöt 1.1 Johdanto Differentiaaliyhtälöitä voidaan käyttää monilla alueilla esimerkiksi tarkasteltaessa jonkin kohteen lämpötilan vaihtelua, eksponentiaalista kasvua, sähkölatauksen

Lisätiedot

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain

Matriisilaskenta, LH4, 2004, ratkaisut 1. Hae seuraavien R 4 :n aliavaruuksien dimensiot, jotka sisältävät vain Matriisilaskenta LH4 24 ratkaisut 1 Hae seuraavien R 4 :n aliavaruuksien dimensiot jotka sisältävät vain a) Kaikki muotoa (a b c d) olevat vektorit joilla d a + b b) Kaikki muotoa (a b c d) olevat vektorit

Lisätiedot

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Esitiedot Arvosanaan 1 2 riittävät Arvosanaan 3 4 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä

Lisätiedot

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ 4.9.09 HYVÄN VASTAUKSEN PIIRTEITÄ Alustavat hyvän vastauksen piirteet on suuntaa-antava kuvaus kokeen tehtäviin odotetuista vastauksista ja tarkoitettu ensisijaisesti

Lisätiedot

Matematiikan perusteet taloustieteilijöille II Harjoituksia kevät ja B = Olkoon A = a) A + B b) AB c) BA d) A 2 e) A T f) A T B g) 3A

Matematiikan perusteet taloustieteilijöille II Harjoituksia kevät ja B = Olkoon A = a) A + B b) AB c) BA d) A 2 e) A T f) A T B g) 3A Matematiikan perusteet taloustieteilijöille II Harjoituksia kevät 28 1. Olkoon A = Määrää ( 2 1 ) 3 4 1 a) A + B b) AB BA d) A 2 e) A T f) A T B g) 3A ja B = 2 1 6 3 1 2. Laske seuraavat determinantit

Lisätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 3 (31.3.2015) Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

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

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1 T-61.281 Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti 10.2.2004, 8:30-10:00 Kollokaatiot, Versio 1.1 1. Lasketaan ensin tulokset sanaparille valkoinen, talo käsin: Frekvenssimenetelmä:

Lisätiedot

Differentiaalilaskennan tehtäviä

Differentiaalilaskennan tehtäviä Differentiaalilaskennan tehtäviä DIFFERENTIAALILASKENTA 1. Raja-arvon käsite, derivaatta raja-arvona 1.1 Raja-arvo pisteessä 1.2 Derivaatan määritelmä 1.3 Derivaatta raja-arvona 2. Derivoimiskaavat 2.1

Lisätiedot

Kanta ja Kannan-vaihto

Kanta ja Kannan-vaihto ja Kannan-vaihto 1 Olkoon L vektoriavaruus. Äärellinen joukko L:n vektoreita V = { v 1, v 2,..., v n } on kanta, jos (1) Jokainen L:n vektori voidaan lausua v-vektoreiden lineaarikombinaationa. (Ts. Span(V

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 9 1 Implisiittinen derivointi Tarkastellaan nyt yhtälöä F(x, y) = c, jossa x ja y ovat muuttujia ja c on vakio Esimerkki tällaisesta yhtälöstä on x 2 y 5 + 5xy = 14

Lisätiedot

Harjoitus 5 -- Ratkaisut

Harjoitus 5 -- Ratkaisut Harjoitus -- Ratkaisut 1 Ei kommenttia. Tutkittava funktio oskilloi äärettömän tiheään nollan lähellä. PlotPoints-asetus määrää, kuinka tiheästi Plot-funktio ottaa piirrettävästä funktiosta "näytteitä"

Lisätiedot

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =

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

Johdatus tekoälyn taustalla olevaan matematiikkaan

Johdatus tekoälyn taustalla olevaan matematiikkaan Johdatus tekoälyn taustalla olevaan matematiikkaan Informaatioteknologian tiedekunta Jyväskylän yliopisto 4. luento 24.11.2017 Neuroverkon opettaminen - gradienttimenetelmä Neuroverkkoa opetetaan syöte-tavoite-pareilla

Lisätiedot

Luento 9: Yhtälörajoitukset optimoinnissa

Luento 9: Yhtälörajoitukset optimoinnissa Luento 9: Yhtälörajoitukset optimoinnissa Lagrangen kerroin Oletetaan aluksi, että f, g : R R. Merkitään (x 1, x ) := (x, y) ja johdetaan Lagrangen kerroin λ tehtävälle min f(x, y) s.t. g(x, y) = 0 Olkoon

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 1 23.1.2017 1. Päätösmuuttujiksi voidaan valita x 1 : tehtyjen peruspöytin lukumäärä x 2 : tehtyjen luxuspöytien lukumäärä. Optimointitehtäväksi tulee max 200x 1 + 350x 2 s. t. 5x

Lisätiedot

Satunnaismuuttujien muunnokset ja niiden jakaumat

Satunnaismuuttujien muunnokset ja niiden jakaumat Ilkka Mellin Todennäköisyyslaskenta Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat Satunnaismuuttujien muunnokset ja niiden jakaumat TKK (c) Ilkka Mellin (2007) 1 Satunnaismuuttujien muunnokset ja

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 3.2.27 Tehtävä. Valmisohjelmistolla voidaan ratkaista tehtävä min c T x s. t. Ax b x, missä x, c ja b R n ja A R m n. Muunnetaan tehtävä max x + 2x 2 + 3x 3 + x s. t. x + 3x 2 + 2x

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

Differentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle /

Differentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle / MS-A8 Differentiaali- ja integraalilaskenta, V/7 Differentiaali- ja integraalilaskenta Ratkaisut 5. viikolle / 9..5. Integroimismenetelmät Tehtävä : Laske osittaisintegroinnin avulla a) π x sin(x) dx,

Lisätiedot

Harjoitus 7 -- Ratkaisut

Harjoitus 7 -- Ratkaisut Harjoitus 7 -- Ratkaisut 1 Solve osaa ratkaista polynomiyhtälöitä, ainakin astelukuun 4 asti. Erikoistapauksissa korkeammankin asteen yhtälöt ratkeavat. Clear a, b, c, d, e, x ; Solve a x 3 b x 2 c 0,

Lisätiedot

ja B = 2 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A (e) A =

ja B = 2 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A (e) A = Matematiikan perusteet taloustieteilijöille II Harjoituksia kevät 211 1. Olkoon A = Määrää ( 2 1 ) 3 4 1 ja B = 2 1 6 3 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A. 2. Laske seuraavat determinantit

Lisätiedot

L A TEX, pdfl A TEX ja grafiikka

L A TEX, pdfl A TEX ja grafiikka L A TEX, pdfl A TEX ja grafiikka Ari Lehtonen Perinteinen TEXin tiedostotyyppien kulku on tex dvi ps pdf pdf PdfL A TEXissa välivaiheen dvi-tiedosto ohitetaan kokonaan, eli tex-tiedostosta tuotetaan suoraan

Lisätiedot

Insinöörimatematiikka D

Insinöörimatematiikka D Insinöörimatematiikka D M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Matematiikan ja tilastotieteen laitos Turun yliopisto 2015 M. Hirvensalo mikhirve@utu.fi V. Junnila viljun@utu.fi Luentokalvot

Lisätiedot

Harjoitus 1 -- Ratkaisut

Harjoitus 1 -- Ratkaisut Kun teet harjoitustyöselostuksia Mathematicalla, voit luoda selkkariin otsikon (ja mahdollisia alaotsikoita...) määräämällä soluille erilaisia tyylejä. Uuden solun tyyli määrätään painamalla ALT ja jokin

Lisätiedot

Demo 1: Simplex-menetelmä

Demo 1: Simplex-menetelmä MS-C2105 Optimoinnin perusteet Malliratkaisut 3 Ehtamo Demo 1: Simplex-menetelmä Muodosta lineaarisen tehtävän standardimuoto ja ratkaise tehtävä taulukkomuotoisella Simplex-algoritmilla. max 5x 1 + 4x

Lisätiedot

ja B = 2 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A (e)

ja B = 2 1 a) A + B, b) AB, c) BA, d) A 2, e) A T, f) A T B, g) 3A (e) Matematiikan perusteet taloustieteilijöille II Harjoituksia kevät 214 1. Tutki seuraavia jonoja a) (a n )=(3n 1) ( ) 2 b) (a n )= 3 n ( ) 1 c) (a n )= (n + 1)(n +2) 2. Tutki seuraavia sarjoja a) (3k 1)

Lisätiedot

T Luonnollisten kielten tilastollinen käsittely

T Luonnollisten kielten tilastollinen käsittely T-61.281 Luonnollisten kielten tilastollinen käsittely Vastaukset 3, ti 11.2.2003, 16:15-18:00 Kollokaatiot, Versio 1.1 1. Lasketaan ensin tulokset sanaparille valkoinen, talo käsin: Frekvenssimenetelmä:

Lisätiedot

k=0 saanto jokaisen kolmannen asteen polynomin. Tukipisteet on talloin valittu

k=0 saanto jokaisen kolmannen asteen polynomin. Tukipisteet on talloin valittu LIS AYKSI A kirjaan Reaalimuuttujan analyysi 1.6. Numeerinen integrointi: Gaussin kaavat Edella kasitellyt numeerisen integroinnin kaavat eli kvadratuurikaavat Riemannin summa, puolisuunnikassaanto ja

Lisätiedot

Numeerinen integrointi ja derivointi

Numeerinen integrointi ja derivointi Numeerinen integrointi ja derivointi Keijo Ruotsalainen Division of Mathematics Interpolaatiokaavat Approksimoitava integraali I = b a f(x)dx. Tasavälinen hila: x i = a+ (b a)i n, i = 0,...,n Funktion

Lisätiedot

Ratkaisuehdotukset LH 3 / alkuvko 45

Ratkaisuehdotukset LH 3 / alkuvko 45 Ratkaisuehdotukset LH 3 / alkuvko 45 Tehtävä : Olkoot A, B, X R n n, a, b R n ja jokin vektorinormi. Kätetään vektorinormia vastaavasta operaattorinormista samaa merkintää. Nätä, että. a + b a b, 2. A

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 3 7.3.07 Tehtävä Olkoon tilamuuttujat Tällöin saadaan rekursioyhtälö f n (x n ) = max yn {0,} ynwn xn f 0 ( ) = 0. x n = vaiheessa n jäljellä oleva paino, n =,...,N, esine n pakataan

Lisätiedot

Kimppu-suodatus-menetelmä

Kimppu-suodatus-menetelmä Kimppu-suodatus-menetelmä 2. toukokuuta 2016 Kimppu-suodatus-menetelmä on kehitetty epäsileiden optimointitehtävien ratkaisemista varten. Menetelmässä approksimoidaan epäsileitä funktioita aligradienttikimpulla.

Lisätiedot

Numeerinen integrointi

Numeerinen integrointi Numeerinen integrointi Analyyttisesti derivointi triviaalia, integrointi vaikeaa. Numeerisesti laskettaessa tilanne on päinvastainen. Integrointi on yhteenlaskua, joka on tasoittava operaatio: lähtötietojen

Lisätiedot

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

BM20A0900, Matematiikka KoTiB3

BM20A0900, Matematiikka KoTiB3 BM20A0900, Matematiikka KoTiB3 Luennot: Matti Alatalo Oppikirja: Kreyszig, E.: Advanced Engineering Mathematics, 8th Edition, John Wiley & Sons, 1999, luvut 1 4. 1 Sisältö Ensimmäisen kertaluvun differentiaaliyhtälöt

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 2 Lisää osamurtoja Tutkitaan jälleen rationaalifunktion P(x)/Q(x) integrointia. Aiemmin käsittelimme tapauksen, jossa nimittäjä voidaan esittää muodossa Q(x) = a(x x

Lisätiedot

Matematiikka B2 - Avoin yliopisto

Matematiikka B2 - Avoin yliopisto 6. elokuuta 2012 Opetusjärjestelyt Luennot 9:15-11:30 Harjoitukset 12:30-15:00 Tentti Kurssin sisältö (1/2) Matriisit Laskutoimitukset Lineaariset yhtälöryhmät Gaussin eliminointi Lineaarinen riippumattomuus

Lisätiedot

Tehtävänanto oli ratkaista seuraavat määrätyt integraalit: b) 0 e x + 1

Tehtävänanto oli ratkaista seuraavat määrätyt integraalit: b) 0 e x + 1 Tehtävä : Tehtävänanto oli ratkaista seuraavat määrätyt integraalit: a) a) x b) e x + Integraali voisi ratketa muuttujanvaihdolla. Integroitava on muotoa (a x ) n joten sopiva muuttujanvaihto voisi olla

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

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi

Lineaarikuvausten. Lineaarikuvaus. Lineaarikuvauksia. Ydin. Matriisin ydin. aiheita. Aiheet. Lineaarikuvaus. Lineaarikuvauksen matriisi Lineaarikuvaukset aiheita ten ten 1 Matematiikassa sana lineaarinen liitetään kahden lineaariavaruuden väliseen kuvaukseen. ten Määritelmä Olkoon (L, +, ) ja (M, ˆ+, ˆ ) reaalisia lineaariavaruuksia, ja

Lisätiedot

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) =

3 = Lisäksi z(4, 9) = = 21, joten kysytty lineaarinen approksimaatio on. L(x,y) = BM20A5810 Differentiaalilaskenta ja sovellukset Harjoitus 6, Syksy 2016 1. (a) Olkoon z = z(x,y) = yx 1/2 + y 1/2. Muodosta z:lle lineaarinen approksimaatio L(x,y) siten että approksimaation ja z:n arvot

Lisätiedot

Harjoitus 2 -- Ratkaisut

Harjoitus 2 -- Ratkaisut Harjoitus -- Ratkaisut Listat a Table-komento Huom. (*-merkki aloittaa kommentin ja *)-merkki päättää sen. Table x, x,. x:n arvo, viimeinen x:n arvo, askelpituus, 4, 9, 6, 5, 36, 49, 64, 8,,, 44, 69, 96,

Lisätiedot

Talousmatematiikan perusteet

Talousmatematiikan perusteet kevät 219 / orms.13 Talousmatematiikan perusteet 9. harjoitus, viikko 12 (18.3. 22.3.219) L Ma 1 12 A22 R5 Ti 14 16 F453 R1 Ma 12 14 F453 L To 8 1 A22 R2 Ma 16 18 F453 R6 Pe 12 14 F14 R3 Ti 8 1 F425 R7

Lisätiedot

Lineaariset kongruenssiyhtälöryhmät

Lineaariset kongruenssiyhtälöryhmät Lineaariset kongruenssiyhtälöryhmät LuK-tutkielma Jesse Salo 2309369 Matemaattisten tieteiden laitos Oulun yliopisto Sisältö Johdanto 2 1 Kongruensseista 3 1.1 Kongruenssin ominaisuuksia...................

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

Oppimistavoitematriisi

Oppimistavoitematriisi Oppimistavoitematriisi Lineaarialgebra ja matriisilaskenta I Arvosanaan 1 2 riittävät Arvosanaan 5 riittävät Yhtälöryhmät (YR) Osaan ratkaista ensimmäisen asteen yhtälöitä ja yhtälöpareja Osaan muokata

Lisätiedot

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 9: Muuttujanvaihto taso- ja avaruusintegraaleissa

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 9: Muuttujanvaihto taso- ja avaruusintegraaleissa MS-A24 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 9: Muuttujanvaihto taso- ja avaruusintegraaleissa Antti Rasila Matematiikan ja systeemianalyysin laitos Aalto-yliopisto Kevät 216 Antti Rasila

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

Heikki Apiola, Juha Kuortti, Miika Oksman. 5. lokakuuta Matlabperusteita, osa 1

Heikki Apiola, Juha Kuortti, Miika Oksman. 5. lokakuuta Matlabperusteita, osa 1 Matlab-perusteita, 5. lokakuuta 2015 Matlab-perusteita, Mikä on Matlab Matriisilaboratorio [Cleve Moler, Mathworks inc.] Numeerisen laskennan työskentely-ympäristö Suuri joukko matemaattisia ja muita funktioita,

Lisätiedot

Ominaisarvoon 4 liittyvät ominaisvektorit ovat yhtälön Ax = 4x eli yhtälöryhmän x 1 + 2x 2 + x 3 = 4x 1 3x 2 + x 3 = 4x 2 5x 2 x 3 = 4x 3.

Ominaisarvoon 4 liittyvät ominaisvektorit ovat yhtälön Ax = 4x eli yhtälöryhmän x 1 + 2x 2 + x 3 = 4x 1 3x 2 + x 3 = 4x 2 5x 2 x 3 = 4x 3. Matematiikan ja tilastotieteen laitos Lineaarialgebra ja matriisilaskenta II Ylimääräinen harjoitus 6 Ratkaisut A:n karakteristinen funktio p A on λ p A (λ) det(a λi ) 0 λ ( λ) 0 5 λ λ 5 λ ( λ) (( λ) (

Lisätiedot

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

1 Kertaus. Lineaarinen optimointitehtävä on muotoa: 1 Kertaus Lineaarinen optimointitehtävä on muotoa: min c 1 x 1 + c 2 x 2 + + c n x n kun a 11 x 1 + a 12 x 2 + + a 1n x n b 1 a 21 x 1 + a 22 x 2 + + a 2n x n b 2 (11) a m1 x 1 + a m2 x 2 + + a mn x n

Lisätiedot

b 1. b m ) + ( 2b Ax) + (b b)

b 1. b m ) + ( 2b Ax) + (b b) TEKNILLINEN KORKEAKOULU Systeemianalyysin laboratorio Mat-9 Optimointioppi Kimmo Berg 5 harjoitus - ratkaisut min Ax b (vertaa PNS-tehtävät) a x + + a n x n a) Ax b = a m x + + a mn x n = x a a m }{{}

Lisätiedot