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ällysluettelo 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 ISSN

3 - 3 - Johdanto 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ä Hewlett-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 Equation Editor ver 3.0:lla. Kirjan valmistuksessa on käytetty seuraavia kuvaformaatteja: TIFF (-tiff), JPEG (-djpeg) ja Encapsulated Level Post- Script (-deps). Käytetty kone oli seuraavanlainen: käyttöjärjestelmä Windows 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-ohjelmointikielestä 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 Y = b0 + b x + b x (.) 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). % EHals.m - Neliöllinen malli. % (c) Juha Jaako % Edgar & Himmelblau s % Tämä versio laskee vain malliparametrit! clear all ; % Data - pystyvektoreita! x = [ ]' ; Y = [ ]' ; N = size (x, ) ; % Vektorin pituus. % Muodostetaan X-matriisi. mx = zeros (N, 3) ; % Alustetaan matriisi nollilla. for i = : N, % Täytetään matriisi rivi kerrallaan. mx(i,:) = [, x(i), x(i)^ ] ; end % Ratkaistaan malliparametrit. b = (inv ((mx')*mx))*(mx')*y % Ratkaisukaava matriisimuodossa Ohjelma tulostaa vastaukseksi» EHals 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). % EHals.m - Neliöllinen malli. % (c) Juha Jaako % Edgar & Himmelblau s clear all ; hold on ;

7 - 7 - % Data x = [ ]' ; Y = [ ]' ; N = size (x, ) ; % Vektorin pituus. plot (x, Y, 'ko') ; % Piirretään koepisteet. % Muodostetaan X-matriisi. mx = zeros (N, 3) ; for i = : N, mx(i,:) = [, x(i), x(i)^ ] ; end % Ratkaistaan malliparametrit. b = (inv ((mx')*mx))*(mx')*y ; % Piirretään mallin kuvaaja. xx = min(x) : 0. : max(x) ; % 0.:n välein välille M = size (xx,) ; for i = : M, yy(i) = b()+b()*xx(i)+b(3)*xx(i)^ ; end plot (xx, yy, 'k-') ; % Piirretään malli kuvaan. % Maksimi voidaan etsia kahdella tavalla % JOKO etsimällä maksimi edellä lasketuista vektoreista. [I,J] = max (yy) ; % I : suurin arvo. % J : arvon indeksi. disp (' ') ; disp ( 'Maksimi vektorista hakemalla:'), disp ( ['Suurin arvo (Y) : ' numstr(i) ]) ; disp ( ['Pisteessä (x) : ' numstr(xx(j)) ]) ; plot (xx(j), I, 'k+') ; % TAI kayttamalla MATLABin fmin-funktiota (kts. liite 3!) % Etsitaan maksimi (pannaan miinusmerkki eteen). % Ensin muodostetaan kohdefunktio. b0s = numstr(b()) ; bs = numstr(b()) ; bs = numstr(b(3)) ; funktio = [ '-((' b0s ')+(' bs ')*x+(' bs ')*x^)' ] ; % Sitten kutsutaan MATLABin fmin-funktiota. xmax = fmin (funktio, min(x), max(x) ) ; ymax = b()+b()*xmax+b(3)*xmax^ ; disp (' ') ; disp ( 'Maksimi fmin-funktiolla:'), disp ( ['Suurin arvo (Y) : ' numstr(ymax) ]) ; disp ( ['Pisteessä (x) : ' numstr(xmax) ]) ; plot (xmax, ymax, 'k*') ; % Kuvan otsikot, akselit jne.. (käytetään kursiivia). xlabel ('\itx') ; ylabel ('\ity') ; % _ : alaindeksi, ^ : yläindeksi title ('Neliöllinen malli {\ity = {b_0}+{b_ x}+{b_}{x^}}') ; % Esitetään malliparametritkin kuvassa. text (30, 7.5, ['\it{b_0} = ' b0s ] ) ; text (30, 70.0, ['\it{b_} = ' bs ] ) ; text (30, 67.5, ['\it{b_} = ' bs ] ) ; % Lasketaan mallin selitysaste. R = seliaste (Y, mx*b, N) ; Rs = numstr (R) ; text (30, 64.0, ['\it{r^} = ' Rs ] ) ; hold off ;

8 - 8 - % Tulostetaan kuva tiedostoon Encapsulated Postscript -muotoon 4. print -tiff -deps c:\temp\ehals ; Selitysasteen laskenta tehdään erillisen funktion avulla (MATLAB-ohjelmointikielessä funktiot on koodattava erilliseksi tiedostoksi) - huomaa funktion syntaksi. % seliaste.m - Laskee selitysasteen % (c) Juha jaako % DO - havaitut arvot % DOkalc - mallin antamat arvot function f = seliaste (DO, DOkalc, N) % Laskettu selitysaste. SST = 0 ; % Kokonaisneliösumma SSR = 0 ; % Jäännösneliösumma SSD = 0 ; % Selitetty neliösumma DOmean = mean (DO) ; for i = : N, SST = SST + (DO(i)-DOmean)^ ; SSR = SSR + (DO(i)-DOkalc(i))^ ; end SSD = SST - SSR ; f = -(SSR/SST) ; Koodi tulostaa seuraavaa» ehals Maksimi vektorista hakemalla: Suurin arvo (Y) : Pisteessä (x) : 4. Maksimi fmin-funktiolla: Suurin arvo (Y) : Pisteessä (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 Kuva.. Mallipisteet, malliyhtälö ja malliparametrit. Koodissa oleva komento print -tiff -deps c:\temp\ehals ; 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 print -djpeg c:\temp\ehals ; 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 0 3 Integroimalla yhtälöt (.)-(.3) saaadaan, kun k, k ja 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 dx (.8) 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» inv(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» threwall T = % Kelvin xmx0 = 0.69 % metreinä % jalkoina xmx = 0.56 % metreinä 0.53 % jalkoina jota voi verrata viitteen (Bird et al. 960, 305) ratkaisuun (0.39 ft ja 0.5 ft). Ohjelmakoodi on seuraavanlainen % threwall.m % (c) Juha Jaako % Lämmönsiirto kolmen seinämän läpi. % Bird et al., s & 305 format short ; % Lasketaan terässeinä. % Ensin muunnos SI-yksiköihin. T3 = FK (00) ; % of -> K q0 = BfhWm (5000) ; % Btu /(ft^ h) -> W/m^ xmx3 = 0.054*(-/4) ; % in -> m k3 = BfhFWmK (6.) ; % Btu/(ft h of) -> W/(m K) T = T3 - q0*(xmx3/k3) % Kaava (.) % Lasketaan tulitiiliseinä. % Lasketaan ensin datan avulla parametrit. A = [ FK(00) ;... FK(000) ] ; B = [ BfhFWmK(.8) ; BfhFWmK(3.6) ] ; data = A\B ; a = data() ; b = data() ; T0 = FK (500) ; T = FK (000) ; % of -> K % of -> K temp = (a/)*(t^-t0^) ; temp = b*(t-t0) ; xmx0 = (temp+temp)/(-q0) % Kaava (.0) disp (xmx0/0.3048) ; % m -> ft % Lasketaan eristetiiliseinä. % Lasketaan ensin datan avulla parametrit. A = [ fk(00) ;... fk(000) ] ; B = [ BfhFWmK(0.9) ; BfhFWmK(.8) ] ; data = A\B ; a = data() ; b = data() ; temp = (a/)*(t^-t^) ; temp = b*(t-t) ; xmx = (temp+temp)/(-q0) % Kaava () disp (xmx/0.3048) ; % m -> ft

15 - 5 - Muunnosfunktiot SI-yksiköihin ovat seuraavanlaisia (huomaa, että kaikki funktiot on kirjoitettava erillisiksi tiedostoiksi) % FK.m % (c) Juha Jaako % Fahrenheit to Kelvin conversion. function K = FK (F) K = (F-3)/(.8) ; % Funktion loppu % BfhWm.m % (c) Juha Jaako % Btu/(ft^ h) to W/m^ conversion % CRC 74th edition s. -6 function Wm = BfhWm (Bfh) Wm = *Bfh ; % Funktion loppu % BfhFWmK.m % (c) Juha Jaako % Btu/(ft h of) to W/(m K) conversion % CRC 74th edition s. -6 function WmK = BfhFWmK (BfhF) WmK = *BfhF ; 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 sin x sin y z( x, y) = x y (3.) 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. % laink87.m % (c) Juha Jaako % Funktion kuvaaja. axis ( [-4*pi 4*pi -4*pi 4*pi ] ) ; [x, x] = meshgrid (-4*pi : 0. : 4*pi, -4*pi : 0. : 4*pi ) ; A = (sin(x)./x).*(sin(x)./x) ; mesh (x, x, A) ; print -deps c:\temp\laink87 ; 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 axis ( [-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] = meshgrid (-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 = (sin(x)./x).*(sin(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. % laine87.m % & & % (c) Juha Jaako % Satunnaishaku. % Funktion kuvaaja. title ('tasa-arvokayrat z > 0 ja satunnaishaku') ; axis ( [-4*pi 4*pi -4*pi 4*pi ] ) ; [x, x] = meshgrid (-4*pi : 0. : 4*pi, -4*pi : 0. : 4*pi ) ; z = (sin(x)./x).*(sin(x)./x) ; ta = 0.0 : 0.0 : 0.9 ; ta = 0. : 0.0 : 0.8 ; ta3 = 0.3 : 0. :.0 ; ta = [ta ta ta3] ; contour (x, x, z, ta) ;

18 - 8 - % Satunnaishaku. hold on ; axis ( [-4*pi 4*pi -4*pi 4*pi] ) ; m = REALMIN ; % Lasketaan 5000 kierrosta. for i = : 5000, x = 4*pi*(*rand-) ; y = 4*pi*(*rand-) ; plot (x, y, 'k.') ; if (i == ), oldx = x ; oldy = y ; plot (x, y, 'ko') ; end z = (sin(x)/x)*(sin(y)/y) ; if (z > m), m = z ; str = sprintf ('%d\t%8.3f\t%8.3f\t%8.3f', i, x, y, z) ; disp (str) ; plot (x, y, 'ko') ; line ([oldx x], [oldy y]) ; oldx = x ; oldy = y ; end end hold off ; print -djpeg00 c:\temp\laine87 ; Ohjelma tulostaa seuraavaa:» laine 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 x sin 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.) l mol jossa k =. Tarkoituksena on käsitellä F A 0 = syötettä, jossa on mol min 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 ( R + ) + R( X Af ) = ln F A0 k C R( X Af ) A0 josta analyyttisesti johtamalla ja asettamalla X = 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 =.9 ln = 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 ( f f + f + 4 f f m + 4 f m + f m ) (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. % recycle.m % (c) Juha Jaako % Palautussuhteen optimi : R = ; % Reaktioparametrit. FA0 = ; k = ; CA0 = ; XAf = 0.99 ; % [mol/min] % [l/mol*min] % [mol/l] % [dimensioton] param = [ FA0 k CA0 XAf ] ; disp (' -- Minimoimalla ja numeerisesti integroimalla') ; R = fmin ('simpson', 0,, [], param) % Palautussuhteen minimi. V = simpson (R, param) % Minimitilavuus. disp (' -- Levenspiel') ; Ropt = fmin ('(x+)*log((+0.0*x)/(0.0*x))', 0., 0.9) Vopt = (Ropt+)*log((+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.» recycle -- Minimoimalla ja numeerisesti integroimalla R = V = Levenspiel Ropt = Vopt = Lisäksi tarvitaan tietysti minimoitava kohdefunktio eli kaava (4.6) koodattuna (simpson.m). Funktion tarvitseman parametrit välitetään parametrilistan avulla. % simpson.m % (c) Juha Jaako % Palautussuhteen optimointi. % Kreyszig E, Advanced engineering mathematics. s % Levenspiel O, Chemical reaction engineering. s % Numeerinen integrointi - Simpsonin sääntö. function f = simpson (R, param) % Palautussuhteen optimi : R = ;

22 - - % Reaktioparametrit. FA0 = param() ; k = param() ; CA0 = param(3) ; XAf = param(4) ; % [mol/min] % [l/mol*min] % [mol/l] % [dimensioton] % Parametrit a = (R/(R+))*XAf ; % Integroinnin aloituspiste. b = XAf ; % " lopetuspiste. m = 500 ; % Välien lukumäärä. Oltava SUURI ja PARILLINEN. h = (b-a)/m ; % Välin pituus. % Laskentapisteet numeerista integrointia varten. f = zeros (m+, ) ; for i = 0 : m, x = a + h*i ; f(i+) = /(x*(-x)) ; end % Lasketaan Simpsonin parametrit. s0 = f() + f(m+) ; s = 0 ; for i = : : (m-), s = s + f(i+) ; end s = 0 ; for i = : : (m-), s = s + f(i+) ; end % Numeerisen integraalin arvo. J = (h/3)*(s0 + 4*s + *s) ; vakio = (FA0*(R+))/(k*CA0^) ; V = vakio*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älien lukumäärä. Oltava SUURI ja PARILLINEN. 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) % recycle.m % (c) Juha Jaako % Palautussuhteen optimi : R = ; % Reaktioparametrit. FA0 = ; k = ; CA0 = ; XAf = 0.99 ; % [mol/min] % [l/mol*min] % [mol/l] % [dimensioton] param = [ FA0 k CA0 XAf ] ; disp (' -- Minimoimalla ja numeerisesti integroimalla') ; R = fmin ('simpson', 0, 0, [], param) % Palautussuhteen minimi. V = simpson (R, param) % Minimitilavuus. % Kuvaaja. hold on ; for R = 0.0 : :, plot (R, simpson (R, param), 'k.') ; end xlabel ('R') ; ylabel ('V') ; hold off ; print -deps -tiff c:\temp\recycle ; disp (' -- Levenspiel') ; Ropt = fmin ('(x+)*log((+0.0*x)/(0.0*x))', 0., 0.9) Vopt = (Ropt+)*log((+0.0*Ropt)/(0.0*Ropt)) Koodi tulostaa seuraavan tekstin» recycle -- Minimoimalla ja numeerisesti integroimalla R = V = Levenspiel 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 % simpson.m (c) Juha Jaako % Palautussuhteen optimointi. % Levenspiel O, Chemical reaction engineering. s % Numeerinen integrointi - Matlabin quad8-funktio. function f = simpson (R, param) % Puretaan parametrivektori -> reaktioparametrit. FA0 = param() ; % [mol/min] k = param() ; % [l/mol*min] CA0 = param(3) ; % [mol/l] XAf = param(4) ; % [dimensioton] % Parametrit a = (R/(R+))*XAf ; % Integroinnin aloituspiste. b = XAf ; % " lopetuspiste. tol = e-3 ; % Suhteellinen virhe. % Numeerinen integrointi quad8-funktion avulla. J = quad8 ('simpint', a, b, tol) ; % Matlabin integraattori!!! vakio = (FA0*(R+))/(k*CA0^) ; V = vakio*j ; f = V ;

25 - 5 - ja integraattorin käyttämä funktio (simpint.m). % simpint.m % (c) Juha Jaako % HUOM: x on vektori % f on vektori function f = simpint (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.» simpson (e0, [ 0.99 ]) 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).» simpson (e-, [ 0.99 ]) ans = 9.306» simpson (e-4, [ 0.99 ]) ans = 8.04» simpson (e-6, [ 0.99 ]) ans = » simpson (e-8, [ 0.99 ]) ans = e+004» simpson (e-0, [ 0.99 ]) 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ä - johdantoa 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): a + = a λming (5.8) i i i Newton (N): a i+ = ai J i Gi (5.9) Parannettu Newton (MN) : a i+ ai = λ J G (5.0) 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, laskettu askelpituus, G gradienttivektorin arvo edellisessä laskentapisteessä, λmin i i Hessin matriisin arvo edellisessä laskentapisteessä, H i Hessin matriisin käänteismatriisia approksimoiva matriisin arvo edellisessä laskentapisteessä, I yksikkömatriisi ja Λ on kerroin, jonka aloitusarvona yleensä on 4 0. J 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 ' ' H i yi yi H i sisi DFP : H 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-Powell-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). % piirto.m - juha jaako % Piirretään funktion f(x,x) = (x-)^4 + (x-x)^ % tasa-arvokäyrät. function f = piirto (koord) [x, x] = meshgrid (koord() : 0. : koord(),... koord(3) : 0. : koord(4)) ; A = (x - ).^4 + (x - x).^ ; ta = min(min(a)) : : max(max(a)) ; contour (x, x, A, ta) ; % Tekstit. xlabel ('\it{x_}') ; ylabel ('\it{x_}') ; title ('\it{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. % dfp4.m % juha jaako kts. Jaako (997, s. 65) & James et al. (993, 748) clear all ; format short ; hold on ; % Putsataan muisti romusta. koord = [ ] ; %axis (koord) ; dummy = piirto (koord) ; %_Minimi pisteessä (, ). mp = [ ; ] ; plot (mp(), mp(), 'k+') ; tol = e-4 ; % Laskentatoleranssi. %_DFP-menetelmä. ap = [ - ; ] ; plot (ap(), ap(), 'ko') ; G = dfp4_d (ap) ; % Gradientin arvo pisteessä. f = dfp4_f (ap) ; iter = 0 ; H = eye () ; % Alustetaan iterointilaskuri. % Yksikkömatriisi.

30 %while (max (abs (ap-mp)) > tol), for i = : 0, % Lasketaan 0 kierrosta. T = H * G ; % Lasketaan askelpituus. t = fmin ('dfp4_m', -0, 0, [], ap, T) ; % Lasketaan uusi piste. ap_old = ap ; % Talletetaan vanha piste. ap = ap - t*t ; % Lasketaan uusi piste. plot (ap(), ap(), 'ko') ; % Merkataan piste kuvaan. G_old = G ; % Talletetaan vanha gradientin arvo. G = dfp4_d (ap) ; % Gradientin arvo uudessa pisteessä. f = dfp4_f (ap) ; % Funktion arvo uudessa pisteessä. % H-matriisin päivitys. sk = ap - ap_old ; yk = G - G_old ; Bk = H ; % Davidon, Fletcher & Powell, kts. James s. 753 te = Bk*yk*(yk')*Bk ; te = (yk')*bk*yk ; te3 = sk*(sk') ; te4 = (sk')*yk ; H = H - (te/te) + (te3/te4) ; % Jyrkin lasku saadaan seuraavalla. % H = eye () ; iter = iter + ; % Kasvatetaan iterointilaskuria. end ; ap G iter hold off ; Huomaa, että päivitysalgoritmi on koodattu seuraavasti te = Bk*yk*(yk')*Bk ; te = (yk')*bk*yk ; te3 = sk*(sk') ; te4 = (sk')*yk ; H = H - (te/te) + (te3/te4) ; 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) % dfp4_f.m % Lasketaan funktion arvo. function f = dfp4_f (x) f = (x()-)^4 + (x()-x())^ ;

31 (dfp4_d.m) % dfp4_d.m % Lasketaan gradienttivektori. function G = dfp4_d (x) G = [ 4*(x()-)^3 + *(x()-x()) ; -*(x()-x()) ] ; ja (dfp4_m.m). % dfp4_m.m % Askelpituuden laskentafunktio. function y = dfp4_m (x, ap, T) xx = ap - x*t ; y = dfp4_f (xx) ; Ajamalla ohjelma, saadaan vastaukseksi» dfp4 ap = G =.0e-0 * iter = 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) % levmar.m % Levenberg-Marquardt teht. 6 % Reklaitis, Ravindran & Ragsdell s. 06 % & (c) Juha Jaako clear all ; format short ; hold on ; % Putsataan muisti romusta. koord = [ ] ; dummy = piirto (koord) ; %_Minimi pisteessä (, ). mp = [ ; ] ; plot (mp(), mp(), 'ko') ; %_Levenberg-Marquardt-menetelmä. % STEP ap = [ - ; ] ; plot (ap(), ap(), 'k*') ; M = e4 ; tol = e-0 ; % Haun alkuarvo. % Kierrosten maksimimäärä. % Laskentatoleranssi. % STEP iter = 0 ; % Alustetaan iterointilaskuri. L = e4 ; % Lambdan alkuarvo. %L = 0 ; % Newton. % STEP 3 G = dfp4_d (ap) ; f = dfp4_f (ap) ; I = eye () ; % Gradientin arvo. % Funktion arvo. % Yksikkomatriisi. % STEP 4 & 5 while ( (max(abs(g))>tol) & (iter<m) ), %for i = : 00, % STEP 6 G = dfp4_d (ap) ; H = levmar_h (ap) ; temp = inv (H + L*I) ; temp = temp*g ; % STEP 7 ap_old = ap ; ap = ap - temp ; % Lasketaan 0 kierrosta. % Gradientin arvo. % Hessin matriisin arvo. % Talletetaan vanha. 5 Virheet käyvät selville, kun vertaat liitteen algoritmia ja koodia!

33 % STEP 8 - pienenikö funktion arvo? if ( dfp4_f(ap) < dfp4_f(ap_old) ), % STEP 9 - pienennetään lambdaa L = L/ ; iter = iter + ; % Kasvatetaan iterointilaskuria. plot (ap(), ap(), 'k+') ; else % STEP 0 - kasvatetaan lambdaa L = *L ; ap = ap_old ; end end abs (mp-ap) G H iter hold off ; Lisäksi tarvitaan Hessin matriisin laskeva koodi (tässä toiset osittaisderivaatat on laskettu analyyttisesti eikä numeerisesti) % levmar_h.m % Lasketaan Hessin matriisi. function H = levmar_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» levmar ans =.0e-003 * G =.0e-00 * H = iter = 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 = a J + I G ) voidaan parantaa ottamalla mukaan Luvun 7 algoritmia ( i i ( i ) i askelpituuden laskenta ( ai+ ai min ( H i + ΛI ) Gi + Λ = λ ). Tämä laskenta-algoritmi on esitetty liitteessä (Edgar & Himmelblau 988, 4). Koodattuna saamme seuraavanlaisen koodin (levmar.m) % levmar.m % Levenberg-Marquardt teht. 6 % Edgar & Himmelblau s. 4 % & (c) Juha Jaako clear all ; format short ; hold on ; % Putsataan muisti romusta. koord = [ ] ; %axis ([- 0 4]) ; dummy = piirto (koord) ; %_Minimi pisteessä (, ). mp = [ ; ] ; plot (mp(), mp(), 'ko') ; %_Levenberg-Marquardt-menetelmä. % STEP ap = [ - ; ] ; plot (ap(), ap(), 'ko') ; M = e3 ; tol = e-0 ; % STEP iter = 0 ; Be = e3 ; % Haun alkuarvo. % Kierrosten maksimimäärä. % Laskentatoleranssi. % Alustetaan iterointilaskuri. % Beetan alkuarvo. % Beeta voidaan laske myos ominaisarvojen avulla. % Edgar & Himmelblau s. 4-5 % STEP 3 G = dfp4_d (ap) ; f = dfp4_f (ap) ; I = eye () ; % Gradientin arvo. % Funktion arvo. % Yksikkomatriisi. % STEP 4 while ( (max(abs(g))>tol) & (iter<m) ), %for i = : 00, % STEP 5 G = dfp4_d (ap) ; H = levmar_h (ap) ; %disp (min (eig (H))) ; temp = inv (H + Be*I) ; temp = temp*g ; % Lasketaan 0 kierrosta. % Gradientin arvo. % Hessin matriisin arvo. % STEP 6 ap_old = ap ; % Talletetaan vanha. t = fmin ('dfp4_m', 0, e3, [], ap, temp) ; ap = ap - t*temp ;

36 % STEP 7 if ( dfp4_f(ap) < dfp4_f(ap_old) ), % STEP 8 Be = Be/4 ; iter = iter + ; % Kasvatetaan iterointilaskuria. plot (ap(), ap(), 'k+') ; plot ([ap_old() ap()], [ap_old() ap()], 'k-') ; else % STEP 9 Be = *Be ; ap = ap_old ; end end ap G H iter print -tiff -deps c:\temp\kkk ; hold off ; Kun ohjelma ajetaan, saadaan seuraavanlainen tulos» levmar ap = G =.0e-00 * H = iter = 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). % temppro.m % (c) Juha Jaako & % Levenspiel s. 33 clear all ; XAe = 0.89 ; % dimensioton %CA0 = 4 ; % mol/l CA0 = ; % mol/l E = 600 ; % cal/mol E = 9600 ; R =.98 ; % cal/(mol K) T = 63 : 0.5 : 383 ; N = size (T, ) ; mra = [ ] ; M = size (mra, ) ; hold on ; axis ( [ (T()-73) (T(N)-73) 0 ] ) ; for j = : M, end for i = : N, k = exp (7.-E/(R*T(i))) ; k = exp (4.9-E/(R*T(i))) ; temp = (k*ca0-mra(j))/ca0 ; temp = /(k+k) ; XA = temp*temp ; xp(i) = T(i)-73 ; yp(i) = XA ; end % Piirretaan käyrä mra:n vakioarvolla. plot (xp, yp, 'k-') ; % Käyrän maksimikohdat. [a,b] = max (yp) ; xmax(j) = xp(b) ; ymax(j) = yp(b) ; % Maksimikohdat. plot (xmax(:j-), ymax(:j-), 'k--') ; % ************************************* Tekstit. % Ensin akselit. xlabel ('Temperature, {^o}c \rightarrow') ; ylabel ('Conversion \rightarrow') ;

39 % Teksti oikeaan yläkulmaan. siz = 30 ; te(,:siz) = 'Time in minutes ' ; te(,:siz) = '{\itc}_{a0} = mol/liter ' ; te(3,:siz) = 'For other {\itc}_{a0} change ' ; te(4,:siz) = ' -{\itr}_{a} accordingly ' ; for j = : 4, text (80, 0.94-(j-)*0.045, te(j,:siz), 'FontName', 'Arial', 'FontSize', 8 ) ; end % Teksti oikealle keskelle. text (95.5, 0.5, '\leftarrow Equilibrium', 'FontName', 'Arial', 'FontSize', 8 ) ; % Tekstit käyrien yhteyteen - ei kaikkia. text (-7, 0.95, [ '-{\itr}_{a} = ' numstr(mra()) ], 'FontName', 'Arial', 'FontSize', 8 ) ; text ( 0, 0.90, [ numstr(mra(3)) ], 'FontName', 'Arial', 'FontSize', 8 ) ; text ( 0, 0.8, [ numstr(mra(4)) ], 'FontName', 'Arial', 'FontSize', 8 ) ; hold off ; print -tiff -deps c:\temp\temppro ; 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.

40 Mallidatan sovitus Tarkastellaan seuraavaa ongelmaa, joka on esitetty Prosessien optimointi -kurssin tentissä Kuvaan 0. on piirretty erään kokeen tulokset. Vaaka-akselilla on aika ja pystyakselilla on tutkittavan aineen eräs ominaisuus (y). Huomaa, että kuva on JPEG-kuva - siis huonolaatuisempi kuin esimerkiksi kuva 9.. Kuva 0.. Tehtävänä on mallittaa kokeellisesti em. ominaisuuden riippuvuus ajasta.

41 Mallivaihtoehdot ovat seuraavat Mallin numero Mallivaihtoehto a y () t = + b t y () t = a t + b 3 y () t = a t + b t + c 4 y() t = a e bt + c 5 a y () t = + c log ( bt) Mikä mallivaihtoehto sopii parhaiten? Miksi? Miten sovitat malliparametrit? Valitaan ensin sopiva mallivaihtoehto. Kuvan 0. dataa ei selvästikään pysty mallittamaan lineaarisella mallilla, joten malli on poissa laskuista. Malli numero 3 edustaa ylös- tai alaspäin aukeavaa parabelia, joten sekään ei tule kysymykseen. Mallin numero ongelma on, että ajan hetkellä nolla se antaisi aineen ominaisuudelle äärettömän suuria arvoja. Saman tyyppinen ongelma on mallilla 5; nollasta ei voi ottaa logaritmia ja kun vielä log ( ) =, ei malli 5 voi myöskään olla oikea. Jäljelle jää malli 4, joka on toimiva malli. 7 y() t = a e bt + c (0.) Malliparametrien sovittaminen tapahtuu seuraavasti. Tehtävän havainnollistamiseksi ei oteta käyttöön koko mittausdataa vaan vain osa, joka on esitetty taulukossa 0.. Taulukko 0. i t y i t y Mallivaihtoehdot tekn. yo. Katja Viirretin ja tekn. yo. Satu Kivelän tekemästä säätötekniikan erikoistyöstä. Alkuperäinen analyysi tekn. yo. Visa Virtasen tenttivastauksessa.

42 - 4 - Kuva taulukon 0. datasta voidaan piirtää kuva seuraavanlaisen koodin avulla. % koe.m % (c) Juha Jaako clear all ; hold on ; t = [ ] ; y = [ ] ; plot (t, y, 'ko') ; xlabel ('\it{t}') ; ylabel ('\it{y}') ; hold off ; Ongelmana on määrittää parametrit a, b ja c niin, että malli kuvaa datajoukkoa mahdollisimman hyvin. Mikäli olisi tarjolla vain 3 datapistettä, ratkaisu voitaisiin laskea muodostamalla yhtälöryhmä, jossa on kolme tuntematonta ja kolme yhtälöä. Nyt kuitenkin saamme yhtälöryhmän, jossa on kolme tuntematonta ja 3 yhtälöä. Tällainen ongelma voidaan ratkaista pienimmän neliösumman menetelmällä (kts. luku 5!), joka ongelmamme tapauksessa saa muodon 3 ( ) = min I a, b, c [ yi a exp( bti ) c] (0.) i= Eli ongelmamme on optimointitehtävä; I täytyy minimoida. Sijoittamalla taulukon 0. data saadaan kohdefunktio muotoon. I + + min ( a, b, c) = [ 5 a c] + [ 3.87 a exp( 50b) c] + [ a exp( 00b) c] [ a exp( 50b) c] + [ a exp( 00b) c] [ 3.35 a exp( 50b) c] + [ a exp( 300b) c] [ 3.5 a exp( 350b) c] + [ a exp( 400b) c] [ ] [ ] [ ] [ ] 3.5 a exp( 450b) c a exp( 500b) c 3.07 a exp( 550b) c a exp( 600b) c (0.3) 8 Selvästikin (0.3):n ratkaiseminen esim. analyyttisesti on aika toivoton tehtävä. Ennenkuin ongelma ratkaistaan, voidaan tarkastella, missä parametrien arvot suunnilleen ovat. Nyt tiedämme, että [ a exp( bt) + c] c lim (0.4) t joten voimme arvioida, että c 3 (t = 600, y = ). Samoin voimme laskea, että kun t = 0 niin y = 5, joten saadaan a exp( b * 0) + c = 5 (0.5) a + c = 5 a kun c 3 (0.6) 8 Ongelman (0.3) ratkaisu on a =.745, b = ja c = 3.63.

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

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

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

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

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

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

. 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

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

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

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

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

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

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ällysluet t elo Sisällysluettelo...

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

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

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

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

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

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

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

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 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

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

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

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

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

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

Harjoitus 9: Optimointi I (Matlab)

Harjoitus 9: Optimointi I (Matlab) Harjoitus 9: Optimointi I (Matlab) MS-C2107 Sovelletun matematiikan tietokonetyöt MS-C2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Optimointimallin muodostaminen Optimointitehtävien

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

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

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

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I G. Gripenberg Aalto-yliopisto 21. tammikuuta 2016 G. Gripenberg (Aalto-yliopisto) MS-A0207 Differentiaali- ja integraalilaskenta

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

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

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

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

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

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

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

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

= 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

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

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

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

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu Talousmatematiikan perusteet: Luento 13 Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu Viime luennolla Aloimme tarkastella yleisiä, usean muuttujan funktioita

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

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 = (,..., ). Reaalisten m n-matriisien joukkoa merkitään

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

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

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

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

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu

Talousmatematiikan perusteet: Luento 14. Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu Talousmatematiikan perusteet: Luento 14 Rajoittamaton optimointi Hessen matriisi Ominaisarvot Ääriarvon laadun tarkastelu Luennolla 6 Tarkastelimme yhden muuttujan funktion f(x) rajoittamatonta optimointia

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

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

Tyyppi metalli puu lasi työ I 2 8 6 6 II 3 7 4 7 III 3 10 3 5

Tyyppi metalli puu lasi työ I 2 8 6 6 II 3 7 4 7 III 3 10 3 5 MATRIISIALGEBRA Harjoitustehtäviä syksy 2014 Tehtävissä 1-3 käytetään seuraavia matriiseja: ( ) 6 2 3, B = 7 1 2 2 3, C = 4 4 2 5 3, E = ( 1 2 4 3 ) 1 1 2 3 ja F = 1 2 3 0 3 0 1 1. 6 2 1 4 2 3 2 1. Määrää

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 3 Ti 13.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 3 Ti 13.9.2011 p. 1/37 p. 1/37 Epälineaariset yhtälöt Newtonin menetelmä: x n+1 = x n f(x n) f (x n ) Sekanttimenetelmä:

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 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

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

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi Talousmatematiikan perusteet: Luento 11 Lineaarikuvaus Matriisin aste Käänteismatriisi Viime luennolla Käsittelimme matriisien peruskäsitteitä ja laskutoimituksia Vakiolla kertominen, yhteenlasku ja vähennyslasku

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

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

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

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

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

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33 Numeeriset menetelmät TIEA381 Luento 6 Kirsi Valjus Jyväskylän yliopisto Luento 6 () Numeeriset menetelmät 4.4.2013 1 / 33 Luennon 6 sisältö Interpolointi ja approksimointi Polynomi-interpolaatio: Vandermonden

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

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

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

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

Harjoitus 9: Optimointi I (Matlab)

Harjoitus 9: Optimointi I (Matlab) Harjoitus 9: Optimointi I (Matlab) SCI-C0200 Fysiikan ja matematiikan menetelmien studio SCI-C0200 Fysiikan ja matematiikan menetelmien studio 1 Harjoituksen aiheita Optimointimallin muodostaminen Optimointitehtävien

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

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

BM20A0700, Matematiikka KoTiB2

BM20A0700, Matematiikka KoTiB2 BM20A0700, Matematiikka KoTiB2 Luennot: Matti Alatalo, Harjoitukset: Oppikirja: Kreyszig, E.: Advanced Engineering Mathematics, 8th Edition, John Wiley & Sons, 1999, luku 7. 1 Kurssin sisältö Matriiseihin

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

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

= 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

Ohjeita fysiikan ylioppilaskirjoituksiin

Ohjeita fysiikan ylioppilaskirjoituksiin Ohjeita fysiikan ylioppilaskirjoituksiin Kari Eloranta 2016 Jyväskylän Lyseon lukio 11. tammikuuta 2016 Kokeen rakenne Fysiikan kokeessa on 13 tehtävää, joista vastataan kahdeksaan. Tehtävät 12 ja 13 ovat

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

Lineaarinen optimointitehtävä

Lineaarinen optimointitehtävä Lineaarinen optimointitehtävä Minimointitehtävä yhtälörajoittein: min kun n j=1 n j=1 c j x j a ij x j = b i x j 0 j = 1,..., n i = 1,..., m Merkitään: z = alkuperäisen objektifunktion arvo käsiteltävänä

Lisätiedot

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016

Osakesalkun optimointi. Anni Halkola Turun yliopisto 2016 Osakesalkun optimointi Anni Halkola Turun yliopisto 2016 Artikkeli Gleb Beliakov & Adil Bagirov (2006) Non-smooth optimization methods for computation of the Conditional Value-at-risk and portfolio optimization.

Lisätiedot

Harjoitus 3 -- Ratkaisut

Harjoitus 3 -- Ratkaisut Harjoitus 3 -- Ratkaisut 1 ' '-merkki kirjoitetaan =, ' '-merkki!=, ' '-merkki ==. Yhtälöiden ratkaisusta puhutaan lisää myöhemmin. a f x, y : If ehtolauseke x y, y tämä palautetaan, jos

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

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

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

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi

Talousmatematiikan perusteet: Luento 10. Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi Talousmatematiikan perusteet: Luento 10 Lineaarikuvaus Matriisin aste Determinantti Käänteismatriisi Lineaarikuvaus Esim. Yritys tekee elintarviketeollisuuden käyttämää puolivalmistetta, jossa käytetään

Lisätiedot

Matemaattiset ohjelmistot 1-2 ov, 2-3 op

Matemaattiset ohjelmistot 1-2 ov, 2-3 op Matemaattiset ohjelmistot 1-2 ov, 2-3 op Aloitustehtävät Perehdy netissä olevan oppaan http://mtl.uta.fi/opetus/matem_ohjelmistot/matlab lukuihin 0 Johdanto, 1 matriisit ja vektorit sekä 4 Ohjelmointi

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

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A)

Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 2017 Insinöörivalinnan matematiikan koe , Ratkaisut (Sarja A) Diplomi-insinööri- ja arkkitehtikoulutuksen yhteisvalinta 017 Insinöörivalinnan matematiikan koe 30..017, Ratkaisut (Sarja A) 1. a) Lukujen 9, 0, 3 ja x keskiarvo on. Määritä x. (1 p.) b) Mitkä reaaliluvut

Lisätiedot

Ensimmäisen ja toisen kertaluvun differentiaaliyhtälöistä

Ensimmäisen ja toisen kertaluvun differentiaaliyhtälöistä 1 MAT-1345 LAAJA MATEMATIIKKA 5 Tampereen teknillinen yliopisto Risto Silvennoinen Kevät 9 Ensimmäisen ja toisen kertaluvun differentiaaliyhtälöistä Yksi tavallisimmista luonnontieteissä ja tekniikassa

Lisätiedot

12. Hessen matriisi. Ääriarvoteoriaa

12. Hessen matriisi. Ääriarvoteoriaa 179 12. Hessen matriisi. Ääriarvoteoriaa Tarkastelemme tässä luvussa useamman muuttujan (eli vektorimuuttujan) n reaaliarvoisia unktioita : R R. Edellisessä luvussa todettiin, että riittävän säännöllisellä

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

FUNKTION KUVAAJAN PIIRTÄMINEN

FUNKTION KUVAAJAN PIIRTÄMINEN FUNKTION KUVAAJAN PIIRTÄMINEN Saat kuvapohjan Plots/Insert Plot/XY plot Huomaa - ja y-akselin paikanvaraajat (ja näissä valmiina yksikön syöttöruutu). Siirrä - akselia ylös/alas. Palauta origo perinteiseen

Lisätiedot

Differentiaali- ja integraalilaskenta

Differentiaali- ja integraalilaskenta Differentiaali- ja integraalilaskenta Opiskelijan nimi: DIFFERENTIAALILASKENTA 1. Raja-arvon käsite, derivaatta raja-arvona 1.1 Raja-arvo pisteessä 1.2 Derivaatan määritelmä 1.3 Derivaatta raja-arvona

Lisätiedot

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018

BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018 BM20A5840 Usean muuttujan funktiot ja sarjat Harjoitus 7, Kevät 2018 Tehtävä 8 on tällä kertaa pakollinen. Aloittakaapa siitä. 1. Kun tässä tehtävässä sanotaan sopii mahdollisimman hyvin, sillä tarkoitetaan

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 11 Ti 11.10.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 11 Ti 11.10.2011 p. 1/34 p. 1/34 Automaattiset integrointialgoritmit Numeerisen integroinnin tarkkuuteen

Lisätiedot

Lineaarinen yhtälöryhmä

Lineaarinen yhtälöryhmä Lineaarinen yhtälöryhmä 1 / 39 Lineaarinen yhtälö Määritelmä 1 Lineaarinen yhtälö on muotoa a 1 x 1 + a 2 x 2 + + a n x n = b, missä a i, b R, i = 1,..., n ovat tunnettuja ja x i R, i = 1,..., n ovat tuntemattomia.

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 6 To 22.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 6 To 22.9.2011 p. 1/38 p. 1/38 Ominaisarvotehtävät Monet sovellukset johtavat ominaisarvotehtäviin Yksi

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

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