6 Lokala extr Anpassning med minsta kvadratmetoden.

Relevanta dokument
4 Numerisk integration och av differentialekvationer

f(x + h) f(x) h f(x) f(x h) h

Minsta-kvadratmetoden

Introduktion till Matlab

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Newtons metod och arsenik på lekplatser

15 februari 2016 Sida 1 / 32

2 Matrisfaktorisering och lösning till ekvationssystem

Lab 1, Funktioner, funktionsfiler och grafer.

TSBB14 Laboration: Intro till Matlab 1D

Introduktion till Matlab

Linjärisering, Jacobimatris och Newtons metod.

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Optimeringsproblem. 1 Inledning. 2 Optimering utan bivillkor. CTH/GU STUDIO 6 TMV036c /2015 Matematiska vetenskaper

Introduktion till Matlab

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

MMA132: Laboration 2 Matriser i MATLAB

MMA132: Laboration 1 Introduktion till MATLAB

3.3. Symboliska matematikprogram

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

TANA09 Föreläsning 8. Kubiska splines. B-Splines. Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1/TM1, TMA

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

Linjära system av differentialekvationer

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

1 Förberedelser. 2 Att starta MATLAB, användning av befintliga m-filer. 3 Geometriskt fördelad avkomma

Matematiska institutionen Carl-Henrik Fant. 13 mars 2000

Matlabövning 1 Funktioner och grafer i Matlab

Approximerande Splines. B-splines. Minsta kvadrat anpassning. Design av kurvor och ytor.

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

4.3. Programmering i MATLAB

Programmeringsuppgift Game of Life

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

MAPLE MIKAEL STENLUND

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Föreläsningen ger en introduktion till differentialekvationer och behandlar stoff från delkapitel 18.1, 18.3 och 7.9 i Adams. 18.

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

SF1626 Flervariabelanalys Tentamen Tisdagen den 12 januari 2016

Lösningsförslag till Tentamen: Matematiska metoder för ekonomer

--x T Kx. Ka = f. K( a a i. = f f i. r i. = a a i. Ke i. a i 1. p i. Ka i. p i Kai α i

Lösningar till linjära problem med MATLAB

Matematik 2 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

2 februari 2016 Sida 1 / 23

Matlab övningsuppgifter

Laboration 1 i SF1544: Öva på Matlab och konstruera en optimal balk Avsikten med denna laboration är att:

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

Fel- och störningsanalys

Matlabövning 1 Funktioner och grafer i Matlab

Introduktion till MATLAB

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

Uppgift 1. (SUBPLOT) (Läs gärna help, subplot innan du börjar med uppgiften.) 1 A) Testa och förklara hur nedanstående kommandon fungerar.

Matlabföreläsningen. Lite mer och lite mindre!

TANA17 Matematiska beräkningar med Matlab

Differentialens geometriska betydelse

TAIU07 Matematiska beräkningar med Matlab

Linjär algebra med tillämpningar, lab 1

Matriser och linjära ekvationssystem

Beräkningsvetenskap föreläsning 2

Flervariabelanalys E2, Vecka 3 Ht08

3 Man kan derivera i Matlab genom att approximera derivator med differenskvoter. Funktionen cosinus deriveras för x-värdena på följande sätt.

TANA17 Matematiska beräkningar med Matlab

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

Bestäm ekvationen för det plan som går genom punkten (1,1, 2 ) på kurvan och som spänns

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

Datorövning 2 med Maple

3 differensekvationer med konstanta koefficienter.

Laboration: Grunderna i MATLAB

TMA226 datorlaboration

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

Fel- och störningsanalys

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

TAIU07 Matematiska beräkningar med Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Newtons metod. 1 Inledning. 2 Newtons metod. CTH/GU LABORATION 6 MVE /2013 Matematiska vetenskaper

1. Vi skriver upp ekvationssystemet i matrisform och gausseliminerar tills vi når trappstegsform,

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

MVE035. Sammanfattning LV 1. Blom, Max. Engström, Anne. Cvetkovic Destouni, Sofia. Kåreklint, Jakob. Hee, Lilian.

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

Linjärisering och Newtons metod

Rapportexempel, Datorer och datoranvändning

R AKNE OVNING VECKA 2 David Heintz, 13 november 2002

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Linjära system av differentialekvationer

SF1669 Matematisk och numerisk analys II Lösningsförslag till tentamen DEL A

Sätt t = (x 1) 2 + y 2 + 2(x 1). Då är f(x, y) = log(t + 1) = t 1 2 t t3 + O(t 4 ) 1 2 (x 1) 2 + y 2 + 2(x 1) ) 2 (x 1) 2 + y 2 + 2(x 1) ) 3

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

