Sei sulla pagina 1di 31

Instituto Tecnológico Superior de Irapuato

INSTITUTO TECNOLÓGICO
SUPERIOR DE IRAPUATO

Coordinación de Ingeniería Electromecánica

Manual básico de MATLAB


para Ciencias Básicas

M.I. Jose Miguel Garcia Guzmán

Irapuato, Gto. Octubre de 2013


Instituto Tecnológico Superior de Irapuato

Contenido
1. Introducción...................................................................................................................1
2. Cálculo numérico en MATLAB....................................................................................2
3. Constantes especiales en MATLAB..............................................................................3
4. Funciones matemáticas comunes..................................................................................3
5. Operaciones aritméticas de arreglos elemento por elemento u operaciones
escalares.................................................................................................................................4
6. Funciones trigonométricas...............................................................................................6
7. Ecuaciones hiperbólicas................................................................................................7
8. Operaciones con números complejos...........................................................................7
9. Funciones polinómicas......................................................................................................8
9.1 Evaluación de polinomios.............................................................................................8
9.2 Operaciones con polinomios.........................................................................................9
9.3 Raíces de polinomios..................................................................................................10
9.4 Gráficas de polinomios................................................................................................11
10. Gráficas de funciones....................................................................................................11
10.1 Gráficas de coordenadas polares...............................................................................12
10.2 Gráficas en tres dimensiones.....................................................................................12
11. Funciones de análisis de datos......................................................................................14
11.1 Histogramas...............................................................................................................16
12. Operaciones de álgebra lineal.................................................................................17
13. Cálculo simbólico..........................................................................................................18
13.1 Simplificación de expresiones simbólicas................................................................19
13.2 Operaciones simbólicas.............................................................................................20
14 . Solución de ecuaciones y sistemas de ecuaciones................................................21
15. Cálculo diferencial e integral.......................................................................................22
15.1 Límites......................................................................................................................22
15.2 Derivadas..................................................................................................................23
15.3 Integrales...................................................................................................................24
16. Series y sumas................................................................................................................26

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

17. Referencias Bibliográficas............................................................................................28

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

1. Introducción

Las ciencias básicas juegan un papel sumamente importante en la formación de


estudiantes de ingeniería, ya que la mayoría las asignaturas posteriores referentes con
aspectos técnicos propios de las ingenierías están sustentadas en la aplicación de las
ciencias básicas. Por lo anterior, es imprescindible que el estudiante desarrolle las
competencias asociadas a tales ciencias para desarrollar una formación profesional
exitosa. Actualmente han surgido y evolucionado diversos lenguajes de programación y
herramientas de cálculos matemáticos como MATLAB, Mathematica, MATHCAD y
Maple, por mencionar algunos, los cuales facilitan la comprensión y aplicación de las
ciencias básicas y por consiguiente el desarrollo del saber y del hacer del estudiante.

Matlab es un software típico utilizado en los programas de ingeniería en diversas


universidades a nivel mundial. En un principio, el software de MATLAB se desarrolló
como un “Laboratorio de Matrices”. Ahora, MATLAB tiene capacidades que superan
por mucho a las del original al ser un sistema interactivo y lenguaje de programación
para cómputo científico y técnico general. Esto se traduce en una poderosa herramienta
que permite realizar numerosos y complicados cálculos, así como diversas
representaciones gráficas.

El objetivo de este manual es otorgar a los estudiantes de ingeniería los elementos


básicos para el manejo de MATLAB que le permitan comprender “los conceptos
abstractos” de las ciencias básicas, comprobar los resultados, así como reforzar y aplicar
sus conocimientos en la solución de problemas de ingeniería.

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

2. Cálculo numérico en MATLAB

La jerarquía de los operadores aritméticos en MATLAB es la misma que en el lenguaje


de alto nivel C y se resume en la siguiente tabla.

Tabla 1: Jerarquía de los operadores aritméticos de MATLAB.


Operador
Prioridad Nombre MATLAB
aritmético
1º Potencia ^ x ^ y

2º Producto * x * y
/ x / y
Cociente
3º Adicción + x + y
– x – y
Sustracción
4º Asignación = x = 2 + 3

Como es de esperarse, el uso de paréntesis puede modificar la jerarquía de operadores


aritméticos.

Ejemplo. Al introducir 2+3 y ENTER en la ventana principal de MATLAB obtenemos:


>> 2+3

ans =

Ejemplo. En cambio, si introducimos 2+3; y ENTER tendremos solamente:


>> 2+3;

Es decir, MATLAB hará la evaluación directa y no arrojará el valor o resultado de la


misma.

MATLAB también realiza evaluaciones por asignación:

Ejemplo. Si tecleamos x=2+3 y ENTER tendremos:


>> x=2+3

x =

Si deseamos limpiar la pantalla de los cálculos que hemos hecho, escribiremos clc.

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

3. Constantes especiales en MATLAB

Algunas constantes que MATLAB reconoce son:

 pi = 3.1416

 i, j = Número imaginario.

 Inf = Infinito ∞

