Title | Resum comandes MUPAD |
---|---|
Course | Matemàtiques |
Institution | Universitat de Girona |
Pages | 5 |
File Size | 174.8 KB |
File Type | |
Total Downloads | 5 |
Total Views | 124 |
Resum comandes mupad (MATLAB)...
MATLAB: MuPAD INSTRUCCIONS BÀSIQUES Eliminar la memòria total
reset()
Carregar les llibreries d’àlgebra lineal
use(linalg)
Carregar les llibreries de les funcions de dibuix
use(plot)
Carregar les llibreries pels colors a les gràfiques
use(RGB)
Assignar variables o paràmetres (número, equació... a una lletra o paraula)
:=
Eliminar variables o paràmetres
delete( )
Separar instruccions (majúscula + intro per baixar una instrucció) Fer canvis en una mateixa operació (substituir +1 paràmetre d’una matriu...)
; :
Escriure comentaris dins la cel·la d’instrucció
//
Llista
[ ]
Conjunt
{ }
Avaluar fraccions (decimals)
float( )
Canviar el nombre de dígits decimals
DIGITS:=20
Arrel quadrada
sqrt( )
Paràmetres diferents de 0
assume(a0)
Paràmetres positius
assume(b>0)
Paràmetres reals
assume(k,Type::Real)
FUNCIONS I EQUACIONS Dibuixar una gràfica (dibuixar la funció entre els punts x=0 i x=10)
plot(f,x=0..10)
Resoldre la funció igual a 0 amb la variable x
solve(f=0,x)
Resoldre una equació amb una variable x
solve(eq1,x)
Resoldre un sistema (dues equacions amb dues variables x i y)
solve({eq1,eq2},[x,y])
Substituir x d’una funció per un valor
subs(f,x=4)
MATRIUS I DETERMINANTS
Definir una matriu A per files (assignar una lletra majúscula menys D i E)
A:=matrix([[a,c],[b,d]])
Matriu identitat 3x3
Id:=matrix(3,3,1,Diagonal)
Determinant
det(A)
Traça
tr(A)
Matriu transposada
transpose(A)
Rang
rank(A)
Matriu inversa
inverse(A) // A^(-1)
Canviar un valor dins la matriu
A[2,4]:=0
Producte de matrius
A*B
Concatenació de matrius (afegir una al costat de l’altra) Generar una matriu aleatòria (dimensions 10x10) Matriu ampliada amb les equacions
A.B randomMatrix(10,10,Unimodular) MA:=expr2Matrix({eq1,eq2,eq3},[x,y,z})
Matriu del sistema 3x3 (menys els termes independents) Valors del paràmetre “a” on el determinant de la matriu és igual a 0
M:=submatrix(MA,1..3,1..3) solve(det(MA)=0,a)
VALORS I VECTORS PROPIS eigenvalues(A)
Valors propis Tota la informació de la matriu [valors propis, multiplicitat (repetit o no), vectors propis] Localitzar un vep de dins la llista ([ ] és una llista, començar de l’exterior a la més interior) Concatenar vectors (matriu de veps en columnes)
llista:=eigenvectors(A) vep1:=llista[1][3][1]
Norma d’un vector (suma components)
norm(vep1,1)
Normalitzar un vector (suma de components = 1)
vep1/norm(vep1,1)
Vector normalitzat en percentatge
vep1/norm(vep1,1)*100
Equació característica dels vaps (matriu A amb incògnita λ)
-charpoly(A,`λ`)
eigenvectors(A)
V:=vep1.vep2.vep3
MODELS MATRICIALS Matriu de projecció del model
A:=matrix( )
Vector columna amb la distribució inicial de població
x0:=matrix([],[],[])
Població inicial = norma vector
norm(x0,1)
Evolució de la població
x1:=A*x0
FUNCIONS, DERIVADES I INTERGRALS Expressió (no podem calcular derivada)
p:=2x^2-5*x+7
Funció (a cada x li correspon una y)
f:=x->2x^2-5*x+7
Valor de y en un punt x
y:=f(3) // y:=subs(x,x=3)
Resoldre el punt x on y té un valor concret
solve(f(x)=3,x)
Derivada 1a
f’
Derivada 2a
f’’
Dues gràfiques en la variable t
plot((funcio1,funcio2,t=-2..2)
Derivada respecte t
diff(funcio,t)
Integral definida d’una funció (àrea entre 0 i 10)
A:=int(y,x=0..10); float(A)
Integral indefinida
int(funcio,x) integrate(f(x),x= .. )
RECTA TANGENT Recta tangent en un punt x0
y:=f(x0)+f’(x0)*(x-x0)
Gràfica de la funció i recta tangent
plot(f,y)
Punt de tangència
punt:=Point2d(x0,f(x0))
Gràfica de la funció amb recta tangent i el punt de tangència
plot(punt,f,y)
Fragment recta tangent (dx=1) (recta tangent a una distància de 1 del punt de tangència x0) + canvi de color de la recta Gràfica de la funció i el fragment de la recta tangent
recta:=Line2d([x0-dx,f(x0)f’(x0)*dx], [x0+dx,f(x0)+f’(x0)*dx], Color=Green) plot(punt,recta,f)
CORBES DE NIVELL Corbes de nivell f (x,y) = c
corbes:=Implicit2d(funció, x=0..3,y=0..4, Contours=[valors de c])
Gràfica corbes de nivell
plot(corbes)
Representar l’animació en moviment de les corbes de nivell
animacio:=Implicit2d(funció, x=0..3,y=0..4, Contours=[a],a=-2..4 valors c, Frames=7 nºc) plot(animacio)
FUNCIONS DE DUES VARIABLES Funció de dues variables z = f (x,y)
f:=(x,y)-> y^2-x^3+4*x
Valor de z en un punt (x,y)
z0:=f(x0,y0)
Derivada parcial respecte x
fx:=D([1],f)(x0,y0)
Derivada parcial respecte y
fy:=D([2],f)(x0,y0)
Superfície
superficie:=Function3d(f(x,y),x=0..2,y=0..2)
Gràfica de la funció 3D
plot(superficie) plot(f(x,y),x=-2..2,y=-2..2,#3D)
Punt de tangència
punt:=Point3d(x0,y0,z0)
Recta en 3d (d=1) (vector gradient)
recta:=Line3d([x0-fx*d,y0-fy*d,z0-fx^2*dfy^2*d],[x0+fx*d,y0+fy*d,z0+fx^2*d+fy^2*d])
OPTIMITZACIÓ
1 D
2 D
Derivada 1a
simplify(f’(x))
Derivada 2a
simplify(f’’(x))
Punts crítics
punts:=solve(f’(x)=0,x)
Estudi dels punts crítics
x0:=punts[1]; f’’(x0)
Derivada parcial respecte x
D([1],f)(x,y)
Derivada parcial respecte y
D([2],f)(x,y)
Vector gradient gradient(f(x,y),[x,y]) (derivades parcials en columna) Punts crítics punts:=solve(gradient(f(x,y),[x,y])=(0,0),[x,y]) (gradient = 0) solve([D([1],f)(x,y)=0,D([2],f)(x,y)=0],[x,y]) (fx / fy = 0) punts[1] Escollir un punt crític concret Derivades parcials segones (fxx, fyy i fxy = fyx)
D([1,1],f); D([2,2],f); D([1,2],f)
Matriu hessiana
H:=hessian(f(x,y),[x,y])
Determinant matriu hessiana
det(H)
Determinant en un punt (x0,y0)
det:=D([1,1],f)(x0,y0)*D([2,2],f) (x0,y0)-D([1,2],f)(x0,y0)^2
Avaluar els punts crítics a la matriu (substituir per cada punt)
subs(H(x,y)punts[1])
Derivada parcial segona en un punt
fxx:=D([1,1],f)(x0,y0)
EQUACIONS DIFERENCIALS ORDINÀRIES eq:=x’(t)=k*x(t)
EDO (especificar la dependència del temps x(t)) Solució general EDO
X:=ode::solve(eq,x(t))
Solució EDO amb condició inicial (PVI)
S:=ode::solve({eq,x(0)=x0},x(t))
Seleccionar la solució sense claus
X1:=S[1]
Gràfica de la solució
plot(S(t),t=0..200)
Punt de màxim (entre dos valors)
t1:=solve(diff(S,t)=0,t=0..200)
Valor de màxim
float(subs(S,t=t1))
Concentració en un dipòsit
c:=S/V(t)
Calcular la concentració en un temps
c1:=float(subs(c,t=60))
Calculat el temps per a una concentració (seleccionat dins la llista entre claus)
t1:=float(solve(c=10,t)[1])
Límit de concentració quan t tendeix a infinit
límit(c,t=infinity)
Mitjana de la funció continua (concentració)
c_mitjana:=1/200*int(c,t=0..200)
SISTEMES EDOs Sistema EDOs Solució general amb constants
eq1:=x’(t)=... / eq2:=y’(t)=... equacions:={x’(t)... , y’(t)...} X:=ode::solve({eq1,eq2},{x(t),y(t)}) X:=ode::solve(equacions,{x(t),y(t)})
Solució amb condició inicial (PVI)
S:=ode::solve({eq1,eq2,x(0)=x0,y(0)=y0})
Separar les solucions x(t) i y(t)
X1:=S[1][2] // X2:=S[1][1]
Gràfica de les solucions PVI
plot(rhs(X1),rhs(X2),t=0..10)
Trajectòria en el pla (x,y)
plot([rhs(X1),rhs(X2)],t=0..10)...