Inlämningsuppgift 4 NUM131

2. (a) Skissa grafen till funktionen f(x) = e x 2 x. Ange eventuella extremvärden, inflektionspunkter

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Matlab övningsuppgifter

Transkript:

Matematik med Matlab M1 och TD1 1999/2000 sid. 35 av 47 6 Lokala extr Anpassning med minsta kvadratmetoden. 6.1 Gradientmetoden att hitta lokala min/max. Uppgift 1: Skriv en funktionsfil fun61.m funktionen. de partiella derivatorna och. Skriv en funktionsfil gradfun61.m gradienten till fun61. Den senare funktionsfilen skall ha utseendet function [px,py]=gradfun61(x,y) px= uttrycket som du py= uttrycket som du Spara dina filer i bibliotek! Kontrollera med what att matlab hittar dem! Kontrollera att de fungerar som du Vi skall nu den geometriska betydelsen av gradienten till funktionen. Till att med genererar vi koordinatmatriser x och y som i med av [x,y]=meshgrid(a:(b-a)/20:b,c:(d-c)/19:d); samt matrisen z = fun61(x,y);. Vi kan sedan antingen an gradfun61.m och Matlab de matriserna px = och py = med kommandot [px,py]=gradfun61(x,y); eller Matlab numeriskt gradienten med programmet [px,py] = gradient(z,h,k);, h= (B-A)/20 och k = (D-C)/19. Notera att gradient an bara i matrisen z att gradienten, om inte h och k lagom blir det en ganska approximation. Testa varianterna. att samtidigt rita ni or och gradientvektorerna an vi kommandosekvensen: contour(x,y,z), hold on, quiver(x,y,px,py), hold off Genom att A, B, C, D ser vi var funktionen har max eller min. Uppgift 2: en skriptfil som ov generering av matriser och ritning av ni or och gradienter. A, B, C,D att B-A = D-C. Ge kommandot axis( square ) efter quiver blir vinklarna korrekta och man ser att gradienten vink mot ni orna. Nu har ni sett vad gradienten geometriskt. Gradienten en vektor som pekar i den riktning mest. Kraftigare betyder gradientvektor. Om vi er en funktions lokala maximum kan vi 1) en startpunkt. Troligen har vi inte en punkt har lokalt maximum. 2) gradienten i denna punkt. 3) ett (litet) tal. Troligen kommer att vara om inte stort. 4) differensen. Upprepa 3) och 4) tills i liten. er vi minimum skall vi i riktningen. Eftersom vi har skrivit en funktionsfil gradienten det enkelt att i godtycklig punkt. Utan denna funktionsfil skulle vi an det numeriska programmet [px,py] = gradient(z,h,k) vet vi ju inte i vilka punkter som gradientvektorn skall vilket komplicerar det hela. Inom parentes kan att om man om man vill an gradient man, varje punkt, skapa matriser [x,y]=meshgrid([xi-h,xi,xi+h],[yi-k,yi,yi+k]) med ( ) och och z = fun61(x,y). Man gradientmatrisen som ovan. Punkten motsvaras av [x(2,2),y(2,2)], ges gradienten i punkten av [px(2,2),py(2,2)]. Uppgift 3: Komplettera programmmet uppgift att det dels ritar ni or och gradienter till en given funktion i ett valt dels succesivt stegar fram i gradientens riktning a er fram till ett ovan som fungerar bra) till en lokal minpunkt given startpunkt. Programmet skall succesivt rita en * i de punkterna att att Ni or och gradienter skall synas i varje bild. skall stoppa a mellan och punkt mindre ett givet tal, tex. (A mellan punkter P och Q ges av norm(p-q)). Testa med olika startpunkter. om skriptfilen till funktionsfil. Minpunkt och i denna punkt skall skrivas ut