Es importante observar que estas constantes se escriben con minúsculas.

4. Funciones matemáticas comunes

MATLAB tiene algunas funciones matemáticas comunes de expresiones con números


reales, entre las cuales se encuentran las siguientes:

 abs(x): Valor absoluto de x, │x│.

Cuando se trabaja en el Comand Window, dada vez que se escribe ENTER


aparecerá el signo del prompt (>>).
>> abs(-3.5)

ans =

3.5

 sqrt(x): Raíz cuadrada de x.


>> sqrt(9)

ans =

 round(x): Redondeo de x al entero más cercano.


>> round(3.1)

ans =

 fix(x): Redondea (o trunca) x al entero más cercano a cero.

 >> fix(3.9)

 ans =
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

 floor(x): Redondea x al entero más cercano a -∞.


>> floor(-3.5)

ans =

-4

 ceil(x): Redondea x al entero más cercano a +∞.


>> ceil(-3.5)

ans =

-3

 sign(x): Devuelve el valor de –1 si x es menor que 0, un valor de 0 si x es


igual a 0 y un valor de 1, si x es mayor que 0.
>> sign(3.5)

ans =

 rem(x1,x2): División módulo, donde x1 es el dividendo y x2 es el divisor.


>> rem(7,3)

ans =

 exp(x): Calcula donde e, es la base de los logaritmos naturales (2.718282...)

 log(x): Calcula ln(x), el logaritmo natural de x.

 log10(x): Calcula el logaritmo común de x con base 10.

Se recomienda que el lector ejecute las últimas funciones a manera de ejercicio con
el fin de obtener un mejor resultado en su comprensión.

5. Operaciones aritméticas de arreglos elemento por elemento


u operaciones escalares

En MATLAB, para definir un vector pueden emplearse un espacio en blanco o bien una
coma como separadores.

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

Ejemplo. Para introducir los vectores A y B donde A=(2,5,6) y B=(2,3,5), escribimos


>> A = [ 2 5 6];

>> B = [ 2, 3, 5];

En el caso de las matrices para indicar que se desea pasar al siguiente renglón se escribe
el punto y coma.

Ejemplo. Para introducir las matrices C y D de 3x3, tenemos:


>> C = [ 2 5 7; 0 1 0; -1 2 3];
>> D = [ 0 6 1; -2 8 7; -1 1 0];

Sobre los arreglos se definen las operaciones aritméticas:

 Adición.

 Sustracción.

 Producto por un escalar.

 Suma escalar.

 Producto de matriz por matriz.

 Potencia.

Obviamente, para realizar el producto entre vectores es necesario que la dimensión de


los mismos sea la adecuada, mientras que para la operación potencia es necesario que
las matrices sean cuadradas.

Ejemplo.
>> A = [ 2 5 6];

>> B = [ 2, 3, 5];

>> A+B

ans =

4 8 11

>> A-B

ans =

0 2 1

>> 3*A

ans =

6 15 18

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

>> 1+A

ans =

3 6 7

Las operaciones aritméticas elemento por elemento, también llamadas operaciones


escalares de matrices o vectores, hacen necesario escribir un punto antes del operador
aritmético en cuestión.

Ejemplo. Evaluar las siguientes operaciones en MATLAB, donde A = (2,5,6) y


B=(2,3,5).

1. A*B=[2(2),5(3),6(5)]
>> A.*B

ans =

4 15 30

2. A2=[22,52,62]
>> A.^2

ans =

4 25 36

3.

>> 1./A

ans =

0.5000 0.2000 0.1667

4.

>> A./B

ans =

1.0000 1.6667 1.2000

5.

>> A/2
ans =

1.0000 2.5000 3.0000

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

6. Funciones trigonométricas

Las siguientes funciones operan sobre ángulos expresados en radianes:

 sin(x): Seno de x.

 cos(x): Coseno de x.

 tan(x): Tangente de x.

 asin(x): Arco seno de x.

 acos(x): Arco coseno de x. Devuelve un ángulo en radianes entre 0 y π.

 atan(x): Arco tangente de x. Devuelve un ángulo en radianes entre -π/2 y π/2.

Las demás funciones trigonométricas pueden calcularse empleando las siguientes


ecuaciones:

7. Ecuaciones hiperbólicas

Las funciones hiperbólicas son funciones de la función exponencial natural; las


funciones hiperbólicas inversas son funciones de la función de logaritmo natural. A
continuación se describen brevemente las funciones hiperbólicas de MATLAB.

 sinh(x): Seno hiperbólico de x.

 cosh(x): Coseno hiperbólico de x.

 tanh(x): Tangente hiperbólica de x.

 asinh(x): Arco seno hiperbólico de x, (seno hiperbólico inverso).

 acosh(x): Arco coseno hiperbólico de x (coseno hiperbólico inverso).

 atanh(x): Arco tangente hiperbólico de x (tangente hiperbólico inverso),

8. Operaciones con números complejos

Un número complejo puede expresarse de la forma a+bi, donde a es la parte real del
número y b es el constante de la parte imaginaria. Si A y B son números complejos
definidos como se mencionó, sobre dichos números complejos se definen las siguientes

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

