5' Derivaci i Integraci numriques - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

5' Derivaci i Integraci numriques

Description:

bar/barh/bar3. El m s com s el gr fic en dues dimensions en el que es representa la funci y ... El t tol i subt tol del gr fic es poden emprar per incloure ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 47
Provided by: claras3
Category:

less

Transcript and Presenter's Notes

Title: 5' Derivaci i Integraci numriques


1
5. Derivació i Integració numèriques
5.1
2
Index
  • Derivació diff i gradient. Mínims locals,
    fminbnd i fminsearch
  • Integració quad (1D) i dblquad (2D)
  • Gràfics en dues i tres dimensions plot3,
    contour, surf, quiver...

5.2
3
5.1 Diferenciació
La diferenciació numèrica computa increments
finits duna variable, relatius a la variable
independent
y(i½) ?y/?x
y(i1)
y(i)
?y
x(i½)
x(i) x(i1)
?x
5.3 Diferenciació
4
diff
Troba la derivada numèrica del vector x, és a
dir, calcula les diferències entre elements
consecutius de x
diff(x)
x
gtgt x 1,2,3,4 gtgt dx diff(x) dx 1
1 1 gtgt d2x diff(dx) d2x 0 0
dx
diff redueix la longitud de x en 1 element cada
cop que saplica
5.4 Diferenciació
5
Exemple de càlcul de derivades numèriques
y cos2(x) ?
y -2 cos(x) sin(x)
h 1E-1 x0hpi ycos(x).2 dydx
diff(y)/h z-2cos(x).sin(x)
plot(x,z,'or') hold on plot(x(1end-1)h/2,dydx)

5.5 Diferenciació
6
Calcula diferències dordre n sobre els elements
del vector x
diff(x,n)
gtgt x 1,2,3,4 gtgt dx diff(x) dx 1
1 1 gtgt d2x diff(dx) d2x 0 0
gtgt diff(x,2) ans 0 0
És com aplicar diff sobre x successivament
Redueix la longitud del vector x en n elements
5.6 Diferenciació
7
gradient
Donada una matriu f, gradient
fx,fy gradient(f)
calcula les diferències entre columnes (fx) i
entre files (fy). Exemple
T 24 25 28 32 36 40 44 49 54 26 28 29 30
33 34 35 38 43 27 29 30 28 30 33 34 36 39
27 30 31 29 31 32 33 35 37 29 30 31 32
32 32 33 34 36 30 30 31 32 32 32 32 33 34
31 31 31 32 32 32 32 32 33
5.7 Diferenciació
8