Matematik med Matlab M1 och TD1 1999/2000 sid. 36 av 47 Kontrollera resultatet genom att ut gradienten i slutpunkten. kursens webbsida finns en funktionsfil som du kan titta och modifiera om du tycker uppgiften. Redovisning: Utskrift av ett fungerande program samt utskrift av slutbilden.@ 6.2 Minsta kvadratmetoden Antag att vi studerar en process av slag och att vi intresserade av en variabel som vi vet eller tror kan beskrivas av en modellfunktion, och parametrar men funktionen snart och att och vi vid vissa tidpunkter. Vi har ett antal par och skall och att mellan och kurvan blir god som Samma situation studerade vi i algebra vi anpassade exempelvis en linje eller en andragradskurva till givna punkter. De modellfunktioner vi an ledde till ekvationssystem parametrarna och (och ). Vi sedan ekvationssystemet med minsta kvadratmetoden och de parametrarna som minimerade. Om systemet inte vi ta till annan metod att finna minimum av felfunktionen, till exempel gradientmetoden. Uppgift 4: oss anta att vi gjort vid tidpunkterna och Vi antar att den matematiska modellen ger sambandet En perfekt mellan modell och skulle att det fanns och som satisfierade ekvationssystemet. Systemet saknar och vi er och som minimerar felfunktionen T ditt program upgift denna funktion. Redovisa med plot av och funktionen med de och insatta. Skriv in dessa i grafen. 6.3 Minstakvadratmetoden en realistisk modell. (Extrauppgift erbetyg.) I detta kapitel skall vi dels metoden ovan en mer realistisk modell, dels utarbeta ett program som enkelt kan an olika modeller och med En nackdel med till uppgift 4 ju att vi skriva in modellfunktionen och dess gradient lika som vi gjort. Risken skrivfel naturligtvis stor om man har. Den modellfunktion som skall an dessutom ganska komplicerad det enklast att ge den i en separat funktionsfil. Vi skriver en separat funktionsfil av felfunktionen vi er och modellfunktionen vara invariabel. I kapitlet bland annat tredimensionella matriser som bra att till om man skall arbeta med funktioner av tre variabler. 6.3.1 Modellfunktionen Betrakta en kemisk reaktion att er till ett via ett intermediat.. Reaktionerna sker med reaktionshastigheterna resp. Detta att koncentrationerna av satisfierar ett system av differentialekvationer:. Med begynnelsevillkoren och villkoret till detta system.