operaciones: suma, resta, multiplicación y división. En MATLAB un número complejo


se almacena en dos variables (la real y la imaginaria) y los comandos de MATLAB
suponen que i representa la parte imaginaria, a menos que se haya dado a i un valor
distinto.

Ejemplo. La variable compleja puede definirse a través del siguiente comando:


>> z = 1 - i * 0.5;

Otra manera de definirlo es simplemente como se muestra.


>> z = 1 - 0.5i;

Las operaciones aritméticas con números complejos pueden realizarse a través de los
siguientes comandos:

9. conj(j) Calcula el conjugado de z.


10. real(z) Calcula la parte real de z.
11. imag(z) Calcula la parte imaginaria de z.
12. abs(z) Calcula el valor absoluto o magnitud de z.

9. Funciones polinómicas

En MATLAB, el polinomio f = 3x4-7x3+x-9 se define de la siguiente manera:


>>f = 3 * x ^ 4 - 7 * x ^ 3 + x -9;

9.1 Evaluación de polinomios

Los polinomios pueden evaluarse con la función polyval(a, x), donde a es la lista de
coeficientes de polinomio x.

Ejemplo. Defina el vector de coeficientes del polinomio .

>>a = [ 3, -7, 0, 1, -9]

Para evaluar polinomios con la función polyval(a,x) es necesario indicar, además de la


lista de coeficientes, el dominio de x y los incrementos en el intervalo sobre los que se
evaluará el polinomio. Para ello, escribimos:
x= inicio_intervalo:incremento:fin_intervalo;

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

Ejemplo. Evaluar el polinomio f = -x4+3x3-2.5x2-2.5 en el intervalo [0,5] con


incrementos de 0.1. MATLAB arroja 51 evaluaciones debido a que el intervalo incluye
al cero.

>> a = [-1, 3, -2.5, 0, -2.5];


>> x =0:0.1:5;
>> polyval(a,x)
ans =
Columns 1 through 13
-2.5000 -2.5221 -2.5776 -2.6521 -2.7336 -2.8125 -2.8816
-2.9361 -2.9736 -2.9941 -3.0000 -2.9961 -2.9896
Columns 14 through 26
-2.9901 -3.0096 -3.0625 -3.1656 -3.3381 -3.6016 -3.9801
-4.5000 -5.1901 -6.0816 -7.2081 -8.6056 -10.3125
Columns 27 through 39
-12.3696 -14.8201 -17.7096 -21.0861 -25.0000 -29.5041 -34.6536
-40.5061 -47.1216 -54.5625 -62.8936 -72.1821 -82.4976
Columns 40 through 51
-93.9121 -106.5000 -120.3381 -135.5056 -152.0841 -170.1576 -189.8125
-211.1376-234.2241 -259.1656 -286.0581 -315.0000

Si hacemos la asignación g=polyval(a,x), g guardará la evaluación de cada x y, por


supuesto, x=0:0.1:5 almacena en x los valores en el dominio sobre los cuales se evaluó
el polinomio. En otras palabras, g almacena el codominio y x el dominio. Conviene
recordar esto para graficar polinomios, tema en que se ahondará en siguientes secciones.

9.2 Operaciones con polinomios


Las operaciones con polinomios se realizan con la misma lógica que hemos seguido
hasta ahora:

Ejemplo. Sean g = x4-3x2-x+2.4 y h = 4x3-2x2+x-16, realice las operaciones siguientes:


g+h, g-h y 3g.
>>g = [ 1, 0, -3, -1, 2.4];
>>h = [ 0, 4, -2, 5, -16];
>> g+h
ans =
1.0000 4.0000 -5.0000 4.0000 -13.6000
>> g-h

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

ans =
1.0000 -4.0000 -1.0000 -6.0000 18.4000
>> 3*g
ans =
3.0000 0 -9.0000 -3.0000 7.2000

A su vez, s, t, y u son vectores que pueden ser evaluados para x.

Para el producto de polinomios se emplea el comando conv(a, b) donde a y b son


vectores de coeficientes.

Ejemplo. Con los polinomios anteriores calcular el producto g*h.


>> p=conv(g,h)
p =
0 4.0000 -2.0000 -7.0000 -14.0000 -3.4000 38.2000
28.0000 -38.4000

Para el cociente se usa la función o comando [q,r]=deconv(n,d), la cual devuelve dos


vectores de coeficientes, el primero contiene los coeficientes del cociente y el segundo
los coeficientes del residuo.

Ejemplo. Con los polinomios anteriores calcular el producto g/h.


>> [q,r]=deconv(h,g)
q =
0
r =
0 4 -2 5 -16

9.3 Raíces de polinomios

La función de MATLAB para determinar las raíces de un polinomio es roots(a) donde


a, es el vector de coeficientes del polinomio.

Ejemplo. Sea p = x3-2x2-3x+10 , obtenga sus raíces.


Puede hacerse:
>> p=[ 1, -2, -3, 10 ];
>> roots(p)
ans =
-2.0000
2.0000 + 1.0000i
2.0000 - 1.0000i