hx0.25 hy 0.5 x,y meshgrid(0hx2,0hy3)
colormap(autumn) C,hcontourf(x,y,T,15) hold
on clabel(C,h)
(0,3)
(2,3)
0.5
(0,0)
(2,0)
5.8 Diferenciació
0.25
9
Tx,Ty gradient(T) Tx Tx/hx Ty
Ty/hy quiver(x,y,Tx,Ty,'w') hold off
Tx 4 8 14 16 16 16 18
20 20 8 6 4 8 14 16
20 20 16 8 6 -2 0 14
16 14 22 28 12 8 -2 0
6 10 16 22 28 4 4 4
2 0 4 14 20 20 0 2
4 2 0 2 8 14 16 0
0 2 2 0 0 2 2 0 Ty
4 6 2 -4 -6 -6 -6
-4 -6 3 4 2 -4 -6 -5
-6 -7 -5 1 2 2 -1 -2
-5 -5 -7 -4 2 1 1 4
2 -3 -4 -3 -5 3 0 0
3 1 0 -3 -4 -7 2 1
0 0 0 0 -2 -6 -11 2
2 0 0 0 0 -2 -6 -14
5.9 Diferenciació
10
h 0.1 x,y meshgrid(-2h2,-2h2) F
sin(sqrt(x.2y.2)).exp(-(x.2y.2)) figure(1)
surf(x,y,F) Fx,Fygradient(F) figure(2)
quiver(x,y,Fx,Fy,2)
5.10 Diferenciació
11
Mínims locals
Per trobar el mínim o el màxim duna funció no
cal fer la derivada
fminbnd troba el mínim local en un interval,
per una funció duna variable. fminsearch per
a funcions multivariables, troba el mínim
local.
5.11 Diferenciació
12
fminbnd
f funció que volem minimitzar x1,x2
interval on es buscarà el mínim
local
fminbnd(f,x1,x2) fminbnd(f,x1,x2) fminbnd(_at_f,x1,
x2)
gtgt finline('x2') gtgt fminbnd(f,-1,1) ans
-2.7756e-017 gtgt fminbnd(x2,-1,1) ans
-2.7756e-017
f es pot definir amb inline.
f també pot ser una funció externa pròpia,
definida en un fitxer .f (que té el mateix nom
que la funció) i que es crida amb _at_
5.12 Diferenciació
13
fitxer f.m
línia de comandes
function fff(x) ff-xexp(-x2)
gtgt fminbnd(_at_f,0,2) ans 0.7071 gtgt
fminbnd(_at_f,0,0.5) ans 0.4999
el fitxer f.m ha de trobar-se dins el directori
de treball
fminbnd només troba el valor de x que minimitza
la funció. Per trobar el valor de la funció en el
mínim, lhem dexecutar després.
Noteu que si f té un mínim local en x, -f hi te
un màxim!
5.13 Diferenciació
14
fminsearch
f funció de vàries variables per
minimitzar x0vector inicial per la cerca
del mínim
fminsearch(f,x0)
gtgt finline('x(1)2 2.5sin(x(2)) -
x(1)2x(2)2x(3)2') gtgt fminsearch(f,-0.6
-1.2 0.135) ans 0.0000 -1.5708 0.1803
inline accepta qualsevol nom i nombre de
variables. Si no sespecifiquen, sassumeix que
la variable és x. Per fminsearch, la variable ha
de ser un vector.
5.14 Diferenciació
15
5.2 Integració
La integral duna funció f(x) per a ? x ? b es
pot interpretar com el càlcul de làrea existent
entre f(x) i leix de les x entre xa i xb
f(x)
5.15 Integració
16
Integració per rectangles si són prou prims,
poden donar una bona aproximació al càlcul de
làrea. Integració per trapezis Proporcionen
una millor aproxi-mació. No és necessari que
tinguin tots la mateixa amplada
rectangles
trapezis
5.16 Integració
17
trapz
Realitza la integració per trapezis
trapz(x,y)
  • El resultat depèn del nombre de punts utilitzats
  • No es pot utilitzar directament amb una funció,
    primer shan dobtenir els punts de x i y

gtgt xlinspace(0,pi,100) gtgt ysin(x) gtgt
trapz(x,y) ans 1.9797
5.17 Integració
18
quad / quadl / dblquad
Realitzen interpolació quadràtica en els
intervals, que per tant és més acurada que la de
trapz.
Quad regla de Simpson adaptativa Quadl
algorisme recursiu adaptatiu dordre
alt Dblquad integració doble utilitzant quad
Els tres operadors accepten funcions. No és
necessari calcular els punts de la funció
5.18 Integració
19
quad(f,x1,x2)
f funció per integrar. x1,x2 interval
dintegració
quadl(f,x1,x2)
gtgt hinline('x.2-1./x-6') gtgt quad (h,1,10) ans
276.6974 gtgt quadl(h,1,10) ans 276.6974
5.19 Integració
20
f funció de 2 variables x1,x2 límits de x
y1,y2 límits de y
dblquad(f,x1,x2,y1,y2)
gtgt finline('ysin(x)xcos(y)','x','y') gtgt
dblquad (f, pi,2pi, 0,pi) ans -9.8696
Matlab no fa integrals amb límits dintegració
variables! ...?
5.20 Integració
21
5.3 Gràfics
  • plot/fplot
  • plot3
  • contour/contourf
  • surf/surfc/surfl
  • mesh
  • quiver
  • hist
  • pie/pie3
  • area
  • bar/barh/bar3

