• No results found

Laboration 2, M0043M, HT14 Python

N/A
N/A
Protected

Academic year: 2022

Share "Laboration 2, M0043M, HT14 Python"

Copied!
8
0
0

Loading.... (view fulltext now)

Full text

(1)

Laboration 2, M0043M, HT14–Python

Laborationsuppgifter skall l¨ amnas in senast 19 decem- ber 2014.

F¨ orberedelseuppgifter

L¨as igenom teoridelen. K¨or teoridelens exempel.

Teoridel

1 Att arbeta med symboliska uttryck

Symboliska uttryck ¨ar matematiska uttryck skrivna i termer av symboliska variabler.

Exempel - Trigonometriska ettan

from sympy import * # Vi i m p o r t e r a r allt fr˚an sympy - m o d u l e n alpha = Symbol (’ alpha ’) # D e f i n i e r a alpha som s y m b o l i s k v a r i a b e l print s i m p l i f y(cos( alpha )**2+sin( alpha )**2 )

1

Exempel - Symbolisk derivering

x , f = s y m b o l s(" x , f ") f=x**3-cos( x )

print diff(f , x ) # D e r i v a t a n df / dx 3*x**2 + sin( x )

(2)

Exempel - Symbolisk integrering

x , g = s y m b o l s(" x , g ")

g=x**2*atan ( x ) # Uppg 5 . 30a ( FN ) print i n t e g r a t e(g , x )

x**3*atan ( x )/3 - x**2/6 + log ( x**2 + 1 )/6 # log = ln

2 Numerisk integralber¨ akning och ekvationsl¨ osning med Python

I Python finns m¨ojlighet till numerisk ber¨akning av integraler.

Exempel – Numerisk integrering

Best¨am f¨oljande integralv¨arde

0.4

Z

0

tan(x2+ 0.2) dx

from scipy . i n t e g r a t e import quad def i n t e g r a n d( x ):

return tan( x**2+0 . 2 ) # B e r ¨a k n a r i n t e g r a l e n av f u n k t i o n e n i n t e g r a n d I = quad( integrand , 0 , 0 . 4 ) # f u n k t i o n s a n r o p

print( I )

( 0 . 1 0 3 8 2 2 5 1 4 3 916 69 99 , 1 . 1 5 2 6 6 1 4 5 9 5 2 1 0 8 7 e-15 )

# som andra a r g u m e n t anges felet

2

(3)

F¨or att best¨amma nollst¨allen numeriskt g¨or man p˚a f¨oljande s¨att:

Exempel

L¨os approximativt ekvationen

x+ 2 cos(x) = 0 med startv¨arde x0 = 0.3.

from scipy . o p t i m i z e import * def f ( x ):

y=x+2*cos( x ) return y

x0=fsolve(f , 0 . 3 ) # 0 . 3 ¨ar s t a r t v ¨a r d e

# R u t i n e n fsolve a n r o p a r f u n k t i o n e n f print x0 , f ( x0 )

[ -1 . 0 2 9 8 6 6 5 3] [ -6 . 6 6 1 3 3 8 1 5 e-16]

(4)

3 Linj¨ ara ekvationssystem

L¨osningen till systemet

Ax = b

best¨ammer vi t. ex. med Gausselimination. I Python best¨ammer man l¨osningen genom f¨oljande procedur

Exempel

Betrakta ekvationssystemet

3x − 2y + 4z = 8 5x + 8y − 6z = −5 9x − 2y + 7z = −17

(1)

Vi definierar koefficientmatris och h¨ogerled i Python:

from numpy import *

A=mat (’[3 , -2 , 4 ; 5 ,8 , - 6 ; 9 , -2 , 7 ] ’) b=mat (’[ 8 ; -5 ; - 17 ] ’)

Vi best¨ammer det A genom att i Python skriva

print det( A ) -18 . 0

Uppenbarligen har vi en entydig l¨osning, eller hur?

L¨osningen x blir

x=solve(A , b ) print x

[ [ -36 . 7 7 7 7 7 7 7 8] [ 71 . 2 7 7 7 7 7 7 8] [ 65 . 2 2 2 2 2 2 2 2] ]

Inversen till A, dvs A1, f˚ar vi genom kommandot

Ainv=inv ( A ) print Ainv

[ [ -2 . 4 4 4 4 4 4 4 4 -0 . 3 3 3 3 3 3 3 3 1 . 1 1 1 1 1 1 1 1]

[ 4 . 9 4 4 4 4 4 4 4 0 . 8 3 3 3 3 3 3 3 -2 . 1 1 1 1 1 1 1 1]

[ 4 . 5 5 5 5 5 5 5 6 0 . 6 6 6 6 6 6 6 7 -1 . 8 8 8 8 8 8 8 9] ]

Alternativt best¨ammer vi l¨osningen till (1) med matrisinvers:

x1=Ainv*b print x1