O directamente:

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

>> roots([ 1, -2, -3, 10 ])


ans =
-2.0000
2.0000 + 1.0000i
2.0000 - 1.0000i

Para comprobar que estas son las raíces del polinomio, se sustituyen en el comando
polyval(p,r).

9.4 Gráficas de polinomios


En general, para graficar un polinomio es necesario realizar los siguientes pasos:

1. Definir el polinomio a través de un vector de coeficientes.

2. Generar en un arreglo los valores del dominio.

3. Generar el contradominio y guardarlo en un arreglo.

4. Graficar el dominio x contra el contradominio y usando el comando plot(x,y).

Ejemplo. Graficar .

>> a=[ -1, 7, 0, 6,-12 ];


>> x=-5:0.1:5;
>> y=polyval(a,x);
>> plot(x,y);
>> title('Gráfica de un polinomio')
>> xlabel ('Dominio')
>> ylabel ('Codominio')
>> grid

Los comandos title('Gráfica de un polinomio'), xlabel('Dominio'),

ylabel('Codominio') arrojan el título, la etiqueta del eje x y la etiqueta del eje y,


respectivamente. La instrucción grid genera las líneas punteadas que se aprecian en la
gráfica.

10. Gráficas de funciones

Anteriormente a un polinomio se le ha definido a través de un valor de coeficientes. Por


ejemplo, en el polinomio f = 2x2-3x el vector de coeficientes es [2,-3,0]. Para graficar
este polinomio y tomando considerando x con incrementos de 0.1, escribimos en
MATLAB los siguientes comandos:
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

>> a = [2, -3, 0] ;


>> x = 0: 0.1: 5 ;
>> y=polyval(a,x);
>> plot(x,y);
>> title('Gráfica de función una variable')
>> xlabel('Dominio')
>> ylabel('Codominio')
>> grid

Otra manera de obtener la misma gráfica es introducir directamente la función, lo cual


se muestra a continuación:
>> x = 0:0.1: 5 ;
>> f=2*x.^2-3*x;
>> plot(x,f);
>> title('Gráfica de función de una variable')
>> xlabel('Dominio')
>> ylabel('Codominio')
>> grid

10.1 Gráficas de coordenadas polares


El comando MATLAB que genera una gráfica polar partiendo de los vectores theta yr
es polar(theta,r), el cual genera una gráfica usando los índices del vector r como los
valores de theta.

Ejemplo. Genere la gráfica polar donde los valores del ángulo van de 0 a 2 y el radio

aumenta de 0 a 1.
>> theta=0:2*pi/100:2*pi;
>> r=theta/(2*pi);
>> polar(theta,r);
>> title('Gráfica polar')

10.2 Gráficas en tres dimensiones


Para evaluar una función de dos variables f(x,y), es necesario definir primero una
retícula bidimensional en el plano xy. A continuación se evalúa la función en los puntos
de la retícula para determinar los puntos de una superficie tridimensional.
Para definir una retícula bidimensional en el plano xy en MATLAB se utilizan dos
matrices, una con las coordenadas x de todos los puntos de la retícula y otra con todas
las coordenadas de y.

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

Por ejemplo, supongamos que queremos definir una retícula bidimensional en donde x
varía de -2 a 2 en incrementos de 1 e y varía de -1 a 2 en incrementos de 1.
La matriz correspondiente de valores x de la retícula es la siguiente:
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
y para y se tiene:
-1 -1 -1 -1 -1
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
La combinación de ambas matrices genera los puntos de la retícula xy:
(-2,-1) (2,-1)
(-2, 2) (2, 2)
que son las esquinas de la retícula.

La instrucción [x_grid,y_grid]=meshgrid(x,y) genera dos matrices x, y para


conformar la retícula bidimensional. Las matrices son de tamaño m x n, con base en los
valores de los vectores x e y que contienen m-valores y n-valores respectivamente. La
matriz x_grid contiene los valores de x repetidos en cada fila, y la matriz y_grid

contiene los valores de y repetidos en cada columna.

Los comandos para generar gráficas en tercera dimensión de MATLAB son los
siguientes:
 mesh(x,y,z): Gráfica de malla.

 surf(x,y,z): Gráfica de superficie.

 contour(x,y,z): Gráfica de contorno.

 meshc(x,y,z): Gráfica de malla/contorno.


Ejemplo. Elabore las correspondientes gráficas de la función de dos variables z = 1/
(x2+y2) considerando los intervalos [-2,2] y [-1,2] en incrementos de 0.1

1. Gráfica de malla.
>> x=-2:0.1:2;
>> y=-1:0.1:2;
>> [x_grid,y_grid]=meshgrid(x,y);
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

>> z = 1./(1 + x_grid.^2 + y_grid.^2);


>> mesh(x,y,z);
>> title('Gráfica de malla');
>> xlabel('X');
>> ylabel('Y');
>> zlabel('Z');