5.21 Gràfics
22
títol
  • El més comú és el gràfic en dues dimensions en
    el que es representa la funció y f(x)
  • La variable independent (x) es representa en
    leix horitzontal abscisses, i la variable
    dependent (y) en leix vertical ordenades.

símbols
llegenda
ticks
etiqueta deix
etiqueta de valor
5.22 Gràfics
23
Un gràfic correcte té les següents
característiques
  • El eixos han de tenir etiquetes amb el nom de la
    variable representada i les seves unitats.
  • Cada eix ha de tenir tick marks a intervals
    convenients, espaiats raonablement (0., 0.2, 0.3,
    ....però no 0.13, 0.26,.....)
  • Si es representen més de dos funcions en un
    mateix gràfic, cal identificar-los amb una
    etiqueta o llegenda.
  • El títol i subtítol del gràfic es poden emprar
    per incloure informació addicional.
  • Les dades dun experiment shan de representar
    amb un símbol .
  • En cas de dades experimentals, és convenient no
    unir els punts amb una línia sòlida (es podria
    interpretar com que es coneixen tots el punts).
  • Els punts duna funció no shan de representar
    amb símbols, sinó amb una línia sòlida, amb un
    nombre de punts suficient.

5.23 Gràfics
24
Gràfics 2D
x vector de valors de x y vector de valors de
y s variable text on sespecifica color,
estil de línia i el símbol per marcar els
punts
gtgt plot(x,y,s)
Cal que x i y tinguin el mateix nombre delements!
gtgt plot(x1,y1,s1,x2,y2,s2,...)
Representa en un únic gràfic tants triplets x,y,s
com especifiquem
5.24 Gràfics
25
Especificadors de color, símbol i estil
COLORS y yellowm magentac cyanr redg
greenb bluew whitek black
SÍMBOLS . pointo circlex x-mark plus
stars squared diamondh hexagramp
pentagramv triangle (down)gt triangle
(right)lt triangle (left)
ESTILS - solid dotted-. dashdot-- dashed
5.25 Gràfics
26
plot
gtgt x 0 0.5 2pi gtgt y sin(x) gtgt plot
(x,y,'r') gtgt xlabel('\alpha (rad)') gtgt
ylabel('sin(\alpha)') gtgt title('Exemple 1')
5.26 Gràfics
27
axis
axis(xmin xmax ymin ymax)
Es poden forçar els límits de x i de y amb axis
gtgt plot (x,y,'-.om') gtgt title('Exemple 2') gtgt
axis(0 2pi min(y) max(y))
5.27 Gràfics
28
axis square
axis equal
axis tight
sel.lecciona els límits de forma que el gràfic és
quadrat
fa que lespaiat utilitzat en els eixos x i y
sigui igual
ajusta lescala als límits dels valors de x i y
5.28 Gràfics
29
grid on / off
gtgt title(Exemple 3) grid on
grid on crea una xarxa a la figura actual. grid
off desactiva la xarxa de la figura actual
5.29 Gràfics
30
hold on / off
hold on manté la figura actual oberta per a
altres gràfics. hold off tanca la figura per a
gràfics posteriors
x00.12pi y1sin(x) plot(x,y1,'r') hold on
y2exp(-x) plot(x,y2,'b') legend('sin(x)','exp(-
x)') xlabel('x') ylabel('y') hold off
5.30 Gràfics
31
loglog / semilogx / semilogy
x0101000 plot(x,x)
loglog(x,x)
lineal en tots dos eixos
logarítmic en tots dos eixos
semilogx(x,x)
semilogy(x,x)
logarítmic en x, lineal en y
lineal en x, logarítmic en y
5.31 Gràfics
32
subplot
Mostra múltiples gràfics en una mateixa finestra
columnes 2
subplot(files,columnes,n)
n
files 2
x-pi/2 0.1 pi/2subplot(2,2,1)
plot(x,sin(x))subplot(2,2,2)plot(x,tanh(x))sub
plot(2,2,3)plot(x,exp(x)) subplot(2,2,4)plot(x,
x.2-x)
5.32 Gràfics
33
figure
h figure
obre una nova gràfica i la fa activa.
figure(h)
fa activa la gràfica h o, si no existeix, la crea.
permet canviar valors a propietats.
set(objecte,propietat,valor)
set(objecte)
llista les propietats de lobjecte
hfigure x10.012 ycos(x) plot(x,y) set(h,
'Color','g')
5.33 Gràfics
34
Altres gràfics
gtgt x rand(1,5) x 0.7942 0.0592 0.6029
0.0503 0.4154 gtgt x x/sum(x) x 0.4132
0.0308 0.3137 0.0262 0.2161
pie(x)
pie3(x)
x rand(6,10)
bar(x) / barh(x) / bar3(x) / stem3(x)
5.34 Gràfics
35
area(x,sin(x))
stem(x,sin(x))
impulsos discrets
x00.5pi compass(sin(x),cos(x))
diagrama polar
5.35 Gràfics
36
Gràfics 3D
  • Representen línies o superfícies en un espai de
    3 coordenades, o camps definits sobre el pla
    xy
  • Poden projectar la figura sobre el pla xy, i
    llavors obtenim una representació 2D, o bé
    poden ser directament 3D
  • Cal definir el conjunt xy de valors, amb
    meshgrid normalment, o amb les equacions
    paramètriques (plot3)
  • Són gràfics 3D projectats els mapes disolínies
    i els de contorn o topogràfics, i els mapes de
    vectors
  • Són gràfics 3D no projectats els de superfícies
    i volums