Matematik med Matlab M1 och TD1 1999/2000 sid. 37 av 47 Antag nu att man i ett experiment koncentrationen av B vid ett antal tidpunkter och vill reaktionskonstanterna och. Modellfunktionen. I fallet blir. 6.3.2 Hur kan man hantera att programmet som ni skrev till gradientmetoden funktionen som skall minimeras och dess gradient skrivas in i funktionsfiler. kan man olika strategier. Den enklaste att som i ov uppgift skriva in hela uttrycket som skall minimeras i en fil. Vid komplicerade modellfunktioner och med detta inte bra. En att skriva dels funktionsfiler modellfunktionen och dess gradient, dels funktionsfiler felfunktionen och dess gradient. De senare skall ha modellfunktion med gradient som invariabler. i funktionsfiler vilka vi sedan kan gradientmetoden. 6.3.3 Funktionsfiler felfunktionen och dess gradient. Felfunktionen, som jag kallar errfun, skall ha modellfunktionen samt parametrarna och som invariabler. Dessutom in En ju att ha en som invariabler. vi problem vi skall bilda den sammansatta funktionen som bara ha och som invariabler. den utesluten. Ett annat alternativ att skriva in i errfun.m. vi in i denna fil och om vi vill variera Dessutom skall ju samma in i gradienten till errfun. Dubbelt arbete och risk felskrivningar. den utesluten eller synnerligen metoden med globala variabler, som vi utnyttjat tidigare. En global variabel kan ju av funktionsfiler om man ger instruktioner. mig om att de variabler som normalt an i en funktionsfil de som anges som invariabler i deklarationsraden function [ut1,ut2]=fun(in1,in2,in3). som i en funktionsfil erkar inte, och erkas inte heller av, arbetsminnets variabler, (z=fun(x) ger naturligtvis variabeln z ett nytt om den fanns innan.) Jag repeterar hur tekniken med global variabel till: namnet den globala variabeln. Det skall vara att du inte riskerar att an det i annat sammanhang av misstag, det skall vara osannolikt att det finns som global variabel i annat matlabprogram Ett svenskt ganska ord skrivet med stora er (utan fungera. oss an namnet MAETDATA. Ge kommandot global MAETDATA i Ge matrisen som namnet MAETDATA Skriv in en rad global MAETDATA i funktionsfilen och ge sedan matrisen MAETDATA ett enklare namn tex D=MAETDATA;. Detta inte men minskar skrivarbetet i function z=errfun(f,a,b) % z=errfun( fun,a,b) ger kvadratiska avvikelsen mellan y(t) och % fun(a,b,t). % Funktionen fun skall i funktionsfilen fun.m % Invariabler i denna skall vara 3-dim matriser skapade med meshgrid. % a och b skall vara 2-dim matriser av samma typ alstrade med % [a,b]= meshgrid(a0,b0), a0, och b0 radmatriser. % skall finnas som en global variabel i form av en % matris MAETDATA med t=maetdata(1,:); y=maetdata(2,:) % z=errfun( fun,a,b) en 2-dim matris av samma typ som a och b. global MAETDATA D=MAETDATA; t=d(1,:); y=d(2,:); a0=a(1,:); b0=b(:,1) ; % a0 och b0 de radvektorer som genererade invariablerna a och b. [A,B,T]=meshgrid(a0,b0,t);[A,B,Y]=meshgrid(a0,b0,y); % genereras 3-dim matriser av

Matematik med Matlab M1 och TD1 1999/2000 sid. 38 av 47 % A och B konstanta i tredje indexet. A(:,:,1) = a, B(:,:,1)=b % T och Y varierar endast i tredje indexet. z=sum((y-feval(f,a,b,t)).^2,3); % Summering tredje index summering Gradienten till felfunktionen kallas graderrfun. Den partiella derivatan av felfunktionen med avseende vi med kedjeregeln till. Funktionsfilen graderrfun.m har, precis som gradfun61, utvariabler. Invariabler de till errfun samt gradienten till modellfunktionen. function [za,zb]=graderrfun(f,gradf,a,b) % [za,zb]=graderrfun( fun, gradfun,a,b) ger gradienten till kvadratiska % avvikelsen mellan y(t) och fun(a,b,t). % Funktionen fun skall i funktionsfilen fun.m % Funktionen gradfun skall i funktionsfilen gradfun.m % Invariabler i dessa skall vara 3-dim matriser skapade med meshgrid. % a och b skall vara 2-dim matriser av samma typ alstrade med % [a,b]= meshgrid(a0,b0), a0, och b0 radmatriser. % skall finnas som en global variabel i form av en % matris MAETDATA med t=maetdata(1,:); y=maetdata(2,:) % za och zb 2-dim matriser av samma typ som a och b. global MAETDATA D=MAETDATA; t=d(1,:); y=d(2,:); a0=a(1,:); b0=b(:,1) ; % a0 och b0 de radvektorer som genererade invariablerna a och b. [A,B,T]=meshgrid(a0,b0,t);[A,B,Y]=meshgrid(a0,b0,y); % genereras 3-dim matriser av [P,Q]=feval(gradf,A,B,T); % av av gradienten till modellfunktionen. za=sum(-2*(y-feval(f,a,b,t)).*p,3); zb=sum(-2*(y-feval(f,a,b,t)).*q,3); % med errfun.m 6.3.4 Funktionsfiler modellfunktionen och dess gradient. har vi en komplikation, modellfunktionen, som kallas expfun, ges av olika uttryck om eller. Ett liknande problem enkelt i uppgift 4.1 (varierande med av bl.a x>=0. T kan vi inte likadant ty uttrycken som skall an inte definierade erallt. En konstruktion som (x>0)./x producerar NaN x=0. det av kommentarerna i funktionsfilen hur man kan hantera denna i olikheten som definierar matrisen M diskuteras efter programfilerna. Kontrollera av gradienten. function y=expfun(a,b,t) % expfun(a,b,t) = a/(a-b)*(exp(-b*t) - exp(-a*t)) om a~=b % abs((a-b)*t) >= 10^(-8)) % expfun(a,b,t) = a*t*exp(-a*t) om a==b abs((a-b)*t) < 10^(-8)).

