scieee Science in your language
[sp] (orig)

Guiones de laboratorio de prácticas de computación

Author: Meseguer Serrano, Álvaro
Publisher: Universitat Politècnica de Catalunya
Year: 2025
Source: https://upcommons.upc.edu/bitstream/2117/424347/1/mnc1_pract_meseguer.pdf
M´e odos Num´e icos y Compu acionales I
Ingenie ´ıa F´ısica (UPC - ETSETB)
Guiones de Labo a o io de P ´ac icas de Compu aci´on
`
A. Mesegue
Enginye ia F´ısica Dep . F´ısica Aplicada (UPC)
M´e odos Num´e icos y Compu acionales (2014-2015) A. Mesegue
P ´ac ica 1: in oducci´on al en o no Ma lab – I.
0. Comandos b´asicos:
Inicio (p omp , ejecu ado en e minal): ma lab -nodesk op oma lab -noj m
Sali (p omp , ejecu ado en e minal): qui
Documen acion - ayuda: help ...
Va iables escala es, memo ia, bo ado: clea , clea all, clea x y z, who, whos
Cons an es: i, 1i, pi
1. Rep esen aci´on en coma lo an e de R(p. 2 a p. 6 de Qua e oni & Sale i):
Fo ma os: o ma long/sho e/ /g
Unde low y o e low ( ealmin ealmax) y a iable In
Epsilon m´aquina: eps
2. Ope aciones escala es b´asicas y unciones:
Algeb aicas: x±y, x*y, x/y, x^y
Funciones b´asicas: sq , log, log10, exp, sin, cos, an, asin, acos, a an, abs
3. Vec o es, manipulaci´on y ope ado es ec o izados:
Vec o ila: x = [x1 x2 x3 ...]=[x1, x2, x3, ...], linspace(a,b,N), [a:inc:b]
Vec o columna y ansposici´on eal: x = [x1;x2;x3;...], x.’=[x1, x2, x3, ...]
Suma componen es, media y di e encia comp. consecu i as: sum(x), mean(x), di (x)
O denaci´on (so ing), m´ax. m´ın.: [sx ii]=so (x), max(x), min(x)
Re-o denaci´on: lipud([x1;x2;x3]), lipl ([x1 x2 x3])
Indexado: x(j), x(j:k), x(:), x(j:end),x(j:end-k)
Ex acci´on componen es condicionadas: j = ind(c(x))
Ejemplo: x = [0.8234, 0.6948, 0.3171, 0.9502, 0.03444];j = ind(abs(x)<.5); j = [3 5]
x(j) = [0.3171 0.03444]
Vec o izaci´on de unciones: (x) = [ (x1) (x2) (x3) ...].
Ejemplos: x.^p = [x1^p x2^p x3^p ...],1./x = [1/x1 1/x2 1/x3 ...]
Ope aciones escala -ay ec o -x:
a±x = [x1 ±a x2 ±a x3 ±a ...],a*x = [a*x1 a*x2 a*x3 ...] a./x = [a/x1 a/x2 a/x3 ...]
Ope aciones ec o - ec o (x=[x1 x2 ...] y = [y1 y2 ...] ):
Suma-di e encia: x±y=[x1 ±y1 x2 ±y2 ...]
P oduc o y cocien e comp- o-comp: x.*y = y.*x = [x1*y1 x2*y2 ...];x./y=[x1/y1 x2/y2 ...]
P oduc o escala : x*y.’ = sum(x.*y) = sum(y.*x)
No ma eucl´ıdea: no m(x,2)= no m(x) = sq (x*x’)
Conca enaci´on-ac ualizaci´on como a iable: = [1 3 7],u = [8 pi], = [ u] :
[1 3 7 8 pi], es deci : ←( 1,..., n, u1,...,um)
4. Ma ices, manipulaci´on, indexado y ope aciones:
Fo ma o ila-columna: A = [1 pi ; i 4] = [1 , pi ; i , 4]
Inicializacion pa a op imiza elocidad: A = ze os(N) = ze os(N,N),B = ze os(M,N)
Ma iz iden idad (Aij =δij) y ma iz de unos (Bij = 1): A = eye(N),B = ones(M,N)
Indexaci´on ex acci´on columnas: A = [1 2 3 ; 4 5 6], = A(:,2) −→ = [2 ; 5]
Indexaci´on ex acci´on ilas: A = [1 2 3 ; 4 5 6],u = A(2,:) −→ u = [4 5 6]
T ansposici´on eal: A = [1 2 3 ; 4 5 6],−→ B = A.’ −→ B = [1 4 ; 2 5 ; 3 6]
Suma columnas: A = [1 2 3 ; 4 5 6],sum(A) = [5 7 9],sum(A’) = [6 15]
Indexado ec o ial: A = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12 ; 13 14 15 16] ,idx = [2 ; 4]:
A(idx,2) = [6 ; 14] ,A(2,idx) = [6 8] ,A(2,end) = 8
Di e encia ilas consecu i as: A = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12 ; 13 14 15 16] −→
di (A) = [4 4 4 4 ; 4 4 4 4 ; 4 4 4 4]
M´aximo-m´ınimo po columna y absolu os: A = [1 2 3 4 ; 5 6 7 8 ; 9 10 11 12 ; 13 14 15 16] :
max(A) = [13 14 15 16] ,min(A) = [1 2 3 4],min(min(A)) = 1,max(max(A)) = 16
O denaci´on (so ing) po columnas- ilas: A = [3 2 1 ; 8 9 9 ; 0 0 5] :
so (A) = [0 0 1 ; 3 2 5 ; 8 9 9],(so (A’))’ = [1 2 3 ; 8 9 9 ; 0 0 5]
Re-o denaci´on: A=[321;899;005]:
lipud(A) =[0 0 5 ; 8 9 9; 3 2 1] , lipl (A) = [1 2 3 ; 9 9 8 ; 5 0 0]
Ex acci´on componen es condicionadas: A = [1 2 3 ; 4 5 6 ; 7 8 9] :
[i j] = ind(A>5),[i j] = [ 3 1 ; 3 2 ; 2 3 ; 3 3]
E aluaci´on de unciones sob e elemen os de ma iz: A = [1 2 3 ; 4 5 6 ; 7 8 9]
(A) = [ (1) (2) (3) ; (4) ...].
Ejemplos: A.^p = [1 2^p 3^p ; 4^p ...],1./A = [1 1/2 1/3 ; 1/4 ...]
Ope aciones ma iz- ec o -escala : A=[123;456;789],b = [1 ; 0 ; -1], c = 10 :
A*b = [-2 ; -2 ; -2], b’*A = [-6 -6 -6]
A*c = c*A = [10 20 30 ; 40 50 60 ; 70 80 90]
A/c = [0.1 0.2 0.3 ; 0.4 0.5 0.6 ; 0.7 0.8 0.9]
Ac ualizaci´on-ampliaci´on como a iable: A = [1 2 3 ; 4 5 6 ; 7 8 9] ,b = [1 ; 0 ; -1]:
A = [A b] = [1 2 3 1; 4 5 6 0 ; 7 8 9 -1] ,
A = [A ; b] = [1 2 3 ; 4 5 6 ; 7 8 9 ; 1 0 -1]
Ope aciones ma iz-ma iz (elemen o a elemen o): A = [1 2 ; 4 5 ] ,B = [1 1 ; -1 -1 ]
Suma-di e encia: A + B= [2 3 ; 3 4 ] ...
P oduc o-cocien e: A.*B= [1 2 ; -4 -5 ] ...
2
Enginye ia F´ısica Dep . F´ısica Aplicada (UPC)
M´e odos Num´e icos y Compu acionales (2014-2015) A. Mesegue
P ´ac ica 2: in oducci´on al en o no Ma lab – II.
1. A chi os .m, unciones y pa ´ame os:
Loops: o ii=1:N, o ii=1:L:N,end
Condicionales, ope ado es lujo: i a == b, c = ..., end,==, <, >, <=, >=, ~=.
Loops condicionados: while jj ~= N, o ii=1:N ... end, end
Funciones ex e nas: y = unc ion(x,a,b,c,...),[y z] = unc ion(x,a,b,c,...).
Funciones con a gumen os uncionales: y = unc ion(x,a,b,...,@ un,pa am);
Tiempo de c´alculo: ic ... oc,cpu ime
Opcional: u ilidades debugging: dbs op, e c.
2. Rep esen aci´on g ´a ica:
plo (x,y),loglog(x,y),semilogy(x,y),semilogx(x,y).
Ejemplos de ep esen aci´on de unciones de c ecimien o exponencial. Iden i icaci´on de leyes
y∼1/xp,y∼log x, , y∼ex. E alua unciones ex e nas y ep esen a las.
Expo a g ´a icos: p in -deps igu ename,p in -depsc igu ename
3. Inpu -Ou pu :
Gua da - ecupe a da os: load ile.da ,sa e ilename A B C ..., a chi os .ma .
Esc i u a/ o ma o: p in ,sp in ,in 2s ,num2s
Enginye ia F´ısica Dep . F´ısica Aplicada (UPC)
M´e odos Num´e icos y Compu acionales (2011-2012)
P ´ac ica 3: esoluci´on num´e ica de ecuaciones ascenden es (aplicaciones ´ısicas).
1. P oblema: nos encon amos en el alle de un mon ´ıculo de unos 50 me os de al u a ap oximada-
men e y que emos lanza una pelo a al o o lado de la cima del mismo. El pe il del mon ´ıculo
iene dado po la ecuaci´on y(x) = ax2e−bx. Tan o ycomo x ienen dados en me os, siendo
a= 0.15 m−1yb= 0.04 m−1. Lanzamos la pelo a desde (x0, y0) = (0,0) m con una elocidad
inicial 0= 37 ms−1y un ´angulo inicial de α0= 67.5o( e igu a).
x(m)
y(m)
0 50 100 150 200
0
20
40
60
(a) Plan ea la ecuaci´on F(x, 0, α0) = 0 que de e mina la in e secci´on de la pa ´abola con el
pe il del mon ´ıculo. Edi a una unci´on .m de ma lab pa a F(x, 0, α0) y ep esen a la
pa a los pa ´ame os dados pa a x∈[0,200].
(b) Desde un c´odigo p incipal .m de ma lab, de e mina el pun o de impac o con el m´e odo
de la secan e pa a los alo es dados.
(c) Con el mismo ´angulo de i o, de e mina la elocidad m´ınima necesa ia pa a que la pelo a
pase a la de echa de la cima del mon ´ıculo. Comen a qu´e ipo de condici´on hay que impone
y qu´e consecuencias iene en la con e gencia del m´e odo de la secan e.

Enginye ia F´ısica Dep . F´ısica Aplicada (UPC)
M´e odos Num´e icos y Compu acionales (2011-2012)
P ´ac ica 4: esoluci´on num´e ica de ecuaciones ascenden es (e aluaci´on).
1. P oblema: un pa imen o muy i egula iene el pe il e ical que se mues a en la igu a de la
izquie da. El pe il ep esen ado iene dado po la exp esi´on (x) = asin2(bx) e−cx2, en donde
xey ienen dados en me os, a= 5 m, b= 1 m−1yc= 0.06 m−2.
x(m)
y(m)
0 2 4 6 8 10
0
1
2
3
4
5
θ
~g
y
x
µ
(x)
(a) Suponiendo que la supe icie no iene ozamien o, de e mina los pun os de equilib io en
x∈[0,8] en los cuales un cue po en eposo se man end ´ıa siemp e en esa posici´on sin
desliza po la supe icie. Pa a ello plan ea la ecuaci´on F(x, a, b, c) = 0 que de e mina la
condici´on de equilib io. Rep esen a Fen el in e alo x∈[0,8] y de e mina los pun os de
equilib io con un m´e odo adecuado.
(b) Supongamos que aho a el pa imen o iene un ozamien o es ´a ico uni o me µconocido.
De e mina las egiones (subin e alos de x∈[0,8]) en las cuales pod ´ıamos deja un
bloque en eposo sin que pos e io men e es e se deslizase po la acci´on de la g a edad
( oma µ= 0.3 y g = 10 ms−2).
Enginye ia F´ısica Dep . F´ısica Aplicada (UPC)
M´e odos Num´e icos y Compu acionales (2015-2016) A. Mesegue
P ´ac ica 5: in e polaci´on de Lag ange equiespaciada.
1. P oblema: dado un conjun o de pun os equiespaciados {x0=−1, x1, . . . , xn−1, xn= 1}, con:
xj=−1 + 2j
n,(j= 0,1, . . . , n).
Se pide:
(a) de e mina la ma iz de polinomios ca dinales de Lag ange P∈Mm+1,n+1(R)1e aluada
en un conjun o de pun os {z0, . . . , zm}denso (m≈600, po ejemplo):
P=







`0(z0)`1(z0). . . `n(z0)
`0(z1)`1(z1). . . `n(z1)
`0(z2)`1(z2). . . `n(z2)
.
.
..
.
.....
.
.
`0(zm)`1(zm). . . `n(zm)







,con `i(z) =
n
Y
j=0
(j6=i)
z−xj
xi−xj
, i = 0,1, . . . , n.
No a: p ocu a no hace uso de bucles anidados pa a calcula los p oduc os. Un s´olo bucle
pa a los denominado es y o o pa a los nume ado es debe ´ıa se su icien e.
(b) pa a n= 3,6 y 9, ep esen a los `i(zk) en el conjun o de pun os zkpa a pode isualiza el
compo amien o de dichos polinomios en e nodos y comp oba que cumplen `i(xj) = δij .
(c) pa a n= 8,16,24,32, calcula la unci´on de Lebesgue:
λn(x) =
n
X
j=0
|`j(x)|
sob e el mismo conjun o de pun os zky comp oba su c ecimien o en los ex emos del
in e alo. U iliza una escala adecuada en los ejes.
(d) in e pola la unci´on (x)=exen [−1,1] pa a n= 4,6,8,10,...,60 median e un bucle.
Pa a cada n, e alua la in e polaci´on en el conjun o de nodos zkhaciendo el p oduc o
ma iz- ec o Πn (zi) = PjPij (xi), e alua el e o m´aximo
εn= m´ax
0≤k≤m|Πn (zk)−ezk|
y almacena lo en un ec o . Rep esen a en una g ´a ica semiloga ´ı mica εn en e a ny
comp oba la ley εn∼2n/n log(n). Comp oba que la ex apolaci´on de εnpa a n→0
in e cep a el eje yce ca de εmach ∼10−16.
1Mmn(R) es el espacio de ma ices eales de m ilas y ncolumnas
Enginye ia F´ısica Dep . F´ısica Aplicada (UPC)
M´e odos Num´e icos y Compu acionales (2014-2015)
P ´ac ica 6: in e polaci´on de Chebyche .
1. P oblema: in e pola la unci´on:
(x) = anh {20 sin(12x)}+2
100e3xsin(300x),
en el in e alo [0,1].
U iliza el conjun o de nodos de Chebyche :
zj= cos jπ
n, j = 0,1, . . . , n.
El in e alo es el [0,1], con lo que hab ´a que ealiza un cambio de a iable adecuado, es deci ,
los nodos sob e los que se ealiza la in e polaci´on son:
xj=1
2(1 + zj).
Se puede u iliza la o ma de Lag ange u, opcionalmen e, la ba ic´en ica (la ´o mula no cambia
a pesa del cambio de a iable):
Πn (x) =
n
X
j=0
0(−1)j j(x−xj)−1
n
X
j=0
0(−1)j(x−xj)−1
,∀x6=xj.
Recu´e dese que el s´ımbolo 0en los suma o ios indica que el p ime y ´ul imo ´e minos de las
sumas deben di idi se po 2.
(a) Rep esen a la unci´on en un conjun o de 2000 pun os pa a isualiza la p ime o.
(b) U iliza n= 102,103, . . ., e c., nodos de in e polaci´on e i isualizando el e o local:
ε(x) = |Πn (x)− (x)|,
come ido a medida que se aumen a el n´ume o de pun os. Pa a ello u iliza una g ´a ica
semiloga ´ı mica.
(c) U iliza el n´ume o de nodos necesa io pa a que el ε(x)<10−12 en odo el in e alo [0,1].
Enginye ia F´ısica Dep . F´ısica Aplicada (UPC)
M´e odos Num´e icos y Compu acionales (2016-2017) A. Mesegue
P ´ac ica 7: de i aci´on num´e ica (I).
In oducci´on: la cons ucci´on de ma ices de di e enciaci´on con Ma lab es ela i amen e sencilla si
dichas ma ices ienen una es uc u a simple. En pa icula , las ma ices de di e enciaci´on esul an es
de aplica ´o mulas locales de o den bajo suelen se de ipo Toepli z, es deci con sus diagonales
p incipales adop ando un mismo alo cons an e.
1. Comando oepli z:es e comando cons uye una ma iz de Toepli z pa iendo de las componen-
es de dos ec o es u= (u1, u2, . . . , un) y = ( 1, 2, . . . , n) dados (con 1=u1), ubic´andolas
diagonalmen e de la siguien e o ma:











u1 2 3 4· · · n−1 n
u2u1 2 3· · · n−2 n−1
u3u2u1 2· · · n−3 n−2
u4u3u2u1· · · n−4 n−3
.
.
..
.
..
.
..
.
..
.
..
.
.
un−1un−2un−3un−4· · · u1 2
unun−1un−2un−3· · · u2u1











Ejemplo: in oduci en la l´ınea de comandos: oepli z([1 3 5 7],[1 2 3 4]).
2. U ilizando el comando an e io , cons ui las ma ices de di e enciaci´on d ycd is as en clase
de eo ´ıa pa a n= 5,20,40,80:









−1 1 0 0 . . . 0 0
0−110. . . 0 0
0 0 −1 1 . . . 0 0
.
.
..
.
..
.
..
.
..
.
..
.
.
0 0 0 0 . . . 1 0
0 0 0 0 . . . −1 1









y









−1/2 0 1/2 0 . . . 0 0 0 0
0−1/201/2. . . 0 0 0 0
0 0 −1/2 0 . . . 0 0 0 0
.
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
.
0 0 0 0 . . . −1/201/2 0
0 0 0 0 . . . 0−1/201/2









,
asociadas a las ´o mulas uFD
i=h−1( i+1 − i) y uCD
i= (2h)−1( i+1 − i−1). Al aplica el comando
oepli z, eco da que hay que elimina algunas ilas y que no podemos ob ene las de i adas
en odos los pun os o iginales. No ol ida los ac o es hen las ma ices. Visualiza las ma ices
pa a n= 5 en la l´ınea de comandos pa a comp oba que ienen el n´ume o de ilas y columnas
adecuado.
3. Conside a la unci´on (x) = sin(πx) y su de i ada 0(x) = πcos(πx) en el in e alo [0,2].
E alua (x) en un conjun o de nodos equiespaciado xj= 2j/n, (j= 0,1, . . . , n), con n=
5,20,40,80. Aplica las ma ices an e io es sob e el ec o de alo es ( 0, 1, . . . , n) pa a ob ene
una ap oximaci´on de 0(x). Rep esen a la de i ada exac a sob e los nodos 0(xj) = πcos(πxj)
y, en la misma g ´a ica, las ap oximaciones ob enidas pa a e la disc epancia. En o a g ´a ica en
escala semiloga ´ı mica ep esen a | 0(xi)−uFD
i|y| 0(xi)−uCD
i|.
4. (opcional): Pa a n= 100,200,300,400,...,2000, calcula εn= m´ax | 0(xi)−ui|pa a d ycd. En
una g ´a ica loglog, ep esen a εn en e al hu ilizado en cada caso e in e p e a la pendien e.