2. Gráfica de superficie.
>> x=-2:0.1:2;
>> y=-1:0.1:2;
>> [x_grid,y_grid]=meshgrid(x,y);
>> z = 1./(1 + x_grid.^2 + y_grid.^2);
>> surf(x,y,z);
>> title('Gráfica de superficie');
>> xlabel('X');
>> ylabel('Y');
>> zlabel('Z');

3. Gráfica de contorno.
>> x=-2:0.1:2;
>> y=-1:0.1:2;
>> [x_grid,y_grid]=meshgrid(x,y);
>> z = 1./(1 + x_grid.^2 + y_grid.^2);
>> contour(x,y,z);
>> title('Gráfica de contorno');
>> xlabel('X');
>> ylabel('Y');
>> grid

4. Gráfica de malla/contorno.
>> x=-2:0.1:2;
>> y=-1:0.1:2;
>> [x_grid,y_grid]=meshgrid(x,y);
>> z = 1./(1 + x_grid.^2 + y_grid.^2);
>> meshc(x,y,z);
>> title('Gráfica de malla/contorno');
>> xlabel('X');
>> ylabel('Y');
>> zlabel('Z');

11. Funciones de análisis de datos

Para evaluar un conjunto de datos recabados de un experimento se tienen las siguientes


funciones en MATLAB. Considerando que x es un arreglo tipo vector.
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

sort(x) Ordena ascendentemente los elementos del arreglo x.


max(x) Determina el valor más grande contenido en x.
min(x) Determina el valor menor contenido en x.
sum(x) Determina la suma de los elementos de x:

prod(x) Determina el producto de los elementos de x:


mean(x) Determina la media del arreglo x:
median(x) Determina la mediana del arreglo x.
std(x) Determina la desviación estándar de x:

La varianza de un arreglo puede calcularse como std(x)^2.

Ejemplo.

1. Ordene ascendentemente los elementos del arreglo y determine los valores


máximo y mínimo.
>> x=[2.2,5,8.8,4.3,7.3];
>> sort(x)
ans =
2.2000 4.3000 5.0000 7.3000 8.8000
>> max(x)
ans =
8.8000
>> min(x)
ans =
2.2000
>> sum(x)
ans =
27.6000
>> prod(x)
ans =
3.0386e+003

2. Determine la suma y el producto de los elementos del vector.


>> x=[2.2,5,8.8,4.3,7.3];
>> sum(x)
ans =
27.6000
>> prod(x)

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

ans =
3.0386e+003

Ejemplo. Determine la media, la mediana, la desviación estándar y la varianza del


vector .

>> x=[3.5, 6.1, 9.8, 4.6, 3.5, 8.9, 3.1, 3.5];


>> mean(x)
ans =
5.3750
>> median(x)
ans =
4.0500
>> std(x)
ans =
2.6418
>> std(x)^2
ans =
6.9793

11.1 Histogramas
En MATLAB, el histograma calcula el número de valores que caen en 10 intervalos
espaciados equitativamente entre los valores mínimo y máximo de un conjunto de
valores, a menos que se le indique otra cosa. El histograma muestra no sólo los valores
mismos sino además permite observar la forma en que están distribuidos. Los comandos
para generar histogramas en MATLAB son:

hist(x) Genera un histograma de los valores de x usando 10 intervalos.

hist(x,n) Genera un histograma de los valores de x usando n intervalos.

Ejemplo. Obtenga el histograma en 10 y en 8 intervalos del siguiente conjunto de


valores:

1.85 1.86 2.02 2.10 1.96 1.90 1.96 1.97 1.87 1.90
1.95 1.96 1.85 2.13 2.01 2.17 2.06 2.09 1.98 1.89
1.90 1.86 1.96 2.08 2.02 2.13 2.15 2.20 2.09 2.04
2.07 1.87 1.90 1.93 1.86 2.15 2.17 2.01 2.04 2.06
1.89 1.87 1.90 1.97 1.94 1.97 2.00 2.09 2.08 1.87
Para el histograma de 10 intevalos:
>> x=[ 1.85 1.86 2.02 2.10 1.96 1.90 1.96 1.97 1.87 1.90 1.95 1.96 1.85 2.13
2.01 2.17 2.06 2.09 1.98 1.89 1.90 1.86 1.96 2.08 2.02 2.13 2.15 2.20 2.09

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

2.04 2.07 1.87 1.90 1.93 1.86 2.15 2.17 2.01 2.04 2.06 1.89 1.87 1.90 1.97
1.94 1.97 2.00 2.09 2.08 1.87];
>> hist(x)
>> title('Histograma con 10 intervalos')
>> xlabel('Valor')
>> ylabel('Frecuencia')

Y para el histograma de 8 intervalos:


>> x=[ 1.85 1.86 2.02 2.10 1.96 1.90 1.96 1.97 1.87 1.90 1.95 1.96 1.85 2.13
2.01 2.17 2.06 2.09 1.98 1.89 1.90 1.86 1.96 2.08 2.02 2.13 2.15 2.20 2.09
2.04 2.07 1.87 1.90 1.93 1.86 2.15 2.17 2.01 2.04 2.06 1.89 1.87 1.90 1.97
1.94 1.97 2.00 2.09 2.08 1.87];
>> hist(x,8)
>> title('Histograma con 8 intervalos')
>> xlabel('Valor')
>> ylabel('Frecuencia')

