12 Curvefitting Inleiding

Vergelijkbare documenten
xxii Handleiding Maple 10

Grafieken in Excel2003

Grafieken in Excel2007

1. Het werken met een rekenblad: een inleiding

Oefenopgaven wi3097: Numerieke methoden voor differentiaalvergelijkingen

Basisvaardigheden Microsoft Excel

Je kunt al: -de centrummaten en spreidingsmaten gebruiken -een spreidingsdiagram gebruiken als grafische weergave van twee variabelen

Rekenregels voor het differentiëren. deel 1

opdrachten bij hoofdstuk 7 Lijnen cirkels als PDF

Basisvaardigheden Microsoft Excel

Werken met parameters

Beknopte handleiding voor Derive 5.0 for Windows

P2 Exponentiële groei

Tentamen lineaire algebra voor BWI maandag 15 december 2008, uur.

Wat gaan we doen? Help! Statistiek! Wat is een lineaire relatie? De rechte-lijn-vergelijking: Y = a + b X. Relatie tussen gewicht en lengte

Meetkunde en lineaire algebra

Gebruik van de TI-83/84 Plus

Opgaven bij Numerieke Wiskunde I

Inhoud college 4 Basiswiskunde. 2.6 Hogere afgeleiden 2.8 Middelwaardestelling 2.9 Impliciet differentiëren 4.9 Linearisatie

Beginnen met de Casio fx-cg20

5. Vergelijkingen Vergelijkingen met één variabele Oplossen van een lineaire vergelijking

Schooljaar: Leerkracht: M. Smet Leervak: Wiskunde Leerplan: D/2002/0279/048

