Beräkningsmetoder för superellipsens omkrets Frågeställning Svar 1. Vi förväntades ta reda på olika metoder för att beräkna en superellips eller en ellips omkrets. o Givet var ellipsens ekvation:. (Källa 6.) o Givet var superellipsens ekvation: (Källa 1.) 2. Vi förväntades ta reda på vilket värde superellipsens omkrets närmade sig när exponenten n ökade obegränsat. 3. Bestäm Sergelfontänens omkrets. Givet är:. 1. Punkt ett löste vi på tre olika sett. En lösning i ett visningsverktyg, Geogebra, för förståelse för de nästkommande två metoderna. Två program, ett med syftet mobilitet i en miniräknare (Texas TI 82 eller TI- 84). Det andra med syftet precision och det skrev vi i Python som används på dator. 2. När superellipsens exponent gäller följande formel: 3. Tillämpning av Python program med given fakta ger Omkretsen: 140,7m och Arean: 1445,13m 2 Lösningar 1. Omkrets a. Geogebra Med denna metod har vi löst uppgiften för er förståelse. Ni ska med denna metod få förståelse för de nästkommande två metoderna samt illustrativt visa funktionen hos båglängder. (Se bifogad fil: Superellips GGB). Till att börja med finns tre variabler (glidare) där du kan ställa in dina värden på just din superellips. En glidare för exponent, en för halva bredden (a) och en för halva höjden (b). En ellips definieras som att den kan ritas med ett snöre av längden 2a som i sin tur är fästa i brännpunkterna. (Källa 6.)
Båglängder fungerar på ett sådant vis att man delar in bågen i små delar. Vi valde första kvadranten för enkelhetens skull. Denna ellips råkar vara en cirkel för förståelsens skull, detta kan dock enkelt ändras i programmet. Man ser med enkelhet när man lägger en undersumma till ellipsen att det snarlikt bildas små trianglar. Dessa kan man antingen med Pythagoras sats räkna ut hypotenusorna med och sedan summera dem eller lägga till segment mellan skärningspunkterna och sedan summera de sträckorna. Denna princip är bra men det krävs ett program för en godkänd noggrannhet. b. Miniräknarprogram Denna metod är gjord för att man ska kunna göra uppskattningar i fältet med en mobil enhet, miniräknaren. Man ska kunna få en godkänd uppskattning av en superellips utan att behöva bära med sig sin dator för att få en approximation, miniräknaren klarar dock inte en noggrannhet högre än 1000 beräkningar per heltal i x-led. Beroende på tillfälle och användningsområde kan det fortfarande vara användbart. Miniräknarprogrammet använder sig av samma metod som Geogebra metoden men med högre noggrannhet. Miniräknaren använder sig först av ellipsens derivata och sedan Pythagoras sats med en integral för att beräkna 1000 båglängder per steg i högerled.
För detaljer om programmet, se appendix. c. Python program Vi gjorde denna metod med syftet precision. Vi har en förståelsemetod, en mobil metod men utan nytta om ni inte kan jämföra era resultat på hemmabas med väldig noggrannhet. Denna noggrannhet kan en dator åstadkomma och den kan utföra tiotusentals beräkningar per sekund, vilket gör den optimal för ett program. I Python är noggrannheten en miljon beräkningar per heltal i x-led vilket ger klart godkänd precision. Detta program använder sig av samma metod som miniräknarprogrammet förutom att algebraiska förenklingen är gjord manuellt för att öka hastigheten i programmet, istället för att göra en numerisk derivering som i miniräknaren. Programmet använder sig av en uppdelad trapetsmetod för att integrera och sedan summera omkretsen. (Källa 2, 4, 5.) För detaljer om programmet, se appendix och bifogad fil: Superellips PY. 2. När vi använde oss av Geogebra modellen vi tidigare skapat såg vi tydligt att när exponenten ökar och blir större kommer superellipsen närma sig formen av en rektangel. När exponenten är tillräckligt hög kan man antingen använda sig av program i metod 1 eller i princip räkna i huvudet med formeln (rektangelns omkrets): 4 * Sida : 4a + 4b.
3. Se lösning 1. c. : A= 23 B=20 N=2.5 Omkretsen = 140,7 m Area= 1445,13 m 2 Diskussion Våra olika metoder till frågeställning ett fyller sin funktion på olika sätt, visuellt förklarande, mobil beräkning och precisions beräkning av superellipsens omkrets är alla viktiga, beroende på vad ändamålet och användningsområdet. Personligen anser vi Python programmet är det bästa därför att man kan förlita sig på det, medans miniräknaren ger en god uppskattning och den visuella Geogebra modellen inte ska användas för beräkningar. För vidare undersökningar vore det användbart om en algebraisk formel som uppskattar omkretsen togs fram, den skulle kunna göras manuellt ur ellipsens ekvation sedan deriverad och till sist integrerad i Pythagoras sats med trapetsmetoden. Källförteckning 1. Jonas Hall Konsultbyråchef januari 2012 2. http://sv.wikipedia.org/wiki/numerisk_integrering 4/6 2012 3. http://sv.wikipedia.org/wiki/ellips_(matematik) 4/6 2012 4. http://www.emathzone.com/tutorials/geometry/perimeter-of-an-ellipse.html 4/6 2012 5. http://www.wolframalpha.com/ 4/6 2012 6. Brolin, Hans. Björk Lars-Eric. Matematik 3000. Natur och Kultur. 2000
Appendix Miniräknare program: ClrHome Disp INPUT VALUES: Input A:,A Input B:,B Input N:,N Disp CALCULATING, THIS MAY TAKE SEVERAL MINUTES ((1-X^N/A^N) * B^N)^1/N Y1 nderiv(y1,x,x) Y2 0 Xmin A Xmax -B Ymin B Ymax 1.0 * 10^-3 E fnint( (1+(Y2)^2),X,0,A-E,E) P P*4 U ClrHome Disp ELLIPS OMKRETS:,U Disp ELLIPS AREA:,Π*A*B Tar bort tidigare text Instruktion Här sätts villkoren för superellipsen. Derivatans definition omskriven inmatad i Y1. Derivering av definitionen med avseende på X. Fönstervillkor för inom vilka gränser integralen ska ske. Noggrannhetsvariabel bestäms. Pythagoras sats med integral och summan av dessa multiplicerat med 4 för alla kvadranter lagrat i U. Presentation av omkrets och area (lättare formel) Python program: # -*- coding: cp1252 -*- print "Ellips" import math a = input("a=") b = input("b=") n = input("n=") a = float(a) b = float(b) n = float(n) print "Just a second please..." e=1.0*10**-6 #Förkortningar summa=0.0 bn=b**n an=a**n Tillåter läsning av ö. Ber användaren ställa in superellipsens värden. Gör om dessa värden till decimaltal. Här bestäms noggrannhetsvariabeln. Summan börjar på 0,0.
ba= (b**n) / (a**n) n11 = (1/n - 1) t=e while t<a: x=t nba = ba*(x**n) xn1 = x**(n-1) xn=x**n xn1=x**(n-1) baxn = ba*xn tal1 = (bn - baxn)**n11 tal1 = tal1 * 1/n tal2 = ba * n * xn1 tal = tal1 *tal2 tal = tal**2 tal = 1+ tal tal = math.sqrt(tal) fb = tal Infogar förkortningar utan x- term för att lättare skriva och formatera programmet. Infogar förkortningar med x-term för att lättare skriva och formatera programmet. Framtaget med hjälp av (Källa 5.) x = t-e nba = ba*(x**n) xn1 = x**(n-1) xn=x**n xn1=x**(n-1) baxn = ba*xn tal1 = (bn - baxn)**n11 tal1 = tal1 * 1/n tal2 = ba * n * xn1 tal = tal1 *tal2 tal = tal**2 tal = 1+ tal tal = math.sqrt(tal) fa = tal summa+= (e) * ((fa + fb)/2) t+=e print "Ellipsomkrets:" print summa * 4 print "Ellipsarea:" area = math.pi * a * b print area Beräknar integralen med hjälp av trapetsmetod och uppdelning för att lättare kunna felsöka och ändra. (Källa 2.) Framtaget med hjälp av (Källa 5.) Summerar alla hypotenusor. Presenterar resultat.