12. Operaciones de álgebra lineal

Las siguientes son algunas de las funciones de MATLAB que realizan operaciones de
álgebra lineal:

 A' Devuelve la matriz transpuesta de la matriz A.


 dot(A,B) Calcula el producto punto de los vectores A y B. Si A y B son
matrices,
el producto punto es un vector de fila que contiene los productos
punto de las columnas correspondientes a A y B.
 A^n Eleva una matriz a la n-ésima potencia.
 rank(A) Calcula el rango de la matriz A. Si el rango es igual al número de
filas
de A, la matriz no es singular y existe su inversa.
 inv(A) Calcula la inversa de la matriz A, si existe.
 det(A) Calcula el determinante de la matriz cuadrada A.

Ejemplo. Calcule el producto punto de los vectores A=(2,5,6) y B=(2,3,5).


>> A = [ 2 5 6];
>> B = [ 2, 3, 5];
>> dot(A,B)
ans =
49

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

Ejemplo.
1. Calcule la transpuesta, el rango, la inversa y el determinante de la matriz C.
>> C = [ 2 5 7; 0 1 0; -1 2 3];
>> C'
ans =
2 0 -1
5 1 2
7 0 3
>> rank(C)
ans =
3
>> inv(C)
ans =
0.2308 -0.0769 -0.5385
0 1.0000 0
0.0769 -0.6923 0.1538
>> det(C)
ans =
13

2. Eleve la matriz D al cubo y realice el producto de C y D.


>> D = [ 0 6 1; -2 8 7; -1 1 0];
>> D^3
ans =
-140 356 330
-172 388 390
-10 10 12
>> C*D
ans =
-17 59 37
-2 8 7
-7 13 13

13. Cálculo simbólico

Una expresión simbólica se almacena en MATLAB como una cadena de caracteres, por
lo que se emplean apóstrofos para definirlas. Las variables simbólicas de una expresión
deben definirse con la instrucción syms:
>> syms x, y;
>> y=x^2;

o a través de apóstrofos:
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

>> y='x^2';

MATLAB también puede generar la gráfica de una expresión simbólica, donde la


variable independiente generada adopta valores dentro de un determinado intervalo, a
menos que el intervalo contenga un punto para el cual la expresión no esté definida.

 ezplot(s): Genera una gráfica de s, donde s es una función de una variable. Por

omisión la variable independiente corre en el intervalo .

 ezplot(s,[xmin,xmax]): Genera una gráfica de s, donde s es una función de una


variable. La variable independiente corre desde xmin hasta xmax.

 ezpolar(s): Genera una gráfica de s, donde s es una función expresada en


coordenadas polares.

 ezsurf(s): Genera una traza de superficies de s, donde s es una función de dos


variables.

Ejemplo. Grafique

1. y = x3-6x+1 en [-3,2].
>> y='x^3-6*x+1';
>> ezplot(y,[-3,2]);
>> ylabel('y');
>> grid

2. y = 3sinxcosx en [-3π, π].


>> y='3*sin(x)*cos(x)';
>> ezplot(y,[-3*pi,pi]);
>> ylabel('y');
>> grid

Con la ayuda de MATLAB, se recomienda al lector obtener las gráficas de cualquier


función empleando las funciones ezpolar y ezsurf.

13.1 Simplificación de expresiones simbólicas


Al introducir expresiones como: syms x

a) x * x * x b) 2 * x – 3 * x c) x * x + x + 3 * x * x

MATLAB realiza automáticamente su simplificación:


Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

a) x ^ 3 b) –x c) 4 * x ^ 2 + x

Adicionalmente, se dispone de las siguientes operaciones algebraicas:


 collect(s): Agrupa términos semejantes de s.

 collect(s,'v'): Agrupa términos semejantes de s respecto a la variable


independiente v.

 expand(s): Realiza una expansión (desarrollo) de s.

 factor(s): Intenta factorizar s (sólo si los factores son racionales).

 simple(s): Simplifica la forma de s a una forma más corta si es posible.

Ejemplo. Considere que se ha definido en MATLAB:


>> syms x y a b;
>> s1=x^3–1;
>> s2=(x–3)^2+(y–4)^2;
>> s3=sqrt(a^4*b^7);
>> s4=14*x^2/(22*x*y);

OPERACIÓN RESULTADO
factor(s1) (x-1)*(x^2+x+1)
expand(s2) x^2-6*x+25+y^2-8*y
collect(s2) x^2-6*x+9+(y-4)^2
collect(s2,'y') y^2-8*y+(x-3)^2+16
simple(s3) a^2*b^(7/2)
simple(s4) 7/11*x/y

13.2 Operaciones simbólicas


