Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Workspace.- La ventana Workspace proporciona diversa información sobre las variables utilizadas
(Espacio de Trabajo)
Command History.- Todas las órdenes quedan grabadas en el command History (Historial de
Comandos)
Para Borrar el contenido de Command Window se usa el comando clc, y deja todo limpio.
Comando what nos permite visualizar cuales son los archivos .m que hay en el directorio
actual
+ Sumar
- Restar
* Multiplicar
/ Dividir
^ Elevar a una potencia (alt+094)
Ejemplo:
>> 10+8
ans =
18
Ejemplo:
>> 10^2
ans =
100
Ejemplo:
>> 18*2
ans =
36
Cuando se hace un cálculo sin usar variables como en los ejemplos anteriores, automáticamente el
cálculo se guarda en una variable de respuesta llamada ans (answer… respuesta)
QUE ES UNA VARIABLE.- Es un espacio de memoria reservada en el cual se puede almacenar un tipo
de dato.
DECLARAR VARIABLES EN MATLAB
Declarar Variables que contengan un dato
Primero se debe poner el nombre de la variable (el nombre puede ser cualquier tipo de letra o
palabra), seguidamente de un signo “=” y escribir el dato que queremos almacenar en dicha
variable.
Ejemplo
>> x=10
x=
10
Ejemplo
>> x=10+8
x=
18
Para conocer el valor de una variable solo basta con escribir su nombre.
Ejemplo:
>> x
x=
18
No mostrar el resultado
Ejemplo
>> y=10*2;
>> y
y=
20
Para poder declarar una variable que vamos a utilizar debemos poner el código Syms
seguidamente del nombre de la variable (el nombre puede ser cualquier tipo de letra o palabra)
Ejemplo
>> syms x
Ejemplo
>> syms y
>> f=2*cos(y)
f=
2*cos(y)
Ejercicios propuestos
tan ln(8)
5 2 7
2
6
a) cos sen Resp. 0.2191
6 8 7.
5
2
a) x 3 5 x 2 26.7 x 52
Resp.2.9592e+03
b) log x 2 x3
Resp. 3.3576
LIMITES
Limit(f,x,a)
Dónde:
Ejemplo:
𝒙𝟐 − 𝟏
𝐥𝐢𝐦 ( )
𝒙→𝟏 𝒙−𝟏
>> syms x
>> f=(x^2-1)/(x-1);
>> limit(f,x,1)
ans =
2
Ejemplo:
(𝟑 + 𝒙)𝒏 − 𝟑𝒏
𝐥𝐢𝐦 ( )
𝒙→𝟎 𝒙
>> syms x n
>> f=((3+x)^n -3^n)/x;
>> limit (f,x,0)
ans =
3^(n - 1)*n
Ejemplo
𝟏−𝒙
𝐥𝐢𝐦 ( )
𝒙→𝟏 𝟏 − √𝒙
>> syms x
>> f=(1-x)/(1-sqrt(x));
>> limit(f,x,1)
ans =
2
Ejemplo
𝟑
√𝒙𝟐 + 𝟏
𝐥𝐢𝐦 ( )
𝒙→ 𝒙+𝟏
>> syms x
>> f=((x^2 +1)^(1/3))/(x+1);
>> limit(f,x,inf)
ans =
0
>> syms x
>> f=(7*x^5 -10*x^4 -13*x +6)/(3*x^2 -6*x -8);
>> limit(f,x,2)
ans =
-11/2
√𝟏 + 𝒔𝒆𝒏(𝒙) − √𝟏 − 𝒕𝒈(𝒙)
𝐥𝐢𝐦 ( )
𝒙→𝟎 𝒔𝒆𝒏(𝟐𝒙)
𝟐 +𝒙−𝟏 𝟐 +𝒙+𝟏
𝒆𝟐𝒙 − 𝒆𝒙
𝐥𝐢𝐦 ( )
𝒙→𝟎 𝒙𝟐 − 𝟐
DERIVADAS
diff(f,x,k)
Dónde:
f Función a derivar
xrespecto la variable a la cual se deriva
k Numero de derivadas que se desea, si no se pone el “k” MATLAB asume k=1, que sería la 1ra
derivada
Ejemplo
>> syms a b c d x
>> f=(a*x^3 + b*x^2+ c*x +d);
>> diff(f,x)
ans =
3*a*x^2 + 2*b*x + c
𝟖𝒙
𝒇(𝒙) = (− )
𝒔𝒆𝒏(𝟒𝒙𝟐 )
Ejemplo
Calcular la segunda derivada de la función f(x)
𝒅𝟐𝒇(𝒙) 𝝏𝟐 𝒙
ó
𝒅𝒙𝟐 𝝏𝒙
𝒇(𝒙) = 𝒂𝒙 + 𝒃𝒙𝟐 + 𝒄𝒙 + 𝒅
𝟑
>> syms a b c d x
>> f=(a*x^3 + b*x^2+ c*x +d);
>> diff(f,x,2)
ans =
2*b + 6*a*x
DERIVADAS PARCIALES
Ejemplo
𝒇(𝒙, 𝒚) = 𝒙𝟒 + 𝒔𝒆𝒏(𝒙 + 𝒚𝟑 )
Calcular
𝝏𝟐 𝒙
𝝏𝒇
>> syms x y
>> f=x^4 + sin(x+y^3);
>> diff(f,x,2)
ans =
12*x^2 - sin(y^3 + x)
𝝏𝟐 𝒚
𝝏𝒇
>> syms x y
>> f=x^4 + sin(x+y^3);
>> diff(f,y,2)
ans =
6*y*cos(y^3 + x) - 9*y^4*sin(y^3 + x)
INTEGRALES
INTEGRALES INDEFINIDAS
Int(f,x)
Dónde:
ffunción a integrar
xvariables respecto a la cual se va integrar
Ejemplo
∫(𝟐𝒙) 𝒅𝒙
>> syms x
>> f=2*x;
>> int(f,x)
ans =
x^2
Ejemplo
∫(𝒔𝒆𝒏𝟐 𝒙) 𝒅𝒙
>> syms x
>> f=sin(x)^2;
>> int(f,x)
ans =
x/2 - sin(2*x)/4
Ejemplo
∫(𝒔𝒊𝒏(𝒙𝟑 )𝒄𝒐𝒔 (𝒙𝟔 ) 𝒅𝒙
>> syms x
>> f=(sin(x)^3) *(cos(x)^6);
>> int(f,x)
ans =
(cos(x)^7*(7*cos(x)^2 - 9))/63
INTEGRALES DEFINIDAS
Int(f,x,a,b)
Dónde:
fFunción a integrar
xRespecto la variable a integrar
aLímite inferior
bLímite Superior
Ejemplo
𝟑
∫(𝒙𝟒 − 𝟏)𝒅𝒙
𝟎
>> syms x
>> f=x^4 - 1;
>> int(f,x,0,3)
ans =
228/5
Ejemplo
𝝅
𝟑
∫(𝒕𝒂𝒏(𝒙))𝒅𝒙
𝟏
>> syms x
>> f=tan(x);
>> int(f,x,0,pi/3)
ans =
log(2)
2
0
Resp. 2/35
INTEGRALES DOBLES
Ejemplo
𝟐 𝟏
∬ (𝟐𝒙 + 𝟑𝒚)𝒅𝒙 𝒅𝒚
𝟏 𝟎
>> syms x y
>> f=2*x + 3*y;
>> int((int(f,x,0,1)),y,1,2)
ans =
11/2
Ejemplo
𝟐 𝟑𝒙+𝟏
∬ (𝒙 ∗ 𝒚)𝒅𝒚 𝒅𝒙
𝟏 𝟐𝒙
>> syms x y
>> f=x*y;
>> int((int(f,y,2*x,3*x+1)),x,1,2)
ans =
137/8
INTEGRALES TRIPLES
Ejemplo
𝟒 𝟗 𝟐
>> syms x y z
>> f=x+sin(y+z)+cos(x+y);
>> int((int((int(f,x,-1,2)),y,4,9)),z,-3,4)
ans =
7*cos(6) - 7*cos(3) + 7*cos(8) - 7*cos(11) - 3*sin(1) + 3*sin(6) + 3*sin(8) - 3*sin(13) + 105/2
>> round(ans)
ans =
63
Ejemplo
𝟏 (𝟏−𝐱) ( 𝟏−𝐱−𝐲)
∭ (𝟏 + 𝐱 + 𝐲 + 𝐳)−𝟑 𝐝𝐳 𝐝𝐲 𝐝𝐱
𝟎 𝟎 𝟎
>> syms x y z
>> f=(1+x+y+z)^-3;
>> int((int((int(f,z,0,1-x-y)),y,0,1-x)),x,0,1)
ans =
log(2)/2 - 5/16
RESOLUCION DE ECUACIONES
El Código para resolver una ecuación es:
solve(‘f’,’x’)
Dónde:
fEcuación a resolver
xVariable respecto a cuál se va resolver
Ejemplo
𝒙−𝟒=𝟎
>> solve('x-4','x')
ans =
4
Ejemplo
𝒙𝟓 − 𝟐𝒙𝟒 + 𝟓𝒙𝟐 + 𝟓 = 𝟎
Dónde:
y1…yn Son las variables a hallar
ec1…ecn Son las ecuaciones del sistema
Nota.-Las variables a hallar deben ir dentro de corchetes ([]) y separadas por un espacio, las
ecuaciones siempre deben estar dentro de comillas simples (‘) , y separadas por una coma(,)
entre ecuaciones
Ejemplo
Ejemplo
Ejercicios propuestos
a)
x y
4
2 3
x
y 1
3
Resp. x=66/7; y=-15/7
b)
x 1 y 1
0
3 2
x 2y x y 2
0
3 4
Resp. x=-13/7; y=11/7
Dónde:
fEcuación diferencial a resolver
xVariable respecto a cuál se va resolver
Ejemplo
𝒅𝒚
𝐲′ = 𝟏 + 𝐲𝟐 ó = 𝟏 + 𝒚𝟐
𝒅𝒙
>> dsolve('Dy=1+y^2','x')
ans =
tan(C10 + x)
i
-i
Ejemplo
𝒅𝒚
𝐲 ′ = −𝐲 + 𝐬𝐞𝐧(𝐭) ó = −𝒚 + 𝒔𝒆𝒏(𝒕)
𝒅𝒕
>> dsolve('Dy=-y+sin(t)','t')
ans =
sin(t)/2 - cos(t)/2 + C19*exp(-t)
Ejercicios propuestos
2t
a) x ' e t resp. C5 - log(t^2 - 1) + exp(t)
t 1
2
1 t
b) x ' resp. C13/(x^2 + 9)^(1/2)
t 2 x2
El Código para resolver una ecuación diferencial con alguna condición es:
dsolve(‘f’,’cond’,’x’)
Dónde:
fEcuación diferencial a resolver
xVariable respecto a cuál se va resolver
condCondicion inicial o limite condicional
>> dsolve('Dy=y+1','y(0)=1','x')
ans =
2*exp(x) – 1
Ejemplo
𝒅𝟑𝒚 𝒅𝟐𝒚 𝒅𝒚
𝐲 ′′′ − 𝟑𝐲 ′′ + 𝟑𝐲 ′ − 𝐲 = 𝟎 ó −𝟑 +𝟑 −𝒚=𝟎
𝒅𝒙 𝒅𝒙 𝒅𝒙
𝑷𝒂𝒓𝒂 𝒚′′(𝟎) = 𝟏
>> dsolve('D3y-3*D2y+3*Dy-y=0','D2y(0)=1','x')
ans =
C26*x^2*exp(x) - exp(x)*(2*C26 + 2*C27 - 1) + C27*x*exp(x)
Nota.-Las variables a hallar deben ir dentro de corchetes ([]) y separadas por una coma (,), las
ecuaciones siempre deben estar dentro de comillas simples (‘) , y separadas por una coma(,)
entre ecuaciones
Ejemplo
𝒅𝒙
𝒅𝒕
=𝒚 𝒙′ (𝒕) = 𝒚(𝒕) , 𝒚′ (𝒕) = −𝒙(𝒕)
ó
𝒅𝒚
= −𝒙
𝒅𝒕
>> [x,y]=dsolve('Dx=y','Dy=-x','t')
x=
C28*cos(t) + C29*sin(t)
y=
C29*cos(t) - C28*sin(t)
Ejemplo
𝒅𝒙
𝒅𝒕
= −𝟐𝒙 − 𝟐𝒚 𝒙′ = −𝟐𝒙 − 𝟐𝒚 , 𝒚′ = −𝟐𝒚 + 𝒆−𝟐𝒕 √𝒕
ó
𝒅𝒚 −𝟐𝒕
𝒅𝒕
= −𝟐𝒚 + 𝒆 √𝒕
Nota.-Las variables a hallar deben ir dentro de corchetes ([]) y separadas por una coma (,), las
ecuaciones y condiciones siempre deben estar dentro de comillas simples (‘) , y separadas por
una coma(,) entre ecuaciones
Ejemplo
𝒅𝒙
= 𝒙 − 𝟐𝒚 𝒙′ = 𝒙 − 𝟐𝒚 , 𝒚′ = 𝟐𝒙 − 𝟑𝒚 Para y(0)=1 ; x(0)=5
𝒅𝒕
ó
𝒅𝒚
= 𝟐𝒙 − 𝟑𝒚
𝒅𝒕
>> [x,y]=dsolve('Dx=x-2*y','Dy=2*x-3*y','y(0)=1','x(0)=5','t')
x=
(exp(-t)*(16*t + 10))/2
y=
exp(-t)*(8*t + 1)
Ejemplo
𝒅𝒙
𝒅𝒕
= −𝟐𝒙 − 𝟐𝒚 𝒙′ = −𝟐𝒙 − 𝟐𝒚 , 𝒚′ = −𝟐𝒚 + 𝒆−𝟐𝒕 √𝒕
ó
𝒅𝒚
𝒅𝒕
= −𝟐𝒚 + 𝒆−𝟐𝒕 √𝒕 Para y(0)=4 ; x(0)=3
y=
(exp(-2*t)*((4*t^(3/2))/3 + 8))/2
SUSTITUCION DE VARIABLES
ejemplo.-
>> syms x a b c
>>f = a*x^2 + b*x + c;
>>g = subs(f,x,-1)
>>g =
a-b+c
ejemplo.-
>> syms x a b c k
>>f = a*x^2 + b*x + c;
>>g = subs(f,[a,b,c],[1,2,k])
>>g =
x^2 + 2*x + k
EVALUACION DE POLINOMIOS
polyval(coef, x);
Dónde:
coef vector que almacene los coeficientes del polinomio, en orden decreciente de grado.
ejemplo
>> coef=[2 0 1 -2]; %2*x^3+x-2
>> x=0:20;
>> polyval(coef,x)
ans =
Columns 1 through 4
-2 1 16 55
Columns 5 through 8
16018
RAICES DE POLINOMIOS
roots(p);
roots halla las raíces del polinomio p
Dónde:
p vector que almacene los coeficientes del polinomio, en orden decreciente de grado.
Ejemplo
>> p = [1 -1 -6]; %x^2 –x- 6=0
>> roots(p)
ans =
3
-2
Ejercicios propuestos
x 4 3x5 2 x 2 5
INVERSA DE UNA FUNCION
g = finverse(f,var)
Dónde:
g = finverse( f ) devuelve el inverso de la función f . Aquí f es una expresión o función de una variable
simbólica, por ejemplo, x . Entonces g es una expresión o función, de forma que f(g(x)) = x . Es
decir, finverse(f) devuelve f –1 , siempre f –1 existe.
g = finverse( f , var ) utiliza la variable simbólica var como la variable independiente. Entonces g es una
expresión o función, tal que f(g(var)) = var . Use este formulario cuando f contiene más de una variable
simbólica.
>> syms x
>> f (x) = 1 / tan (x);
>> g = finverse (f)
g(x) =
atan(1/x)
VECTORES Y MATRICES
+ adición o suma
– sustracción o resta
* multiplicación
' traspuesta
^ potenciación
\ división-izquierda
/ división-derecha
.* producto elemento a elemento
./ y .\ división elemento a elemento
.^ elevar a una potencia elemento a elemento
Vectores.-
Para poder definir un vector fila, es suficiente escribir sus coordenadas entre corchetes, separados
cada elemento del vector mediante un espacio o coma (,).
Ejemplo
>> v=[4 7 8]
v=
4 7 8
Operaciones con vectores
Ejemplo
>> a=[1 2 3 4]
a=
1 2 3 4
>> b=[7 8 9 4]
b=
7 8 9 4
>> c=a+b
c=
8 10 12 8
>> d=a-b
d=
-6 -6 -6 0
>> b'
ans =
7
8
9
4
>> e=a*b'
e=
66
Generar Vectores
v1=(x:n:y)
Dónde:
v1nombre del vector
xValor inicial
nintervalo
yValor final
Ejemplo
>> v1=(0:2:10)
v1 =
0 2 4 6 8 10
f=linspace(a,b,x)
Dónde:
fnombre del vector
aValor inicial
bValor final
xNúmero de elementos del vector
Ejemplo
>> a=linspace(0,10,6)
a=
0 2 4 6 8 10
v(n)
Dónde:
vNombre del Vector
nposición del vector
Ejemplo
>>a(2)
ans =
2
v(m:n)
Dónde:
vNombre del Vector
mposición inicial del vector desde donde va mostrar
nposición final del vector hasta donde va mostrar
Ejemplo
a=
0 2 4 6 8 10 12 14
>> a(1:4)
ans =
0 2 4 6
v(m:x:n)
Dónde:
vNombre del Vector
mposición inicial del vector desde donde va mostrar
nposición final del vector hasta donde va mostrar
xintervalo
Ejemplo
>> a=0:2:14
a=
0 2 4 6 8 10 12 14
>> a(1:3:7)
ans =
0 6 12
>> u=2:3:18
u=
2 5 8 11 14 17
>> u(1:3)
ans =
2 5 8
>> u(2:2:6)
ans =
5 11 17
>>
>> u(end-2:end)
ans =
11 14 17
>>
u([1,3,4])
ans =
2 8 11
Matrices.-
Las matrices se escriben como los vectores, pero separando las filas mediante un punto y coma (;).
Ejemplo
>> A = [ 1 2 3; 3 4 5; 6 7 8]
A=
1 2 3
3 4 5
6 7 8
FUNCIONES TIPICAS CON MATRICES
det: determinante de una matriz
inv, pinv: inversa y pseudoinversa
eig: obtención de auto valores
rank: rango de la matriz
trace: traza de la matriz
diag: produce un vector conteniendo los elementos de la diagonal de una matriz,
o si recibe un vector como parámetro, genera una matriz diagonal.
tril: devuelve la matriz triangular inferior de una matriz dada
triu: devuelve la matriz triangular superior de una matriz dada
7 8 9
>> b=[4 2 5; 7 8 9; 4 5 3]
b=
4 2 5
7 8 9
4 5 3
>> a.*b
ans =
4 4 15
28 40 54
28 40 27
Inversa de la Matriz b
Ejemplo
>> inv(b)
ans =
0.5385 -0.4872 0.5641
-0.3846 0.2051 0.0256
-0.0769 0.3077 -0.4615
Determinante de la Matriz b
Ejemplo
>> det(b)
ans =
-39.0000
Transpuesta de la Matriz b
Ejemplo
>> b'
ans =
4 7 4
2 8 5
5 9 3
Traza de la Matriz b
Ejemplo
>> trace(b)
ans =
15
Ejemplo
Crear una matriz 3×2 y otra de 2×3con los vectores u=[1,0,-3]; v=[4,1,-2];
Calcular el producto u.*v y cociente u./v elemento a elemento de los dos
vectores
>> u=[1,0,-3]; v=[4,1,-2];
>> A=[u',v']
A=
1 4
0 1
-3 -2
>> A=[u;v]
A=
1 0 -3
4 1 -2
>> u.*v
ans =
4 0 6
>> u./v
ans =
0.2500 0 1.5000
´
Crear estas dos matrices A y B sin inicializar cada elemento de la matriz, en una sola
línea en la ventana de comandos
>> A=[(1:5)',zeros(5,1),(-6:2:2)']
A=
1 0 -6
2 0 -4
3 0 -2
4 0 0
5 0 2
>> B=[1:2:11;0:5:25;10:10:60;-6:2:4]
B=
1 3 5 7 9 11
0 5 10 15 20 25
10 20 30 40 50 60
-6 -4 -2 0 2 4
Sea la matriz
>> u=[A(:,1);A(:,3);A(:,4)]
u=
0
-2
0
3
-1
-4
4
5
-3
>> u=[A(2,:),A(:,3)']
u=
-2 3 -1 5 1 3 -1 -4
Realizar las siguientes operaciones con lápiz y papel y comprobar luego con MATLAB
A*BT(el superíndice T indica traspuesta)
AT*B
A.*B (producto elemento a elemento)
A./B
>> A=[1,0,-1;4,-2,-3]
A=
1 0 -1
4 -2 -3
>> B=[1,-2,3;1,-1,2]
B=
1 -2 3
1 -1 2
>> A*B'
ans =
-2 -1
-1 0
>> A'*B
ans =
5 -6 11
-2 2 -4
-4 5 -9
>> A.*B
ans =
1 0 -3
4 2 -6
>> A./B
ans =
1.0000 0 -0.3333
4.0000 2.0000 -1.5000
6 43 2 11 87
A 12 6 34 0 5
34 18 7 41 9
Utilice la matriz A para:
a) Crear un vector fila de cinco elementos llamado va, que contenga los elementos de la
segunda fila de A.
b) Crear un vector fila de seis elementos llamado vb, que contenga los elementos de la
cuarta columna de A.
c) Crear un vector fila de diez elementos llamado vc, que contenga los elementos de la
primera y segunda fila de A.
d) Crear un vector fila de seis elementos llamado vd, que contenga los elementos de la
segunda a la quinta columna de A.
GRAFICAS EN 2D
plot(x,y,)
Dónde:
xCoordenada en el eje x
yCoordenada en el eje y
>> x=0:0.3:8;
>> y=(3*x-1)./(x-3);
>> plot(x,y)
plot(x,y,’col est’)
Dónde:
xCoordenada en el eje x
yCoordenada en el eje y
colSímbolo de color de trazo
estSímbolo de estilo de trazo
Nota.- El color de trazo y el estilo deben ir dentro de comillas simples (‘) y separados mediante un
espacio
Ejemplo:
>> x=[1 2 3]
x=
1 2 3
>> y=[1 2 3]
y=
1 2 3
Para graficar números complejos con el comando plot toma la parte real como dato en el eje x, y la
parte imaginaria como dato para el eje y
[0+0i,1+2i,2+5i,3+4i]
SOLUCION:
>> a=[0+0i,1+2i,2+5i,3+4i];
>> plot(a)
>> title('grafica 1 arreglo de numeros complejos');
>> xlabel('Parte Real');
>> ylabel('Parte Imaginaria');
>> grid
>> legend('arreglo de complejos');
Cuando graficamos 2 arreglos complejos con el comando plot, lo que hace es tomar la parte real
del primer arreglo como valores para el eje x, y la parte real del segundo arreglo como para
valores para el eje y
A=[0+0i,1+2i,2+5i,3+4i]
>> a=[0+0i,1+2i,2+5i,3+4i];
>> b=sin(a);
>> plot(a,b)
>> title('grafica de 2 arreglos de numeros complejos');
>> xlabel('parte real del 1er arreglo');
>> ylabel('parte real del 2do arreglo');
>> grid
>> legend('2 arreglos de complejos');
>> gtext('UMSS');
>> x=[1:10];
>> y=[58.5,63.8,64.2,67.3,71.5,88.3,90.1,90.6,89.5,90.4];
>> plot(x,y,':dr')
>> title('grafica de puntos');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('grafica');
>> gtext('cambio de dirección');
>> x=[1:10];
>> y=[58.5,63.8,64.2,67.3,71.5,88.3,90.1,90.6,89.5,90.4];
>> plot(x,y,'--r',x,y*2,'xc',x,y/8,'m*')
>> title('multiples graficas');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('x vs y','x vs 2y','x vs y/8');
𝒙𝟑 𝒙𝟓
𝒇(𝒙) = 𝒙 − +
𝟔 𝟏𝟐𝟎
>> x=linspace(0,2*pi,100);
>> y=sin(x);
>> y2=x-((x.^3)/6)+((x.^5)/120);
>> plot(x,y,'m',x,y2,'o')
>> grid
>> title('aproximacion de taylor para la funcion seno');
>> xlabel('eje x');
>> ylabel('eje y');
>> legend('sin(x)','aproximacion de taylor');
ezplot(f)
Donde:
f=función a graficar
ezplot(f,[a b])
Donde:
f=función a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
Ejemplo
Realice la gráfica de la f(x)=x3-1 en el intervalo de −𝟐 ≤ 𝒙 ≤ 𝟐
>> syms x
>> ezplot(x^3 -1,[-2 2])
fplot(‘f’,[a b])
Donde:
f=función a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
Ejemplo
Realice la gráfica de la función y=2x-3 en el intervalo de −𝟐 ≤ 𝒙 ≤ 𝟐
>> syms x
>> fplot('2*x-3',[-2 2])
Donde:
f=función a graficar
a=Punto de Inicio del intervalo
b= Punto final del intervalo
colSímbolo de color de trazo
estSímbolo de estilo de trazo
Ejemplo
Realice la gráfica de la función y=x2-3 en el intervalo de −𝟒 ≤ 𝒙 ≤ 𝟒
>> syms x
>> fplot('x^2 -3',[-4 4],'r --')
SUBFIGURAS
El comando subplot permite dibujar varias graficas en una misma ventana con el siguiente codigo
que es:
subplot(m,n,p)
Dónde:
mEs el número de filas en que se va dividir la ventana
nEs el número de columnas en que se va dividir la ventana
pNos indica en que posición vamos a grafica
Ejemplo
Realice la gráfica de la funciónes y=sen(X) y y1=cos(x) en el intervalo 𝟎 ≤ 𝒙 ≤ 𝟐𝝅
>> x = 0:0.1:2*pi;
>>y1 = sin(x);
>>y2 = cos(x);
>>subplot(2,1,1)
>>plot(x,y1,'r --')
>>title('y = sin(x)');
>>subplot(2,1,2)
>>plot(x,y2,'g --')
>>title('y = cos(x)');
SOLUCION
>> x=-1.5:0.1:1.5;
>> y=tan(x);
>> y1=sinh(x);
>> subplot(2,1,1)
>> plot(x,y);
>> title('grafica de tan(x)');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('tan(x)');
>> subplot(2,1,2);
>> plot(x,y1);
>> title('sinh(x)');
>> xlabel('eje x');
>> ylabel('eje y');
>> grid
>> legend('sinh(x)');
GRAFICAS LOGARITMICAS
loglog(x,y)
Dónde:
xCoordenada en el eje x
yCoordenada en el eje y
Ejemplo
𝟐
Realice la gráfica de la función 𝒚 = 𝟖 + 𝒆−𝒙 en el intervalo 𝟏 ≤ 𝒙 ≤ 𝟏𝟎
>> x=1:0.2:10;
>> y=8+exp(-x.^2);
>> loglog(x,y)
>> title('Grafica Logaritmica')
>> xlabel('Eje x')
>> ylabel('Eje y')
SOLUCION
>> x=0:0.01:3;
>> y=abs((exp(-0.5*x)).*sin(5*x));
>> subplot(2,2,1);
>> loglog(x,y);
>> title('grafica con loglog');
>> subplot(2,2,2);
>> semilogx(x,y);
>> grid
>> grid off
>> grid on
>> grid off
>> title('grafica con semilogx');
>> subplot(2,2,3);
>> semilogy(x,y);
>> title('grafica con semilogy');
>> subplot(2,2,4);
>> plot(x,y);
>> title('grafica normal');
Dónde:
x=Intervalo
y= Funcion
colSímbolo de color de trazo
estSímbolo de estilo de trazo
Ejemplo
Calcule la gráfica de la función r=1+cos(w) en el intervalo de 𝟎 ≤ 𝒘 ≤ 𝟐𝝅
>> w=0:0.1:2*pi;
>> r=1+cos(w);
>> polar(w,r)
EJERCICIO PROPUESTO
>> w=0:0.1:2*pi;
>> r=1-2*sin(3.*w);
>> polar(w,r);
GRAFICAS DE BARRAS
GRAFICAS EN 3D
Un grafico 3-D de línea esta constituido por una línea que se obtiene uniendo una serie de puntos
en un espacio tridimensional. La forma mas sencilla y básica de crear un grafico 3-D es mediante
la función plot3
plot3 (x,y,z,’col est’)
Dónde:
x,y,z=representan los vectores con las coordenadas de los puntos.
colSímbolo de color de trazo
estSímbolo de estilo de trazo
Ejemplo
Calcule la gráfica de los puntos, dentro del intervalo 𝟎 ≤ 𝒕 ≤ 𝟔𝝅
𝑥 = √𝑡 𝑠𝑒𝑛(2𝑡)
𝑦 = √𝑡 𝑐𝑜𝑠(2𝑡)
𝑧 = 0.5𝑡
>> t=0:0.1:6*pi;
>> x=sqrt(t).*sin(2*t);
>> y=sqrt(t).*cos(2*t);
>> z=0.5*t;
>> plot3(x,y,z,'g --')
>> grid
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
Ejemplo
Calcule la gráfica de los puntos, dentro del intervalo 𝟎 ≤ 𝒕 ≤ 𝟐𝟎
𝑦 = (2 + 4 cos(𝑡))cos(𝑡)
𝑥 = (2 + 4 cos(𝑡))𝑠𝑒𝑛(𝑡)
𝑧 = 𝑡2
>> t=0:0.01:20;
>> x=(2+4*cos(t)).*sin(t);
>> y=(2+4*cos(t)).*cos(t);
>> z=t.^2;
>> plot3(x,y,z)
>> grid
>> plot3(x,y,z)
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
Superficies de Malla
La función mesh dibuja superficies 3D a partir de matrices.
Ejemplo
𝟐
Dibujar la superficie 𝒛 = √𝒙𝟐 + 𝒚𝟐 en el [-2 2]
>>x = -2:0.1:2;
>>y = -2:0.1:2;
>> [x,y] = meshgrid(x,y); %crea matrices para la malla >> [x,y] = meshgrid(-2:0.1:2);
>>z=sqrt(x.^2 + y.^2); >> z=sqrt(x.^2 + y.^2);
>>mesh(x,y,z); %dibuja la grafica >>mesh(x,y,z);
Ejemplo
𝟐
Dibujar la superficie 𝒛 = √𝒙𝟐 + 𝒚𝟐 en el [-2 2]
Ejemplo
Dibujar al función
z=xy2x2+y2−1≤x≤3 1≤y≤4z=xy2x2+y2−1≤x≤3 1≤y≤4
>> x=-1:0.1:3;
y=1:0.1:4;
[X,Y]=meshgrid(x,y);
Z=(X.*Y.^2)./(X.^2+Y.^2);
mesh(X,Y,Z);
xlabel('X')
ylabel('Y')
zlabel('Z')
Ejercicio
PROGRAMACION EN MATLAB
MOSTRAR DATOS
disp('Mensaje a mostrar');
Ejemplo
disp('la suma es: ')
ESTRUCTURA CONDICIONAL IF
if condición
tareas
end
Ejemplo
x=0;
if x==0
disp('hola');
end
hola
if condición
tarea1
else
tarea2
end
Ejemplo
if x>0
disp('hola');
else
disp('chau');
end
chau
if condición1
tarea1
else if condicion2
tarea2
else if condicion3
tarea3
else
tarean
end
Ejemplo
x=-2;
if x>0
disp('hola')
elseif x==0
disp('chau')
else
disp('como estas')
end
como estas
switch switch_expresion
case case_expr1,
tarea1
case {case_expr2, case_expr3, case_expr4,...case_exprn}
tarean
...
Otherwise,
tarea_defecto
end
Ejemplo
x=3;
switch x
case 1,
disp('uno')
case 2,
disp('dos')
otherwise,
disp('error')
end
error
La estructura de repetición for, va repitiendo la tarea desde un valor inicial i, hasta un valor
final con incremento.
sintaxis.-
Ejemplo
for i=1:2:11
disp(i);
end
1
3
5
7
9
11
Ejemplo2
for i=1:4
for j=1:4
a(i,j)=i*j;
end
end
>> a
a=
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
while condicion
tarea
end
Ejemplo
s=1;
i=1;
while s<100
s=s*i;
i=i+1;
end
disp(s)
disp(i)
120
Archivos-M
Cuando el número de órdenes a ejecutar aumenta o cuando se desea cambiar el valor de una o más
variables y reevaluar una serie de instrucciones, MATLAB permite escribir y guardar dichas
instrucciones en un simple archivo de texto, de tal manera que si se lo invoca desde la ventana de
órdenes es ejecutado línea por línea como si hubiesen sido escritas en las líneas de la ventana de
órdenes.
La potencia de MATLAB reside en su capacidad para ejecutar una larga serie de comandos
almacenados en un archivo o fichero de texto. Estos ficheros reciben el nombre de Archivos-M ya
que sus nombres tienen la forma nombre_archivo.m.
Para elaborar un archivo-M de Script se hace clic en New del menú File y se selecciona
Script. Aparecerá una nueva ventana para la edición de texto donde se teclea la lista de
instrucciones de MATLAB. Para guardarlo como archivo-M en el disco, se hace clic en Save As
del menú File del editor y se agrega al nombre del archivo la extensión m.
Escribiendo simplemente el nombre del archivo (sin la extensión m) en la línea de orden
de MATLAB, se ejecutarán las órdenes contenidas en el archivo.
Nota:
Para hacer algún comentario en el editor de código el símbolo % delante de la línea de
código y matlab no leerá esa línea de código.
Para poder mostrar algún mensaje en matlab se escribe disp se abre un paréntesis y entre
comillas simples el texto que uno desea mostrar.
disp(‘texto a mostrar’)
Ejemplo.- Crear un Archivo-M para calcular el volumen de una esfera con radio 2.4
Ahora para poder modificar nuestro archivo, primero debemos ir al menú y clic en la opción de
open, buscamos nuestro archivo lo abrimos y lo podemos editar.
Procedemos a editar
Ejemplo.-
a) Confeccione un archivo–M que calcule el área del triángulo cuya base y altura miden
respectivamente 12.34cm y 7.82cm. Y guárdelo en el disco
b) Llámelo desde la ventana de orden para ver que obtiene.
c) Abra nuevamente el archivo haciendo clic en Open del menú file y luego de seleccionar el nombre
del archivo haga clic en Aceptar. Modifique los valores de la base=10 y altura=20 del triángulo,
guarde el archivo modificado y ejecútelo nuevamente desde la ventana de orden de MATLAB.
SOLUCION
INCISO A)
INCISO B)
Ejecutamos nuestro archivo
INCISO C)
PROCEDEMOS A MODIFICAR
Un Archivo-M tipo function también es una secuencia ordenada de comandos MATLAB pero, a
diferencia de los scripts, para su ejecución necesitará que se le introduzcan argumentos de entrada
y, como respuesta, generará argumentos de salida.
Las funciones le ayudan a programar eficientemente, lo que le permite evitar reescribir el código de
computación para cálculos que se realizan con frecuencia. Por ejemplo, la mayoría de los programas
de cómputo contienen una función que calcula el seno de un número. En MATLAB, sin es el nombre
de la función que se usa para llamar una serie de comandos que realizan los cálculos necesarios.
El usuario necesita proporcionar un ángulo y MATLAB regresa un resultado. No es necesario que el
programador sepa cómo MATLAB calcula el valor de sin(x).
Sintaxis
function[V1,V2,...,Vn]=nombre_archivo(a1,a2,...an)
Donde:
V1, V2, ...,Vn = son las variables de salida
a1, a2,...,ak = son los argumentos o variables de entrada, que serán asignadas en el mismo orden
al convocar la función.
Para empezar a crear una función lo primero es entrar al editor de Archivos-M del tipo función.
function s=sumar2(a,b)
%funcion que lee 2 numeros y muestra como resultado la suma
s=a+b;
disp('la suma es:')
end
Otra forma
Nota:
El comando input nos permite poder mostrar un mensaje y leer un dato y almacenarlo en una
variable.
Se escribe input se abre un paréntesis y entre comillas simples se escribe el texto que uno desea
mostrar
Ejem:
X=Input(‘mensaje’)
Donde:
X= Es una variable cualquiera donde se va almacenar el valor leído
‘mensaje‘= Es el mensaje que se muestra
function s=sumar3(a,b)
%esta es otra forma de sumar 2 numeros
%pero mostrando mensajes
a=input('ingrese el primer valor: ');
b=input('ingrese el segundo valor: ');
s=a+b;
disp('la suma es: ')
end
function y=Tsen(x,n)
%calcula el seno aproximado
xt=x*pi/180;
y=0;
for k=0:1:n-1
y=y+(-1)^k*xt^(2*k+1)/factorial(2*k+1);
end
>> Tsen(150,9)
ans =
0.5000
function y=Tcos(x,n)
%calcula la el coseno aproximado
xt=x*pi/180;
y=0;
for k=0:1:n-1
y=y+(-1)^k *xt^(2*k)/factorial(2*k)
end
>> Tcos(150,9)
ans =
-0.8660
Ejemplo:
Un silo con estructura cilíndrica de radio r posee una parte superior esférica de radio R. La altura
de la porción cilíndrica es H. Escribir un fichero script que determine la altura H a partir de los
valores r y R, y del volumen V. Además, el programa debe calcular el área de la superficie del silo.
Los datos conocidos son r=30 pies, R=45 pies y V=120000 pies3. Asignar estos valores
directamente en la ventana de comandos.
Solución.
El volumen total del silo se obtiene sumando el volumen de la parte cilíndrica y el de la parte
correspondiente al techo esférico. El volumen de un cilindro se calcula a partir de la expresión:
𝑉𝑐𝑖𝑙𝑖𝑛𝑑𝑟𝑜 = 𝜋𝑟 2 𝐻
1
𝑉𝑡𝑒𝑐ℎ𝑜 = 𝜋ℎ2 (3𝑅 − ℎ)
3
Donde:
𝑉 − 𝑉𝑡𝑒𝑐ℎ𝑜
𝐻=
𝜋𝑟 2
El área de la superficie del silo se calcula sumando el área de la parte esférica y el de la parte
cilíndrica:
A continuación se muestra el programa, en forma de fichero script llamado silo que resuelve el
problema propuesto.
donde:
%=Este símbolo marca el lugar donde se insertara el numero dentro del texto
>> silo
Ejemplo:
Calculo de un Polinomio
𝑭(𝒙) = 𝒙𝟓 − 𝟏𝟐. 𝟏𝒙𝟒 + 𝟒𝟎. 𝟓𝟗𝒙𝟑 − 𝟏𝟕. 𝟎𝟏𝟓𝒙𝟐 − 𝟕𝟏. 𝟗𝟓𝒙 + 𝟑𝟓. 𝟖𝟖
a) Calcular F(g)
b) Representar gráficamente F(x) entre -1.5≤ x ≤ 6.7
c) Raíces del polinomio
Solucion
>> polyval(p,6)
ans =
-146.5200
b) >> x=-1.5:0.1:6.7;
>> y=polyval(p,x);
>> plot(x,y)
r=
6.5000
4.0000
2.3000
-1.2000
0.5000
Ejemplo:
Escribir un programa, utilizando un fichero script, que calcule las coordenadas del centroide de un
área compuesta como el de la figura adjunta. Un área compuesta puede ser dividida en secciones
independientes cuyo centroide es conocido. El usuario necesita dividir el área en secciones y
conocer las coordenadas del centroide (dos números), asi como el área de cada sección (un
numero). Cuando se ejecute el script, este debe pedir al usuario que introduzca los tres números
como fila de una matriz. El usuario debe introducir tantas filas como secciones haya. Las secciones
que representan agujeros tendrán área negativa. Como salida, el programa debe mostrar
coordenadas del centroide del área compuesta. Los datos conocidos se indican en la figura.
Solución
El área se divide en seis secciones, como se muestra en la siguiente figura. El área total se calcula
sumando las tres secciones de la parte izquierda y restando las tres secciones de la derecha. La
localización y coordenadas del centroide de cada sección vienen marcadas en la figura, asi como el
área de cada sección.
𝐿𝑎𝑠 𝑐𝑜𝑜𝑟𝑑𝑒𝑛𝑑𝑎𝑠 → 𝑒 → 𝑑𝑒𝑙 𝑐𝑒𝑛𝑡𝑟𝑜𝑖𝑑𝑒 𝑑𝑒𝑙 𝑎𝑟𝑒𝑎 𝑡𝑜𝑡𝑎𝑙 𝑣𝑖𝑒𝑛𝑒𝑛 𝑑𝑎𝑑𝑎𝑠 𝑝𝑜𝑟:
𝑋 𝑌
A continuacion se muestra el fichero script que calcula las coordenadas del centroide de un area
compuesta. Este fichero se ha guardado en disco con el nombre de Centroide.
Ejemplo
Suma:
Dos polinomios pueden ser sumados o restados sumando o restando sus vectores de coeficientes.
Si los polinomios no tienen el mismo grado (los vectores de coeficiente tienen distinto tamaño), el
vector más corto debe ser modificado, añadiendo ceros por la izquierda, para que tenga la misma
longitud que el vector más largo. Por ejemplo, los polinomios:
𝒇𝟐(𝒙) = 𝟑𝒙𝟑 − 𝟐𝒙 − 𝟔
p=
3 15 0 -7 -3 13 -46
Multiplicación:
Para multiplicar dos polinomios se utiliza la función conv de MATLAB, cuya sintaxis es la siguiente:
c=conv(a,b)
Donde:
a y b = son vectores que contienen los coeficientes de los polinomios a multiplicar
c= es un vector que contiene los coeficientes del polinomio producto, resultado de la
multiplicación
En el caso de la multiplicación, los polinomios no tienen por qué ser del mismo grado
La multiplicación de tres o mas polinomios se lleva a cabo mediante el uso repetitivo de la función
conv
Por ejemplo, el producto de los polinomios f1(x) y f2(x) anteriores da como resultado
pm =
9 45 -6 -78 -99 65 -54 -12 -10 240
División:
Para dividir un polinomio entre otro se utiliza la función deconv, cuya sintaxis es la siguiente:
[q,r]=deconv(u,v)
Donde:
u = es un vector que contiene los coeficientes de polinomio numerador
v= es un vector con los coeficientes del polinomio denominador
q= es un vector que contiene los coeficientes del polinomio cociente de la división
r= es un vector que contiene los coeficientes del polinomio resto de la división
Por ejemplo, la división de 𝟐𝒙𝟑 + 𝟗𝒙𝟐 + 𝟕𝒙 − 𝟔 entre x+3 se puede llevar a cabo de la
siguiente forma:
>> u=[2 9 7 -6];
>> v=[1 3];
>> [a,b]=deconv(u,v)
a=
2 3 -2 %El resultado (cociente) de la operación es el polinomio: 𝟐𝒙𝟐 + 𝟑𝒙 − 𝟐
b=
0 0 0 0 %El resto de la división es cero
Veamos a continuación otro ejemplo de división con resto distinto de cero. Se trata de
dividir el polinomio 𝟐𝒙𝟔 − 𝟏𝟑𝒙𝟓 + 𝟕𝟓𝒙𝟑 + 𝟐𝒙𝟐 − 𝟔0 entre 𝒙𝟐 − 𝟓
>> w=[2 -13 0 75 2 0 -60];
>> z=[1 0 -5];
>> [g,h]=deconv(w,z)
g=
2 -13 10 10 52 %El cociente es: 𝟐𝒙𝟒 − 𝟏𝟑𝒙𝟑 + 𝟏𝟎𝒙𝟐 + 𝟏𝟎𝒙 + 𝟓𝟐
h=
0 0 0 0 0 50 200 %El resto es:𝟓𝟎𝒙 − 𝟐𝟎𝟎
50𝑥+200
Es decir, el resultado de la división es: 2𝑥 4 − 13𝑥 3 + 10𝑥 2 + 10𝑥 + 52 +
𝑥 2 −5
Ejemplo
Las dimensiones exteriores de una caja rectangular (el fondo y las cuatro caras, excluyendo la
parte superior) fabricada de aluminio son 24 x 12 x 4 pulgadas. El grosor del fondo y de las caras
de la caja es x. Deducir una expresión que relacione el peso de la caja con su grosor x. Calcular el
grosor x para una caja que pesa 15 libras. El peso específico del aluminio es 0.101
libras/pulgadas3.
Solucion
El volumen del aluminio VAl se puede calcular a partir del peso W de la caja, de la forma:
𝑊
𝑉𝐴𝑙 =
𝜌
Donde:
VAl=es el volumen del aluminio
𝜌 = es el peso especifico
Por tanto, el volumen del aluminio a partir de las dimensiones de la caja vendra dada por:
Donde el volumen interior de la caja se resta al volumen exterior. Esta ecuacion puede escribirse
de la siguiente forma:
Que es un polinomio de tercer grado. Una de las raices del polinomio sera el valor del grosor x de
la caja. El siguiente programa script calcula este valor:
como puede comprobarse, a partir de la segunda linea hasta el final, para poder sumar Vin y VAl-
24*12*4, esta ultima expresion se debe representar como polinomio de grado identico al de Vin,
ya que Vin es un polinomio de tercer grado. Cuando se guarda (grosor) y se ejectura el script, se
visualizara el valor calculado x:
>> grosor
x=
10.8656 + 4.4831i
10.8656 - 4.4831i
0.2687
%El polinomio tiene una raiz real, x=0.2687 pulgadas, que se corresponde con el valor del grosor
de las paredes de aluminio de la caja.
Ejemplo:
Una esfera de aluminio de pared delgada se utiliza como boya de señalización. La esfera tiene un
radio de 60 cm, y el grosor de la pared de aluminio, cuya densidad es 𝜌𝐴𝑙 = 2690 𝑘𝑔/𝑚3, es de
12 mm. La boya esta situada en el oceano, donde la densidad del agua es de 1030 kg/m3. Calcular
la altura h entre la parte superior de la boya y la superficie del agua.
Solucion
Según el principio de Arquimides, la fuerza ascencional de empuje que se aplica a un cuerpo
sumergido en un fluido es igual al peso del fluido desplazado por el cuerpo en cuestion. Entonces,
la esfera de aluminio estara sumergida a una profundidad tal que el peso de la esfera sera igual al
peso del fluido desplazado por la parte de la esfera que esta sumergida en el agua.
4
𝑊𝑒𝑠𝑓𝑒𝑟𝑎 = 𝜌𝐴𝑙 ∗ 𝑉𝐴𝑙 ∗ 𝑔 = 𝜌𝐴𝑙 ( ) 𝜋(𝑟𝑜 3 − 𝑟𝑖 3 )𝑔
3
Donde:
VAl=es el volumen del aluminio
g= es la aceleracion de la gravedad
El peso del agua desplazado por la parte de la esfera que esta sumergida vendra dado por:
1
𝑊𝑎𝑔𝑢𝑎 = 𝜌𝑎𝑔𝑢𝑎 ∗ 𝑉𝑎𝑔𝑢𝑎 ∗ 𝑔 = 𝜌𝑎𝑔𝑢𝑎 ( ) 𝜋(2𝑟 − ℎ)𝑔(𝑟𝑜 + ℎ)𝑔
3
𝜌𝐴𝑙
ℎ3 − 3𝑟𝑜 ℎ2 + 4𝑟𝑜 3 − 4 (𝑟𝑜 3 − 𝑟𝑖 3 ) = 0
𝜌𝑎𝑔𝑢𝑎
Esta ecuacion es un polinomio de tercer grado con h como incognita. La raiz de dicho polinomio
sera la solucion al problema.
Con MATLAB se puede obtener la solucion escribiendo el polinomio y utilizando la funcion roots
para calcular el valor de h. A continuacion se muestra el codigo correspondiente a esta solucion:
rexterior=0.60; rinterior=0.588; %asigna valores a los radios
rhoalum=2690;rhoagua=1030; %asigna las densidades a las variables
a0=(4*rexterior^3)-(4*rhoalum*(rexterior^3 -rinterior^3)/rhoagua);
%calcula el coeficiente a0
p=[1 -3*rexterior 0 a0]; %asigna los coeficientes del polinomio
h=roots(p) %calcula las raices del polinomio
Una vez que se ejecuta el fichero en la ventana de comandos (guardado como boya). MATLAB
muestra tres posibles valores para la solucion h, ya que el polinomio calculado es de tercer grado.
Sin embargo, la unica solucion posible para este problema es h=0.9029 m
>> boya
h=
1.4542
0.9029
-0.5570