Matematik med Matlab M1 och TD1 1999/2000 sid. 39 av 47 % t, a och b skall vara 3-dim matriser av samma typ, % y blir matris av samma typ. if size(t)~=size(a) size(t)~=size(b) error( matriserna t,a,b skall vara av samma typ ) end % kontrolleras att de tre matriserna a,b och t av samma typ. % Om avviker stoppas och ett felmeddelande visas. M=abs((a-b).*t) < 10^(-8); % M en 3-dim matris som 1 om villkoret ovan uppfyllt, 0 annars. K= find(m); % K en lista de positioner elementet i M 1. J= find(1-m); % J en lista de positioner elementet i M 0. % K de platser y = a*t*exp(-a*t) J de andra platserna. y=zeros(size(t)); % Eftersom y skall definieras succesivt med de uttrycken skapas % en matris av typ. y(j)= a(j)./(a(j)-b(j)).*(exp(-b(j).*t(j)) - exp(-a(j).*t(j))); y(k)= a(k).*t(k).*exp(-0.5*(a(k)-b(k)).*t(k)); function [yprima,yprimb]=gradexpfun(a,b,t) % [yprima,yprimb]=gradexpfun(a,b,t) ger de partiella derivatorna av expfun % med avseende a resp b. % yprima = -b/((a-b)^2)*(exp(-b*t) - exp(-a*t)) +a*t/(a-b)*exp(-a*t) % om a~=b (abs(a-b) >= 10^(-6)) % yprimb = a/((a-b)^2)*(exp(-b*t) - exp(-a*t)) -a*t/(a-b)*exp(-b*t) % om a~=b (abs(a-b) >= 10^(-6)) % yprima = (t-a*t^2/2)*exp(-a*t) om a==b (abs(a-b) < 10^(-6) ). % yprimb = -b*t^2/2*exp(-b*t) om a==b (abs(a-b) < 10^(-6) ). % t, a och b skall vara 3-dim matriser av samma typ, % y blir matris av samma typ. if size(t)~=size(a) size(t)~=size(b) error( matriserna t,a,b skall vara av samma typ ) end % kontrolleras att de tre matriserna a,b och t av samma typ. % Om avviker stoppas och ett felmeddelande visas. M=(abs(a-b).*t) < 10^(-5); % M en 3-dim matris som 1 om villkoret ovan uppfyllt, 0 annars. K= find(m); % K en lista de positioner elementet i M 1. J= find(1-m); % J en lista de positioner elementet i M 0.

Matematik med Matlab M1 och TD1 1999/2000 sid. 40 av 47 % K de platser expfun(a,b,t) = a*t*exp(-a*t) J de andra platserna. yprima=zeros(size(t)); yprimb=zeros(size(t)); % Eftersom yprima och yprimb skall definieras succesivt med de uttrycken % skapas matriser av typ. yprima(j) = -b(j).*(exp(-b(j).*t(j))-exp(-a(j).*t(j)))./((a(j)-b(j)).^2)+... a(j).*t(j).*exp(-a(j).*t(j))./(a(j)-b(j)); %... betyder: rad. yprima(k) = (t(k)-0.5*a(k).*(t(k).^2)).*exp(-a(k).*t(k)); yprimb(j) = a(j).*(exp(-b(j).*t(j))-exp(-a(j).*t(j)))./((a(j)-b(j)).^2)-... a(j).*t(j).*exp(-b(j).*t(j))./(a(j)-b(j)); yprimb(k) = -0.5*a(K).*(t(K).^2).*exp(-a(K).*t(K)); 6.3.5 Den sammansatta funktionen. Funktionen som skall minimeras kan nu skrivas errfun( expfun,a,b). Vi kan nu skriva funktionsfiler ning av denna funktion, fun62.m och dess gradient gradfun62.m. Filen fun62.m ser ut function z=fun62(a,b) z=errfun( expfun,a,b); Filen gradfun62.m skrivs analogt. Uppgift 5: Skriv funktionsfilerna fun62.m och gradfun62.m. filerna errfun.m, graderrfun.m, expfun.m, gradexpfun.m och testdata.m som vanligt kursens webbsida. Ge kommandot global MAETDATA, MAETDATA=testdata(20);. minimum fun62.m med gradientmetoden samma som ni gjorde fun61.m. Funktionen testdata genererar slumpvisa data. Om du den flera du olika resultat varje Redovisa samma som i uppgift 4. 6.3.6 V inte M=(a-b==0) i filerna expfun.m och gradexpfun.m? Om Matlab exakt skulle M=(a-b==0) fungera. Givetvis Matlab, precis som alla numeriska program, med approximationer. kan exempelvis divisioner, och mycket ge oanade resultat. blir det om, som i detta fall, en differens av lika stora tal. all precision i kalkylerna, det enda som finns kvar avrundningsfelen. Antag till exempel att vi skall kvoten. Maclaurinutveckling av ger att den kan skrivas v kvoten. kvoten 1. andra sidan kan inte datorn ta med siffror vid av om och ge samma med Matlabs noggrannhet. Skillnaden vara eps dvs oavsett vad. En rimlig gissning att datorn ger kvoten orimliga. En enkel kontroll med h=10.^(-10:-1); y=6*(exp(h)-1-h-.5*h.^2)./h.^3 ger att y 1 om h = 10^(-4) men avviker kraftigt mindre h. Samma typ av kontroll ger som an i programmen ovan. Uppgift 6: och vara kontinuerlig i hela -planet, skall.. Testa vilka som kvoten blir orimlig och skriv sedan en funktionsfil av