MATLAB puede realizar las siguientes operaciones simbólicas. Para A y B expresiones
simbólicas:
 symadd (A,B): Realiza una suma simbólica, A+B.

 symdiv (A,B): Realiza una división simbólica A/B.

 symmul (A,B): Realiza una multiplicación simbólica A*B.

 symsub (A,B): Realiza una resta simbólica A-B.

 sympow (S,p): Realiza una elevación a potencia simbólica S^p.

Ejemplo. Considere que hemos definido en MATLAB las siguientes expresiones:


>> p1='1/(y-3)';
>> p2='3*y/(y+2)';
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

>> p3='(y+4)+(y-3)*y';

OPERACIÓN RESULTADO
symmul (p1, p3) 1/(y–3)*(y+4+(y-3)*y) sólo la representa, no la
evalúa. (para evaluarla se usa simplemente p1* p3).
sympow (p2,p3) 27*y^3/(y+2)^3. MATLAB simplifica expresiones
como x^3/x^2 à x. En este caso el numerador es
un monomio y se simplifica automáticamente, no
así el denominador que sólo se eleva
simbólicamente.

symadd (p1, p2) 1/(y–3)+3*y/(y+2) sólo representa


simbólicamente la expresión, no la evalúa.

A partir de la versión 7 de MATLAB los comandos se sustituyen por el símbolo que se


muestra a su derecha:

 symadd (A,B): +

 symdiv (A,B): /

 symmul (A,B): *

 symsub (A,B): -

 sympow (S,p): ^

14 . Solución de ecuaciones y sistemas de ecuaciones

Las funciones de MATLAB para resolver una ecuación o sistema de ecuaciones son:
 solve(f): Resuelve una ecuación simbólica f despejando su variable
simbólica. Si f es una expresión simbólica, resuelve la ecuación f=0
despejando su variable simbólica.

 solve(f1,f2,…,fn): Resuelve el sistema de ecuaciones representado por


f1,f2,…,fn.

Ejemplo. Suponga que se definieron en MATLAB las siguientes ecuaciones:


>> ec1='x–3=4';
>> ec2='x^2–x–6=0';
>> ec3='x^2+2*x+4=0';
>> ec4='3*x+2*y–z=10';
>> ec5='-x+3*y+2*z=5';
>> ec6='x–y–z=-1';
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

>> ec7='3*x*a= b';

OPERACIÓN RESULTADO
solve(ec1) 7
solve(ec2) [-2],[3]
solve(ec3) [-1+i*3^(1/2)],[-1-i*3^(1/2)]
[x,y,z]=solve(ec4,ec5,ec6) x=-2, y=5, z=-6
solve(ec7) 1/3*b/a

15. Cálculo diferencial e integral

15.1 Límites
MATLAB permite determinar límites de funciones cuando su variable independiente
tiende a un determinado valor. La siguiente tabla muestra los comandos de MATLAB
para calcular límites.
Tabla 2. Cálculo de límites en MATLAB.