Het csv bestand gaan we nu inlezen in Coach. Open Coach; log in als docent; kies nieuwe activiteit ; meten. (Je hoeft geen meetpaneel te kiezen.

Vectoranalyse voor TG

Project Dynamica: oefenopgaven met R

Handleiding uitwisseling Tekla Structures RFEM versie: Dlubal RFEM Tekla Structures 19.1

Inhoud college 5 Basiswiskunde Taylorpolynomen

Breuksplitsen WISNET-HBO NHL. update juli 20014

Utrecht, 25 november Numerieke Wiskunde. Gerard Sleijpen Department of Mathematics.

Het tsv-bestand gaan we nu inlezen in Coach. Open Coach; log in als docent; kies nieuwe activiteit ; meten. (Je hoeft geen meetpaneel te kiezen.

3.1 Kwadratische functies[1]

Handleiding Excel. bij. hoofdstuk 18 Cijfers in Orde Wageningse Methode

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

Het berekenen van coördinaten van bijzondere punten van een grafiek gaat met opties uit het CALC-menu.

Variabelen en statements in ActionScript

GeoGebra Quickstart. Snelgids voor GeoGebra. Vertaald door Beatrijs Versichel en Ivan De Winne

1 Middelpunten. Verkennen. Uitleg

N3 LINEAIRE INTERPOLATIE

Lesbrief GeoGebra. 1. Even kennismaken met GeoGebra (GG)

Excel. voor natuurkunde

6.1 Kwadraten [1] HERHALING: Volgorde bij berekeningen:

Wisnet-HBO. update maart. 2010

( ) Hoofdstuk 4 Verloop van functies. 4.1 De grafiek van ( ) Spiegelen t.o.v. de x-as, y-as en de oorsprong

Vergelijkingen met breuken

9.1 Vergelijkingen van lijnen[1]

1.0 Voorkennis. Voorbeeld 1: Los op: 6x + 28 = 30 10x.

Het maken van grafieken met Excel

Handleiding DAM Edit Design

De eerste stappen met de TI-Nspire 2.1 voor de derde graad

Enkele voorbeelden volstaan. Zie verder de Help-file van Matlab.

1.1 Rekenen met letters [1]

klas 3 havo Checklist HAVO klas 3.pdf

Tentamen Lineaire Algebra 1 (Wiskundigen)

Veeltermafbeeldingen. Pim Heesterbeek, Edo van Veen 9 juli 2009

V Kegelsneden en Kwadratische Vormen in R. IV.0 Inleiding

6.1 Kwadraten [1] HERHALING: Volgorde bij berekeningen:

Rekenregels voor het differentiëren

HP Prime: Functie App

Algebra leren met deti-89

1.1 Tweedegraadsvergelijkingen [1]

Instructie Q-module in Pharmacom Nieuw

OEFENINGEN PYTHON REEKS 6

Oefensommen tentamen Lineaire algebra 2 - december A =

d. Maak een spreidingsdiagram van de gegevens. Plaats de x-waarden op de x-as en de z-waarden op de y-as.

AFO 142 Titel Aanwinsten Geschiedenis

Hoofdstuk 3. Matrices en stelsels. 3.1 Matrices. [[1,7]],[[12,8] ] of [ 1, 7; 12,8 ] bepaalt de matrix

Korte handleiding Maple, bestemd voor gebruik bij de cursus Wiskunde

CT2121 EXPERIMENT 1 ONDERZOEK NAAR DE VALIDITEIT VAN DE BUIGINGSTHEORIE FORMULIER 1: AFTEKENFORMULIER

Introductie in R.

Parameterkrommen met Cabri Geometry

HP Prime: Functie App Grafieken op de GR

Boldriehoeken op een wereldkaart. 1. Op zoek naar de kortste afstand

Tentamen lineaire algebra voor BWI dinsdag 17 februari 2009, uur.

Je moet nu voor jezelf een overzicht zien te krijgen over het onderwerp Complexe getallen. Een eigen samenvatting maken is nuttig.

VAARDIGHEDEN EXCEL. MEETWAARDEN INVULLEN In de figuur hieronder zie je twee keer de ingevoerde meetwaarden, eerst ruw en daarna netjes opgemaakt.

Statistiek en Data Analyse Opgavenserie 3: Lineaire regressie

Handleiding Maple 10. Metha Kamminga van Hulsen

Korte handleiding Maple bij de cursus Meetkunde voor B

Tweede Programmeeropgave Numerieke Wiskunde 1 De golfplaat Uiterste inleverdatum : vrijdag 16 mei 2003

maplev 2010/7/12 14:02 page 135 #137 Plaatjes in drie dimensies

IJkingstoets september 2015: statistisch rapport

De studie van vlakke krommen gegeven in parametervorm. Lieve Lemmens en Andy Snoecx

Examen HAVO. Wiskunde B1,2 (nieuwe stijl)

Grafieken tekenen met de computer

Derde proefexamen doorstroom wiskunde

IJkingstoets september 2015: statistisch rapport

IJkingstoets september 2015: statistisch rapport

héöéäëåéçéå=~äë=ãééíâìåçáöé=éä~~íëéå=ãéí=`~äêá= = hçéå=píìäéåë= = = = = = = =

Lineaire Algebra en Vectorcalculus 2DN60 College 5.a Basis en dimensie

GEOGEBRA 4. R. Van Nieuwenhuyze. Hoofdlector wiskunde, lerarenopleiding HUB, Brussel. Auteur Van Basis tot Limiet.

Straal van een curve

Transcriptie:

12 Curvefitting 12.1 Inleiding In dit hoofdstuk wordt er, naar aanleiding van de vele vragen over de werking van Maple wat betreft curvefitting, aandacht aan dit onderwerp besteed. Vanaf Maple 7 is een aantal interessante nieuwe commando s in het pakket CurveFitting beschikbaar gekomen. Het betreft krommen in de R 2 afgeleid van een aantal punten in de R 2. Dit pakket maakt het gemakkelijk om bijvoorbeeld de kleinste kwadratenmethode (Leastsquare) toe te passen op een aantal gegeven punten, splines te maken of Lagrange-interpolatie te doen. Verder is er nog een aantal handige commando s in het Statistics-pakket voor nog enkele andere regressiemethoden. Voor uitgebreide statistische technieken is specifieke statistische software eigenlijk meer aan te bevelen. Als er decimale getallen ingevoerd worden en er geen parameters gebruikt worden, dan wordt er binnen deze pakketten met hardware float gerekend (veel meer decimalen dan 10). Het beste is dan om de displayprecision wat laag te zetten (zie ook blz. 7). Als er gehele getallen ingevoerd worden, dan wordt er in vele gevallen exact gerekend. Voorbeeld 12.1 Curvefitting met een Maplet. Gegeven is een aantal punten waarmee verschillende curves te maken zijn. We kiezen in dit voorbeeld voor lineaire regressie. Dat wil zeggen dat er met behulp van LeastSquares een rechte lijn gemaakt wordt die zo goed mogelijk door de gegeven puntenwolk gaat. > restart; interface(displayprecision=2,warnlevel=0): with(curvefitting): XY:=[[30,40],[40,45],[45,50],[46,60],[50,65],[65,70],[75,80]]; Interactive(XY); XY := [[30, 40], [40, 45], [45, 50], [46, 60], [50, 65], [65, 70], [75, 80]] 16375 1217 + 1095 x 1217 Zie Figuur 12.1 waarin gekozen wordt voor LeastSquares. Met de volgende opdrachten heb je een manier om over een figuur te beschikken zoals ook in dit Maplet te zien is. > lijn:=evalf(%); lijn := 13.46 + 0.90 x > with(plots): p1:=plot(xy,style=point,symbolsize=20,symbol=circle): p2:=plot(lijn,x=20..70,thickness=2): display({p1,p2},title="lineaire regressie",labels=["x","y"]); Zie Figuur 12.1. Toelichting: In dit voorbeeld worden de punten gegeven in de vorm van een lijst met deze keer alleen gehele getallen. Dat kan ook anders zoals in paragraaf 12.5 te zien is. In het Maplet zien we verschillende mogelijkheden om met de gegeven punten een curve te maken. De punten kunnen binnen het Maplet eventueel nog aangepast of aangevuld worden met Edit Points (vanaf versie 9.5). Hier is gekozen voor LeastSquares waarbij een standaardformule ax + b van een rechte lijn wordt

238 Handleiding Maple 10 Figuur 12.1 opgegeven. Deze formule kan aangepast worden en andere modellen zijn mogelijk, zie paragraaf 12.2. Als vervolgens op Done geklikt wordt, verschijnt de formule van de berekende regressielijn in het worksheet, klaar om er verder mee te werken bijvoorbeeld om een grafiek te maken. Verder is er ook mogelijk om te kiezen voor Polynomial Interpolation waarover in paragraaf 12.4 meer informatie gegeven wordt en waarbij er een curve gemaakt wordt van de graad n die door n +1punten gaat. Ook kan er gekozen worden voor Spline, een aaneenschakeling van krommen. Een spline gaat door de gegeven punten en heeft speciale eigenschappen (zie paragraaf 12.3). De andere mogelijkheden van het Maplet worden hier niet verder behandeld. (Als er punten opgegeven worden met floating point, dan verschijnt de mogelijkheid van Rational Interpolation niet in het Maplet.) 12.2 Regressiekrommen (Trendlijnen) Met behulp van het commando LeastSquares uit het CurveFitting-pakket is het niet alleen mogelijk om de vergelijking van een rechte lijn door een puntenwolk te laten berekenen zoals in voorbeeld 12.1 te zien is, maar het is ook mogelijk om andere regressiemodellen te hanteren die mogelijk beter passen bij het probleem. Elke modelcurve kan als model dienen waarin de parameters (a, b, c enz.) lineair voorkomen. Deze parameters worden door het programma berekend, zodat de berekende regressiekromme (trendlijn) zo goed mogelijk door de puntenwolk gaat. Aan deze berekening ligt de methode van de kleinste kwadraten ten grondslag, zie voorbeeld 12.2. In de praktijk werk je met deze berekende waarden om verder aan het model te rekenen. Met behulp van het Statistics-pakket kunnen in voorbeeld 12.3 nog een paar extra mogelijkheden onderzocht worden van situaties die beschreven worden door modellen

12 Curvefitting 239 waarin de parameters níet lineair voorkomen. Voorbeeld 12.2 Trendlijnen maken met LeastSquares. Met een aantal gegeven punten die in een databestand staan, kunnen verschillende trendlijnen gemaakt worden, afhankelijk van het model dat het verband aangeeft tussen de twee variabelen. > restart: interface(displayprecision=2,warnlevel=0): with(plots): with(curvefitting):xy:=readdata("data2.txt",2); XY := [[0.22, 0.74], [0.19, 1.40], [0.55, 1.76], [0.76, 2.55], [1.18, 2.82], [1.00, 2.49], [1.55, 2.76], [1.85, 2.94], [2.46, 3.05]] > lijn:=leastsquares(xy,x); lijn := 1.316 + 0.889 x > kromme:=leastsquares(xy,x,curve=a-b*exp(-2*x)); ( 2 x) kromme := 2.987 2.897 e > polynoom:=leastsquares(xy,x,curve=a*x^3+b*x^2+c*x+d); polynoom := 0.370 + 3.875 x +0.361 x 3 2.022 x 2 > logaritmisch:=leastsquares(xy,x,curve=a+b*ln(x)); logaritmisch := 2.461 + 0.829 ln(x) > Punten:=plot(XY,style=point,symbolsize=15,symbol=circle): regr_kromme:=plot(kromme,x=0..3,thickness=2): regr_lijn:=plot(lijn,x=0..3,linestyle=2): regr_polynoom:=plot(polynoom,x=0..3): regr_logaritmisch:=plot(logaritmisch,x=0..3,linestyle=3): display({punten,regr_kromme,regr_lijn,regr_polynoom,regr_logaritmisch}); Zie Figuur 12.2. verschillende trendlijnen door de gegeven punten 4 3 Y 2 1 0 1 0.5 1 1.5 2 2.5 3 X 2 Figuur 12.2 Toelichting: In dit voorbeeld worden de data gelezen vanuit een databestand dat bijvoorbeeld in een ander programma (Excel) is voorbereid (zie paragraaf 12.5 voor uitleg). Bij LeastSquares moet behalve de lijst met punten ook de variabele (x of

240 Handleiding Maple 10 een andere letter) waarin de curve wordt uitgedrukt opgegeven worden. Standaard wordt de rechte lijn gegenereerd. Als extra optie kan een andere modelcurve worden meegegeven met curve=... De parameters van deze curve die als model dient, worden hier a, b, c enzovoort genoemd, maar kunnen ook anders genoemd worden, als maar niet de letter gekozen wordt die als variabele dienst doet. Verder kunnen de verschillende mogelijkheden gevisualiseerd worden door er grafieken van te maken die hier in één figuur met display uit het plotpakket worden weergegeven. Uiteindelijk was het model a b e 2x het best passend. De grafiek van deze berekende kromme is vet weergegeven. Voorbeeld 12.3 Regressie binnen het Statistics-pakket: macht- en exponentieel verband. Bij het werken in het Statistics-pakket moeten de data beslist aangeleverd worden in de vorm van een lijst met x-waarden en een lijst met y-waarden. (Dat kan ook met twee vectoren.) Als gegeven is dat tussen de grootheid X en de bijbehorende waarden Y een exponentieel verband y = a e bx bestaat (de parameters a en b zitten nu niet lineair in het regressiemodel), dan kunnen de waarden van a en b met ExponentialFit van het Statistics-pakket gevonden worden. Bij een verband dat als model een machtsfunctie y = ax b heeft, kan het commando PowerFit van het Statistics-pakket gebruikt worden. > restart;interface(warnlevel=0,displayprecision=3):with(plots): with(statistics):x:=[1, 2, 3, 4, 5]; Y:=[3.0, 5.1, 7.8, 15.9, 30.3]; X := [1, 2, 3, 4, 5] Y := [3.000, 5.100, 7.800, 15.900, 30.300] > f:=exponentialfit(x,y,x); (0.576 x) f := 1.589 e > g:=powerfit(x,y,x); g := 2.405 x 1.373 > Functies:=plot([f,g],x=0..6,color=[black,blue],thickness=[2,1]): Punten:=ScatterPlot(X,Y,color=black,symbolsize=15,symbol=circle): display({punten,functies},title="macht en exponentieel verband(vet)"); Zie Figuur 12.3. 50 macht en exponentieel verband (vet) 40 30 Y 20 10 0 1 2 3 4 5 6 X Figuur 12.3

12 Curvefitting 241 Toelichting: Er worden bij het werken binnen het Statistics-pakket voor de data dus twee lijsten aangeleverd. Met ExponentialFit wordt automatisch het model y = a e bx aangeroepen. Wel moet de variabele (x of een andere letter) nog worden opgegeven. Evenzo wordt bij PowerFit automatisch het model y = ax b aangeroepen. Voor de grafiek van de punten is gebruik gemaakt van ScatterPlot uit hetzelfde Statistics-pakket omdat de data in de vorm van twee lijsten zijn aangeleverd en het commando plot dat niet accepteert. Zie ook paragraaf 12.5 om de data in een andere vorm te om te zetten. 12.3 Splines Een spline is een vloeiende kromme door een aantal gegeven punten (knooppunten). Vloeiend wil zeggen dat de functie die deze kromme beschrijft overal continu is. Echter dat niet alleen: de functie moet ook overal differentieerbaar zijn. Dat wil zeggen dat de linker- en rechter afgeleide met name in de knooppunten, gelijk moeten zijn. De raaklijn krijgt daaarmee een vloeiend verloop. Voor de tweede afgeleide geldt zo mogelijk hetzelfde, want de kromming moet liefst vloeiend verlopen. Deze eisen kunnen verwezenlijkt worden als er een aantal krommen aan elkaar worden geknoopt die minimaal van de derde graad zijn. Splines van de derde graad noemt men natural splines. Het woord spline betekent latje. Je kunt je voorstellen dat een lange lat langs spanten gebogen wordt. De plaatsen vandespantenzijndeknooppuntenen de lange lat gaat zich buigen in de vorm van een natural spline. De natural splines (vloeiende krommen) zijn polynomen van de derde graad en kunnen gegenereerd worden met behulp van Spline uit het CurveFitting-pakket. Zie ook het Maplet van voorbeeld 12.1 waar je kunt kiezen voor Spline. Voorbeeld 12.4 Splines. Een eenvoudig voorbeeld met gegeven knooppunten (0, 0), (1, 1), (2, 4), (3, 3) waardoorheen een natuurlijke spline gemaakt wordt. > restart;interface(warnlevel=0,displayprecision=2):with(curvefitting): with(plots): M:=<<0 0>, <1 1>, <2.0 4>, <3 3>>; 0 0 M := 1 1 2.00 4 3 3 > f1:=spline(m,x,degree=1); f1 := x x < 1 2.00 + 3.00 x x < 2.0 6.00 1.00 x otherwise > f3:=spline(m,x);

242 Handleiding Maple 10.20 x +.80 x 3 x < 1 f3 := 1.60 + 2.60 x + 2.40 ( x 1) 2 2.00 ( x 1) 3 x < 2.0 1.20 + 1.40 x 3.60 ( x 2.0) 2 + 1.20 ( x 2.0) 3 otherwise > krommen:=plot([f1,f3],x=0..3,linestyle=[2,1],thickness=[1,3]): punten:=listplot(m,style=point,symbolsize=15): display({krommen,punten},title="natural Spline en Spline van de eerste graad",labels=["x","y"]); Zie Figuur 12.4. Natural Spline en Spline van de eerste graad 4 3 2 1 0 0.5 1 1.5 2 2.5 3 x Figuur 12.4 Toelichting: Bij dit voorbeeld wordt de lijst met punten als matrix ingevoerd (hier met paletten, zie paragraaf 1.3.7). Het commando Spline uit het CurveFittingpakket accepteert behalve een lijst met punten ook een matrix of een tweetal lijsten, of vectoren. Let daarbij wel op de volgorde van de waarden van de onafhankelijke variabele (hier de x-waarden). Deze x-waarden moeten beslist in opklimmende volgorde ingevoerd worden bij het gebruik van Spline en dat kunnen ook numerieke waarden zijn. Vervolgens moet de variabele waarin de piecewise-functie beschreven wordt (x of een andere letter), opgegeven worden. Standaard wordt met dit commando de natural spline (van de derde graad) gegenereerd, maar er kan ook een spline van bijvoorbeeld de eerste graad gemaakt worden f 1 : de aaneenschakeling van een aantal lijnstukken. Merk op dat de de grafiek van f 3 bestaat uit derdegraadskrommen (cubic spline of natural spline) die in de knooppunten aan elkaar gekoppeld worden. De grafiek loopt vloeiend langs de punten. Het aantal decimalen kan voor de overzichtelijkheid met displayprecision wat lager gezet worden. Over splines is nog veel meer te zeggen als het gaat om de situatie aan het begin en het eind van de spline. Kijk daarvoor in de helpfunctie?spline. 12.4 Lagrange-polynomen Zoals bekend, gaat er een rechte lijn door twee gegeven punten (steunpunten). Er gaat een parabool door drie gegeven punten. Zo kun je verder redeneren en er gaat dus een

12 Curvefitting 243 grafiek van een derdegraadspolynoom door vier steunpunten. In het algemeen kun je dus een n e -graads polynoom construeren door n +1steunpunten. Deze manier van punten verbinden heet Lagrange-interpolatie en Maple heeft voor deze constructie een commando in het CurveFitting-pakket: PolynomialInterpolation (interpolatie) om de Lagrange-polynoom te maken. Het nadeel van deze interpolatiemethode is gelegen in het feit dat hoe meer steunpunten, hoe hoger de graad van de Lagrange-interpolatie polynoom wordt! Dit is niet altijd even wenselijk. Voorbeeld 12.5 De Lagrange-interpolatiepolynoom door de volgende vijf punten (0, 3.2), (1.5, 4.8), (3.4, 3), (4.9, 7.1), (7, 1.4) is van de vierde graad. De punten worden samen met de grafiek van de polynoom weergegeven. > restart; interface(displayprecision=2,warnlevel=0): with(curvefitting): with(plots):x,y:=vector([0,1.5,3.4,4.9,7]),vector([3.2,4.8,-3,7.1,1.4] ):M:=<<X Y>>; 0 3.20 1.50 4.80 M := 3.40 3 4.90 7.10 7 1.40 > kromme:=polynomialinterpolation(m,z); kromme := 0.29 z 4 +3.79 z 3 +15.45 z 14.62 z 2 +3.20 > Punten:=listplot(M,style=point,symbolsize=15,symbol=circle): Kromme:=plot(kromme,z=-0.5..7.5,color=black): display({punten,kromme},title="lagrange interpolatiepolynoom"); Zie figuur 12.5. 10 Lagrange interpolatiepolynoom 5 0 5 z 1 2 3 4 5 6 7 10 15 Figuur 12.5 Toelichting: Het enige dat je moet opgeven bij het commando PolynomialInterpolation is een lijst met punten of een n 2-matrix of twee vectoren van dimensie n of twee lijsten met n elementen, waarvoor moet gelden dat de waarden voor x zonder doublures is. De volgorde is niet van belang. Automatisch wordt met PolynomialInterpolation uit het CurveFitting-pakket een polynoom gegenereerd van de graad n 1. Als je numeriek wilt rekenen geef dan minstens één van de getallen met decimale

244 Handleiding Maple 10 punt op. Maar als er alleen gehele getallen opgegeven worden, dan kan de polynoom ook exact berekend worden. De Lagrange-interpolatiepolynoom is hier van de vierde graad, omdat er vijf steunpunten gegeven zijn. Van deze polynoom definieer je de grafiek en de punten kunnen in een grafiek weergegeven worden met listplot uit het plotpakket (plot kan alleen met lijsten of verzamelingen punten werken en niet met een matrix). Met het commando display uit het plotpakket kunnen de beide grafieken zoals in figuur 12.5 worden weergegeven. 12.5 Aanbieden van de data Het voornaamste voordeel van de commando s in het CurveFitting-pakket is, dat de argumenten die met het commando meegegeven moeten worden, overzichtelijk zijn. Bovendien zijn er meer mogelijkheden voor het definiëren van de punten. Data in de vorm van een lijst met punten (voorbeeld 12.1) kan gebruikt worden bij alle commando s van het CurveFitting-pakket. De lijst met punten kan dan ook met plot gemakkelijk in een grafiek worden weergegeven. De data die gegenereerd zijn in een andere applicatie, kunnen binnengehaald worden met readdata (zie voorbeeld 12.2) waarmee deze data automatisch ook weer vertaald worden naar een lijst met punten. Maak bijvoorbeeld in Excel een tabel aan van twee kolommen en sla deze op als tekst-bestand. Kies daarbij voor tab-delimited met extensie.txt. Dit tekstbestand plaats je in dezelfde directory als waarin het Maple-worksheet is opgeslagen, anders moet het volledige pad van het databestand worden opgegeven bij readdata. De optie 2 bij het commando readdata slaat op het meenemen van de eerste twee kolommen van het bestand. De lijst met punten kan ook als matrix aangeboden worden zoals in voorbeeld 12.4. Voor de grafiek met punten, kan dan gebruikgemaakt worden van listplot uit het plotpakket, want plot accepteert geen matrices maar wel lijsten of verzamelingen met punten. Zie ook voorbeeld 12.5. Het is ook mogelijk om twee lijsten of twee vectoren aan te maken. Een lijst (X ) voor de waarden van de onafhankelijke variabele en een even lange lijst (Y )voorde waarden van de afhankelijke variabele. De commando s uit het CurveFitting-pakket worden dan als volgt: LeastSquares(X,Y,x). Ook het Maplet van voorbeeld 12.1, accepteert lijsten of vectoren of een matrix of een lijst met punten. Binnen het Statistics-pakket moet beslist alleen met lijsten of vectoren gewerkt worden (voorbeeld 12.3). Dit heeft een nadeel voor het maken van grafieken, maar omdat toch het Statistics-pakket geactiveerd moet worden kan gebruikgemaakt worden van Scatterplot dat wel lijsten accepteert. Voorbeeld 12.6 Omzettingen. Wil je een databestand binnenhalen om te gebruiken bij het Statistics-pakket doe dan de volgende omzet-manouvre om er een n 2-matrix van te maken waaruit je met Column van het LinearAlgebra-pakket weer twee vectoren kunt maken (zie paragraaf 8.3.1). Met het binnenhalen van data uit een databestand wordt standaard een lijst met punten als decimale getallen gegenereerd. Als je wilt dat het gehele getallen zijn, dan moet dat aangegeven worden met de optie integer, anders worden de data als floating point-getallen opgevat. > XY:=readdata("data1.txt",2,integer); XY := [[50, 65], [30, 40], [65, 70], [46, 60], [40, 45], [75, 80], [45, 50]]

12 Curvefitting 245 > M:=convert(XY,Matrix); 50 65 30 40 65 70 M := 46 60 40 45 75 80 45 50 > X,Y:=LinearAlgebra:-Column(M,[1,2]); 50 65 30 40 65 70 X, Y := 46, 60 40 45 75 80 45 50 De vectoren X en Y kunnen nu gebruikt worden binnen het Statistics-pakket.