[ [ -36 . 7 7 7 7 7 7 7 8] [ 71 . 2 7 7 7 7 7 7 8] [ 65 . 2 2 2 2 2 2 2 2] ]

4

(5)

Uppgiftsdel

Anvisningar

Laborationsuppgifterna 1-3 ¨ar obligatoriska och skall l¨amnas in senast 19 de- cember 2014.

• F¨olj anvisningarna i ”Labb-PM, HT14”, som du kan ladda ner fr˚an Fronter.

• L¨amna in en s˚a enkel rapport som m¨ojligt, utan – detta ¨ar viktigt– att utel¨amna python-kod, plottar och k¨orningsresultat.

• Rapporten ska vara ett pdf-dokument (Konvertera till pdf fr˚an l¨ampligt ordbehand- lingsprogram).

• OBS Viktigt Gl¨om inte namn p˚a gruppmedlemmar och g¨arna epostadresser.

• Inl¨amning sker d¨arefter i Fronter, till relevant mapp under ”Inl¨amning”.

Namnge dokumentet s˚a att identifiering l¨att kan ske.

(6)

Laborationsuppgifter–obligatoriska

Uppgift 1

Arean av det slutna omr˚adet mellan graferna till funktionerna g(x) = e−x2/2 och h(x) = x2− 3x + 2, skall ber¨aknas.

(a) Plotta graferna i samma diagram f¨or en grovbest¨amning av ¨ovre och nedre integra- tionsgr¨ans. V¨alj relevant skalning p˚a axlarna s˚a att grafernas sk¨arningspunkter l¨att kan avl¨asas. Redovisa plottresultatet i form av en figur som du klistrar in i labora- tionsrapporten.

(b) Anv¨and Python f¨or att numeriskt best¨amma ¨ovre och nedre integrationsgr¨ans.

(c) Anv¨and slutligen Python f¨or att numeriskt best¨amma arean av det slutna omr˚adet mellan graferna till funktionerna g(x) = e−x2/2 och h(x) = x2− 3x + 2.

Uppgift 2

Definiera x som en symbolisk variabel och skapa det symboliska uttrycket

S= cos2x 1 + sin2x (a) Plotta S f¨or 0 ≤ x ≤ π.

(b) Ber¨akna

π

Z

0

cos2x 1 + sin2xdx Anv¨and symbolisk integrering.

6

(7)

Uppgift 3

Analys av liksidiga fackverk ¨ar vanligt f¨orekommande inom h˚allfasthetsl¨aran.

1

2 3

4

5

6 7

b A

b

C

b

B

b E

bD

R1 f1

R2 R3

f2

De p˚alagda krafterna betecknas f1 och f2. R1, R2och R3 ¨ar reaktionskrafter som st¨oder konstruktionen vid nod A och E. Krafterna Ti ¨ar ok¨anda sp¨anningar i fackverkets i-te nod.

Kraftj¨amvikt i vertikal och horisontell led ger f¨oljande linj¨ara ekvationssystem:

(8)





















































T1

2 + T2= f1

√3

2 T1= −

√3

4 f1− f2

2

−T1

2 +T3

2 + T4= −f1

√3 2 T1+

√3

2 T3= 0

−T2− T3

2 +T5

2 + T6= 0

√3 2 T3+

√3

2 T5= f2

−T4− T5

2 +T7

2 = 0

Uppgift: Antag att f1 = 1000 N och f2 = 5000 N . Best¨am alla de ok¨anda krafterna Ti, i= 1 . . . 7.

8

References

Related documents

A one-line method is all that is required (code example 13). Duck typing also makes the meta parameter completely generic and transparent. It is generic because any parameter type

Öppet vattenområde där bro får uppföras med en segelfri höjd på minst 2 meter inom en farledsbredd av minst 3 meter.. Öppet vattenområde där bro, bryggor och

Säkerhet för föreningens skyldighet att återbetala förskott till bostadsrättshavare, som omnämns i 5 kap 5 § bostadsrättslagen, lämnas genom förskottsgaranti utställd av

Among these reasons are its syntax, the ecosystem of scientific and data analytics libraries available to developers using Python, its ease of integration with almost any

sub(pattern, repl, string[, count=0]) Returns string obtained by replacing the (count first) leftmost non- overlapping occurrences of pattern (a string or a RE object) in string

Important greedy problems and algorithms discussed in this chapter include the knapsack problem (selecting a weight-bounded subset of items with maximum value), where the

läckageskador genom tätskikt eller vid golvbrunnen krävs att utförandet med tätskiktet uppfyller de branschkrav som gällde vid tiden för när badrummet byggdes.. 8 Sovrum nordöst

F¨orst skall vi se lite p˚ a matriser och d¨arefter p˚ a n˚ agra funktioner som finns i paket NumPy som vi anv¨ander ihop med Python, matematiska funktioner som sinus och cosinus