Límite MATLAB
Límite de una función f cuando x tiende a limit(f)
cero.
Límite de una función f cuando x tiende a un limit(f,x,a) o limit(f,a)
valor a.
Límite de una función f cuando x tiende a un limit(f,x,a,'right)
valor a por la derecha.
Límite de una función f cuando x tiende a un limit(f,x,a,'left')
valor a por la izquierda.

Ejemplo. Calcule los siguientes límites en MATLAB.


1.
>> syms x;
>> f=sin(x)/x;
>> limit(f)
ans =
1

2.
>> syms x;
>> f=1/x;
>> limit(f,x,0,'right')
ans =
Inf

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

3.
>> syms x;
>> f=1/x;
>> limit(f,x,0,'left')
ans =
-Inf

4.
>> syms x;
>> f=(x^2-x^(1/2))/(x^(1/2)-1);
>> limit(f,x,1)
ans =
3

5.
>> syms x;
>> f=1/x;
>> limit(f,x,Inf)
ans =
0

15.2 Derivadas
Para determinar la derivada simbólica de una expresión simbólica se usa la función
diff, la cual tiene cuatro variantes:

 diff(f): Derivada ordinaria: Devuelve la derivada de la expresión f respecto


de la variable independiente por omisión.

 diff(f,n): Derivada de orden superior n: Devuelve la n-ésima derivada de la


expresión f respecto de la variable independiente por omisión.

 diff(f,'t'): Derivada parcial ordinaria: Devuelve la derivada de la expresión


f respecto a la variable t.

 diff(f,'t',n): Derivada parcial de orden superior n: Devuelve la n-ésima


derivada de la expresión f respecto a la variable t.

Ejemplo. Calcule las siguientes derivadas en MATLAB.

1.
>> syms b x;
>> f=6*x^3-4*x^2+b*x-5;
>> diff(f)
ans =
18*x^2-8*x+b

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

2.
>> syms a;
>> f=cos(a);
>> diff(f)
ans =
-sin(a)

3.
>> syms a x;
>> f=cos(a*x)*x;
>> diff(f)
ans =
-sin(x*a)*a*x+cos(x*a)

4.
>> syms b x;
>> f=6*x^3-4*x^2+b*x-5;
>> diff(f,2)
ans =
36*x-8

5.
>> syms x y;
>> f=log(x+sqrt(x^2+y^2));
>> diff(f,'x')
ans =
(1+1/(x^2+y^2)^(1/2)*x)/(x+(x^2+y^2)^(1/2))

6.
>> syms x y;
>> f=log(x+sqrt(x^2+y^2));
>> diff(f,'y')
ans =
1/(x^2+y^2)^(1/2)*y/(x+(x^2+y^2)^(1/2))

7.
>> syms x y;
>> f=log(x+sqrt(x^2+y^2));
>> diff(f,'x',2)
ans =
(-1/(x^2+y^2)^(3/2)*x^2+1/(x^2+y^2)^(1/2))/(x+
(x^2+y^2)^(1/2))-(1+1/(x^2+y^2)^(1/2)*x)^2/(x+
(x^2+y^2)^(1/2))^2

15.3 Integrales
Para integrar una función simbólica f en MATLAB se utiliza la función int, la cual
busca una expresión simbólica F tal que diff(F)=f. Sin embargo, es posible que dicha
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

integral no exista o bien que MATLAB no pueda obtener la integral, en cuyo caso la
función devuelve la expresión sin evaluarla.

La función int tiene cinco variantes:


 int(f): Devuelve la integral de la expresión f respecto a la variable
independiente por omisión.

 int(f,'t'): Devuelve la integral de la expresión f respecto a la variable t.


 int(f,a,b): Devuelve la integral de la expresión f respecto a la variable
independiente por omisión evaluada en el intervalo [a,b], donde a y b son
expresiones numéricas.

 int(f,'t',a,b): Devuelve la integral de la expresión f respecto a la variable t


evaluada en el intervalo [a,b], donde a y b son expresiones numéricas.

 int(f,'m','n'): Devuelve la integral de la expresión f respecto a la variable


independiente por omisión evaluada en el intervalo [m,n], donde m y n son
expresiones simbólicas.

Ejemplo. Evalúe las siguientes integrales en MATLAB.


1.
>> syms x;
>> f=1/(x^2+x+1);
>> int(f)
ans =
2/3*3^(1/2)*atan(1/3*(2*x+1)*3^(1/2))

2.
>> syms x n;
>> f=x^n;
>> int(f)
ans =
x^(n+1)/(n+1)

3.
>> syms x;
>> f=sin(2*x);
>> int(f,0,pi/2)
ans =
1

4.
>> syms x;
>> f=1/(x^2+6*x+11);
>> int(f,-inf,inf)
ans =
1/2*pi*2^(1/2)
Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.
C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

5.
>> syms x;
>> f=sqrt(x);
>> int(f,'a','b')
ans =
2/3*b^(3/2)-2/3*a^(3/2)

Es posible evaluar integrales dobles en MATLAB a través de integrales iteradas. Lo


anterior se describe enseguida.

Ejemplo. Evalúe en MATLAB la integral doble.


>> syms x y;
>> f=y/(x^2+y^2);
>> int(int(f,'y',x,sqrt(2)*x),x,0,2)
ans =
log(3)-log(2)

A continuación se explica la integral iterada:


>> int ( int ( f , 'y' , x , sqrt(2) * x ), x, 0, 2)

f(x,y) Cota Cota Cota


inferior superior superi
Respecto a la or

variable y
Cota
inferior

Respecto a la
variable x

Un método alternativo es el uso de una asignación:


>> syms x y;
>> f=y/(x^2+y^2);
>> F=int(f,'y',x,sqrt(2)*x);
>> int(F,0,2)
ans =
log(3)-log(2)

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

16. Series y sumas

Para evaluar series y sumas en MATLAB se utiliza la función symsum(s,a,b):


 symsum(s,t,a,b): Evalúa la serie s donde t es el parámetro sobre el que se
evalúa la serie, a es la cota inferior y b la cota superior.
Ejemplo. Evalúe las siguientes series.
1.

>> syms x k;
>> s1 = symsum (1/k^2,k,1,inf)
s1 =
1/6*pi^2

2.

>> syms x k;
>> s1 = symsum (x^k,k,0,inf)
s1 =
-1/(x-1)

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx
Instituto Tecnológico Superior de Irapuato

17. Referencias Bibliográficas

[1] The Mathworks, Inc. (2013). “General Help to Users”. Disponible en


http://www.mathworks.com.
[2] Rodríguez, J. I. (2005). Aprenda Matlab 7.0 como si estuviera en primero.
Madrid: Universidad Politécnica de Madrid.
[3] Knight, A. (2000). “Basics of MATLAB and Beyond”, Nueva York: CRC
Press.
[4] Manassah, J. T. (2001). “Elementary Mathematical and Computational Toold
for Electrical and Computer Engineers Using Matlab”, Nueva York: CRC
Press.

Carretera Irapuato – Silao km 12.5 Colonia El Copal, Irapuato, Guanajuato.


C.P. 36821 Tels. 01 462 6067900, 6067602
www.tecnm.mx | www.itesi.edu.mx

Potrebbero piacerti anche