5.36 Gràfics
37
plot3
Dibuixa línies en un espai 3D
dt pi/50 t0dt10pi xexp(-.05t).sin(t)
yexp(-.05t).cos(t) plot3(x,y,t) grid on
5.37 Gràfics
38
contour / contourf / contour3
x,y meshgrid(-2.12,-2.12) z
x.y.exp(-x.2-y.2)
meshgrid crea un malla de punts
contour3(x,y,z,20)
Dibuixen corbes de nivell
contour(x,y,z,20)
c,h contourf(x,y,z,20) clabel(c,h,'fontsize',8
)
5.38 Gràfics
39
quiver
Dibuixa camps vectorials de dues (quiver) o tres
(quiver3) components
hx 0.1 hy 0.1 x,y meshgrid(-2.12,-2.1
2) z x.y.exp(-x.2-y.2) zx,zy
gradient(z,hx,hy) quiver(x,y,zx,zy,2) axis
tight hold on contour(x,y,z) hold off
5.39 Gràfics
40
mesh / meshc
x,y meshgrid (-2.12) z
x.exp(-((x-y.2).2y.2)) mesh(x,y,z)
meshz(x,y,z)
meshc(x,y,z)
waterfall(x,y,z)
5.40 Gràfics
41
surf / surfc
surf(x,y,z)
surfc(x,y,z)
5.41 Gràfics
42
Escriptura i edició de gràfics
Permet exportar la imatge en diversos formats
eps, jpg, gif, tiff...
Configuració i impressió de la imatge
5.42 Gràfics
43
Dins del mode editor, podem alterar laspecte del
gràfic produït per qualsevol de les comandes
gràfiques (línies, colors, símbols, llegendes,
títols...)
5.43 Gràfics
44
Un cop activat el mode editor, fent doble clic
sobre alguna zona del gràfic podrem seleccionar
les propietats que volem canviar aspecte dels
eixos, dades, mapa de colors per a les
superfícies, etc.
5.44 Gràfics
45
Resum
  • Hem experimentat amb el concepte de derivada
    numèrica i hem aplicat diff (1D) i gradient (2D)
    per trobar les derivades en diferents exemples
  • fminbnd i fminsearch troben el mínim local en
    una i més dimensions, respectivament
  • Les funcions dintegració numèrica quad i dblquad
    són les més utilitzades i implementen una regla
    de Simpson (dordre quadràtic) en un algoritme
    adaptatiu
  • Hem descrit les particularitats de les funcions
    de representació gràfica en una i dues dimensions

5.45
46
Fi de la presentació
Write a Comment
User Comments (0)
About PowerShow.com