universidad nacional autonoma de honduras … · matlab es un entorno de computación técnica que...

43
UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS UNAH FACULTAD DE CIENCIAS ESCUELA DE MATEMATICA “GUÍA DE LABORATORIO DE MATLAB” Elaborado por: LIC. JOSÉ DAVID ZÚNIGA VARELA TEGUCIGALPA, MDC HONDURAS, C.A. JULIO, AÑO 2015

Upload: donga

Post on 04-Jun-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS

UNAH

FACULTAD DE CIENCIAS ESCUELA DE MATEMATICA

“GUÍA DE LABORATORIO DE MATLAB”

Elaborado por:

LIC. JOSÉ DAVID ZÚNIGA VARELA

TEGUCIGALPA, MDC HONDURAS, C.A.

JULIO, AÑO 2015

Page 2: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 2

GUÍA SOBRE EL USO DE MATLAB EN LA SOLUCIÓN DE PROBLEMAS DE MATEMÁTICA E INGENIERÍA

MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida y precisa, acompañada de características gráficas y de visualización avanzadas aptas para el trabajo científico y la ingeniería. Por otra parte, MATLAB presenta un lenguaje de programación de muy alto nivel basado en vectores y matrices. Además del entorno básico, MATLAB se complementa con una amplia colección de toolboxes que contienen funciones específicas para determinadas aplicaciones en diferentes ramas de las ciencias y la ingeniería. Entorno de Trabajo La pantalla de entrada de MATLAB constituye el marco de trabajo general del programa. Desde esta pantalla se pueden ejecutar los comandos, hacer llamado de funciones y ejecutar series de instrucciones. El trabajo realizado en esta pantalla puede ser guardado. Además, MATLAB cuenta con un editor donde se crean archivos y funciones MATLAB que pueden ser utilizados en cualquier momento. Variables MATLAB no necesita ningún comando especial para declarar variables. Crea la variable mediante asignación directa de su valor. Una vez declarada, podemos utilizarla en cálculos. Ejemplo: » z=10

z =

10

» x=z+2/3

x =

32/3

El valor asignado a la variable es permanente, hasta que no se cambie de forma expresa o hasta que no se salga de la sesión MATLAB. Los nombres de las variables comienzan por una letra seguida de cualquier número de letras o dígitos.

Page 3: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 3

Variables Vectoriales Un vector n-dimensional en MATLAB se puede definir de la siguiente forma: V=[x1 x2 x3 . . .xn] Ejemplo:

» v=[-3 4 5 9]

v =

-3 4 5 9

Las componentes de un vector se pueden acceder utilizando la notación habitual de vectores, por ejemplo, la tercera componente de v se encuentra así:

» v(3)

ans =

5

Variables Matriciales En MATLAB se definen las matrices introduciendo entre corchetes todos sus vectores fila separados por punto y coma. Ejemplo:

» A=[-1/2 3 4;3/4 5 -1;2 0 1/8]

A =

-1/2 3 4

3/4 5 -1

2 0 1/8

Con la notación común de matrices podemos acceder al valor de una componente o cambiar el valor de las componentes.

Page 4: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 4

Ejemplo:

» x=A(2,3)

x =

-1

» A(3,2)=50;

» A

A =

-1/2 3 4

3/4 5 -1

2 50 1/8

También se puede acceder o cambiar filas o columnas completas de la siguiente forma:

» y=A(2,:)

y =

3/4 5 -1

» c=A(:,1)

c =

-1/2

3/4

2

El fuerte de MATLAB es justamente el manejo de vectores y matrices, así que existen muchos comandos y funciones más que se estudiarán gradualmente.

Números

En MATLAB se puede trabajar con diferentes tipos de números y expresiones numéricas, que abarcan los enteros, racionales, reales y los números complejos.

En File (o Archivo) del menú principal se encuentra la opción Preferences. En esa opción se puede seleccionar el formato de número con el cual se desea trabajar. También se

Page 5: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 5

puede cambiar el formato en el espacio de trabajo o en archivo aplicando los siguientes comandos:

Comando: format tipo de numero

Sintaxis: format tipo de numero; número

Ejemplos:

» x=5/34

x =

5/34

» format long; x

x =

0.14705882352941

» format long e; x

x =

1.470588235294118e-001

» format short; x

x =

0.1471

» format short e; x

x =

1.4706e-001

» format rat;x

x =

5/34

Los operadores de suma, resta, multiplicación, división, potencia y raíz cuadrada son respectivamente: +, -, *, /, ^, sqrt.

Page 6: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 6

Ejemplos:

» r = 4 -3/(2*3)+2^3

r =

23/2

» format long

» p=3*5-7/8

p =

14.12500000000000

» sqrt(8)

ans =

2.82842712474619

Números Complejos

El número complejo √-1 se representa por i o j. Los números complejos se expresan en la forma a+bi o a+bj. No es necesario el operador * antes de i o j.

Ejemplos:

» z=(2+3i)+(5-4i)

z =

7.00000000000000 - 1.00000000000000i

» format short;z

z =

7.0000 - 1.0000i

» (4/3+5j)/(-2-4j)

ans =

-1.1333 - 0.2333i

Page 7: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 7

Operaciones con Vectores y Matrices

Iniciemos con las operaciones básicas de vectores y matrices. Los operadores para la suma, resta, multiplicación, potencia, cálculo de transpuesta, inversa y determinante son respectivamente: +, -, *, ^, ‘, inv y det.

Ejemplos:

» b=[2 -5 6 1];

» A=[7 2 -4 3;2 0 -1 3;-1 2 -1 0;3 7 -8 9]

A =

7 2 -4 3

2 0 -1 3

-1 2 -1 0

3 7 -8 9

» B=[10 34 -5 1;1 1 2 2;-23 45 61 0;3 2 0 1]

B =

10 34 -5 1

1 1 2 2

-23 45 61 0

3 2 0 1

Suma de matrices

» S=A+B

S =

17 36 -9 4

3 1 1 5

-24 47 60 0

6 9 -8 10

Page 8: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 8

Multiplicación de matrices

» M=A*B

M =

173 66 -275 14

52 29 -71 5

15 -77 -52 3

248 -233 -489 26

Potencia de matrices (P2 )

» P=B^2

P =

252 151 -287 79

-29 129 119 5

-1588 2008 3926 67

35 106 -11 8

Determinante de una matriz

» DETA=det(A)

DETA =

-48

Transpuesta

» T=b'

T =

2

-5

6

1

Page 9: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 9

Inversa de una matriz

» INVA=inv(A)

INVA =

0.18750000000000 0.56250000000000 0.68750000000000 -0.25000000000000

0.12500000000000 1.37500000000000 2.12500000000000 -0.50000000000000

0.06250000000000 2.18750000000000 2.56250000000000 -0.75000000000000

-0.10416666666667 0.68750000000000 0.39583333333333 -0.08333333333333

Solución de Sistemas Lineales de Ecuaciones

La solución de un sistema lineal de ecuaciones puede obtenerse calculando la inversa de la matriz de coeficientes y multiplicando por el vector.

Ejemplos:

» x=INVA*b'

x =

1.43750000000000

5.62500000000000

3.81250000000000

-1.35416666666667

También existe en MATLAB un operador especial, la contra pleca, para resolver sistemas lineales de ecuaciones.

» x=A\b'

x =

1.43750000000000

5.62500000000000

3.81250000000000

-1.35416666666667

Page 10: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 10

Solución de Sistemas Lineales Paso a Paso Aplicando Eliminación Gaussiana

Operaciones elementales en matrices Notación: A[i,:] : indica la i-e sima fila de A A[:,i] : indica la i-e sima columna de A A([i j],:) : indica la matriz que consiste de la i-e sima j-e sima fila A [A B] : forma una matriz aumentada eye(n) : genera la matriz identidad de n x n

1. Intercambio de los renglones (o columnas) i-e sima y j-e sima A([i j],:) = A([j i],:) (renglones)

A(:,[i j]) = A(:,[j i]) (columnas)

2. Multiplicar el renglón (o columna) I por una constante k A(i,:)=k*A(i,:) (Renglones)

A(:,i)=k*A(:,i) (columnas)

3. Sumar un múltiplo del renglón (o columna) j al renglón (o columna) i A(i,:)=A(i,:)+k*A(j,:) (Renglones)

A(:,i)=A(:,i)+k*A(:,j) (columnas)

Ejemplo:

a) Determine la solución para el siguiente sistema de ecuaciones lineales 1 1 1 14 2 2 8

1 1 1 72 3 4 241 1 1 12 2 3 6

x y z

x y z

x y z

− + − = −

+ − =

− + =

>> A=[-1/4,1/2,-1/2;1/2,1/3,-1/4;1/2,-1/2,1/3] A = -1/4 1/2 -1/2 1/2 1/3 -1/4 1/2 -1/2 1/3

Page 11: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 11

>> b=[-1/8;7/24;1/6] b = -1/8 7/24 1/6 >> C=[A b] C = -1/4 1/2 -1/2 -1/8 1/2 1/3 -1/4 7/24 1/2 -1/2 1/3 1/6 >> C(1,:)=-4*C(1,:) C = 1 -2 2 1/2 1/2 1/3 -1/4 7/24 1/2 -1/2 1/3 1/6 >> C(2,:)=(-1/2)*C(1,:)+C(2,:) C = 1 -2 2 1/2 0 4/3 -5/4 1/24 1/2 -1/2 1/3 1/6 >> C(3,:)=(-1/2)*C(1,:)+C(3,:) C = 1 -2 2 1/2 0 4/3 -5/4 1/24 0 1/2 -2/3 -1/12 >> C(2,:)=(3/4)*C(2,:) C = 1 -2 2 1/2 0 1 -15/16 1/32 0 1/2 -2/3 -1/12

Page 12: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 12

>> C(1,:)=(2)*C(2,:)+C(1,:) C = 1 0 1/8 9/16 0 1 -15/16 1/32 0 1/2 -2/3 -1/12 >> C(3,:)=(-1/2)*C(2,:)+C(3,:) C = 1 0 1/8 9/16 0 1 -15/16 1/32 0 0 -19/96 -19/192 >> C(3,:)=(-96/19)*C(3,:) C = 1 0 1/8 9/16 0 1 -15/16 1/32 0 0 1 1/2 >> C(1,:)=(-1/8)*C(3,:)+C(1,:) C = 1 0 0 1/2 0 1 -15/16 1/32 0 0 1 1/2 >> C(2,:)=(15/16)*C(3,:)+C(2,:) C = 1 0 0 1/2 0 1 0 1/2 0 0 1 1/2 >> X=C(:,4) X = 1/2 1/2 1/2

Page 13: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 13

Usando la Inversa de la Matriz para resolver el sistema de Ecuaciones Lineales: >> A=[-1/4,1/2,-1/2;1/2,1/3,-1/4;1/2,-1/2,1/3] A = -1/4 1/2 -1/2 1/2 1/3 -1/4 1/2 -1/2 1/3 >> b=[-1/8;7/24;1/6] b = -1/8 7/24 1/6 >> InvA=inv(A) InvA = -4/19 24/19 12/19 -84/19 48/19 -90/19 -120/19 36/19 -96/19 >> X=(InvA)*b X = 1/2 1/2 1/2

Page 14: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 14

Funciones Matemáticas Intrínsecas MATLAB cuenta con un gran cantidad de funciones matemáticas predefinidas. A continuación listamos algunas de ellas:

Funciones con Números Enteros

rem(n,m) Resto de la división de n entre m max(n,m) Máximo de los números n y m min(n,m) Mínimo de los números n y m sign(n) Signo de n gcd(n,m) Máximo común divisor de n y m lcm(n,m) Mínimo común múltiplo de n y m factorial(n) Factorial de n factor(n) Descompone n en factores primos

Ejemplo: Determinar el máximo común divisor de 1500, 600 y 500 » gcd(1500,gcd(600,500)) ans = 100

Funciones Trigonométricas

Función Inversa sin(x) asin(x) cos(x) acos(x) tan(x) atan(x) csc(x) acsc(x) sec(x) asec(x) cot(x) acot(x)

Las funciones hiperbólicas se escriben agregando un h a la notación de funciones trigonométricas, por ejemplo, sinh(x) indica el seno hiperbólico. Ejemplo: Calcular sen(π/4) , tan(π/2) y arctan(∞) » sin(pi/4) ans = 0.7071 » tan(pi/2) ans = 1.6331e+016 » atan(inf) ans = 1.570796326794897e+000

Page 15: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 15

Otras Funciones

Ejemplo: Determinar el mayor y menor entero, además redondear el numero -3.4 » floor(-3.4) ans = -4 » ceil(-3.4) ans = -3 » round(-3.4) ans = -3 » round(-3.6) ans = -4

Funciones para Números Complejos

abs(Z) Módulo de Z angle(Z) Argumento de Z conj(Z) Conjugado de Z real (Z) Parte real de Z imag(Z) Parte imaginaria de Z

Ejemplo: Estudiar el numero Z= 1.5 – 2 i » Z=1.5-2i; » abs(Z) ans = 2.5000 » angle(Z) ans = -0.9273 » real(Z) ans = 1.5000

exp(x) Función exponencial base e pow2(x) Función potencia de base 2 log(x) Función logaritmo base e log10(x) Función logaritmo base 10 abs(x) Valor Absoluto floor(x) El mayor entero ceil(x) El menor entero round(x) El entero mas próximo al real x fix(x) Elimina la parte decimal del real x

Page 16: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 16

» conj(Z) ans = 1.5000 + 2.0000i » sin(Z) ans = 3.7528 - 0.2566i » Y=Z^3 Y = -14.6250 - 5.5000i

Funciones Elementales con Argumento Vectorial

max(v) Mayor componente de v min(v) Menor componente de v mean(v) Media de las componentes de v median(v) Mediana de las componentes de v std(v) Desviación típica de las componentes de v sort(v) Ordena de forma ascendente las componentes de v sum(v) Suma las componentes de v prod(v) Multiplica los elementos de v cumsum(v) Da el vector de sumas acumuladas de v cumprod(v) Da el vector de productos acumulados de v

Ejemplo: Obtener el máximo, mínimo y promedio en las componentes del siguiente vector: x=[2 -1 0 3 6 8 1] » x=[2 -1 0 3 6 8 1]; » max(x) ans = 8 » min(x) ans = -1 » mean(x) ans = 2.7143 » sort(x) ans = -1 0 1 2 3 6 8

Page 17: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 17

ARCHIVOS MATLAB

Los archivos con extensión (.m) constituyen el centro de la programación en MATLAB. Existen dos tipos de archivos *.m, los archivos de comandos y las funciones. Un archivo de comandas consiste de un conjunto de comandos MATLAB, que puede a su vez llamar a otros archivos. Al igual que las funciones se crean en el editor MATLAB y se les nombra como nombre de archivo.m Las funciones constituyen la estructura básica de programación. MATLAB tiene un conjunto de funciones intrínsecas, por ejemplo, las funciones trigonométricas. Nosotros podemos agregar mas funciones a la librería MATLAB. Funciones Comando: function Sintaxis: function [lista de valores de retorno]=nombredefuncion(lista de argumentos) El nombre del archivo m, donde se guarda la función, debe ser nombredefuncion. Puede haber funciones sin valor de retorno y también sin argumentos. Si solo hay un valor de retorno no hace falta poner corchetes. Si no hay valores de retorno se omiten los corchetes y el signo igual. Ejemplo: Definir la siguiente función: )7.1114.11(21.1)( 6.6 −= − tsenetf t function y=prueba(t) y=1.21*exp(-6.6*t)*sin(11.4*t-111.7); Ahora esta función puede manipularse como si fuese intrínseca.

Page 18: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 18

Gráficas 2D

Expresiones Explicitas y Funciones Discretas

Comando Función plot(X,Y) Dibuja el conjunto de puntos (X,Y), donde

X e Y son vectores fila. Para graficar una función y = f(x) es necesario conocer un conjunto de puntos (X,f(X)). X e Y pueden ser matrices de la misma dimensión en cuyo caso se hace una gráfica por cada par de filas y sobre los mismos ejes.

plot(Y) Grafica los elementos del vector Y contra sus índices, es decir, da la gráfica del conjunto de puntos (t,yt) t=1,2,3,....

plot(X,Y,S) Grafica de plot(X,Y) con las opciones definidas en S. S contiene los valores posibles de colores y marcadores.

plot(X1,Y1,S1,X2,Y2,S2,...) Combina, sobre los mismos ejes, los gráficos definidos para las tripletas (Xi,Yi,Si)

fplot(‘f’,[xmin,xmax]) Grafica la función en el intervalo de variación de x dado.

fplot(‘[f1,f2,…,fn]’,[xmin,xmax,ymin,ymax]) Grafica las funciones f1,f2,…,fn sobre los mismos ejes en los intervalos de variación de x e y.

ezplot(‘f’,[xmin,xmax])

Grafica la función en el intervalo de variación de x dado

Cadenas “S”: y yellow . point - solid m magenta o circle : dotted c cyan x x-mark -. dashdot r red + plus -- dashed g green * star b blue s square w white d diamond k black v triangle (down) Grafica de funciones continuas Comando: fplot Sintaxis: fplot(nombre de función, limites) Ejemplo 1: » fplot('prueba',[0.1, 1]); %produce el grafico en el intervalo indicado » z=prueba(0.3) % evalúa la función prueba en 0.3 z = -0.1661

Page 19: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 19

Determinando raíces de ecuaciones » fzero('prueba',0.1) % aplica el método de N-R Zero found in the interval: [0.036, 0.164]. ans = 0.1530 Ejemplo 2: Definir y graficar la siguiente función: tetsentf *4.0*)()( −= function y=prueba1(t) y= sin(t)* exp(-0.4*t); » fplot('prueba1',[-3 3]); %produce el grafico en el intervalo indicado » ezplot(‘prueba1’, [-3 3]); Ejemplo 3: Graficar sen x, sen 2x y sen 3x sobre los mismos ejes » fplot('[sin(x), sin(2*x), sin(3*x)]',[0, 2*pi],'--b*'); >> fplot('sin(x)',[0, 2*pi],'--b'); >> hold on; >> fplot('sin(2*x)',[0, 2*pi],'--r'); >> fplot('sin(3*x)',[0, 2*pi],'-.y');

Expresiones Implícitas

Comando Función ezplot(‘f’,[xmin xmax]) Grafica la curva f en coordenadas implícitas

en [-2 pi, 2 pi] Ejemplo: Graficar x2 – y4=0 en [-2 pi, 2 pi] » ezplot(‘3*x^2-5*y^4’) Coordenadas Polares Comando Función polar(α,r) Dibuja la curva en coordenadas polares

r=r(α) polar(α,r,S) Dibuja la curva en coordenadas polares

r=r(α) con el estilo de líneas dadas

Page 20: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 20

Ejemplo: Graficar la curva en coordenadas polares r = sen(3α) cos(4α) para α entre 0 y 2π »t=0:0.1:2*pi; »r=sin(3*t).*cos(4*t); »polar(t,r) Curvas Paramétricas Comando Función ezplot(‘f’,[xmin xmax]) Grafica la curva paramétrica plana x=x(t) e

y=y(t) sobre el dominio xmin< t <xmax ezplot(x,y) Grafica la curva paramétrica plana x=x(t) e

y=y(t) sobre el dominio 0< t <2 pi. plot(x,y) Grafica la curva paramétrica plana x=x(t) e

y=y(t) sobre el dominio dado Ejemplo: Graficar las curvas paramétricas x(t)=4 cos(t) – cos(4t), y(t)=4 sen(t) – sen(4t) para t entre 0 y 2π. »t=0:0.1:2*pi; »x=4*cos(t)-cos(4*t); »y=4*sen(t)-sen(4*t); »plot(x,y) el mismo grafico puede obtenerse con »ezplot(‘4*cos(t)-cos(4*t)’,’ 4*sen(t)-sen(4*t)’,[0,2*pi]) Dibujo de Polígonos Comando Función fill(X,Y,C) Dibuja el polígono compacto cuyos vértices

son los pares de componentes (Xi,Yi) de los vectores columna X e Y. C es un vector de la misma dimensión de X e Y, que contiene los colores Ci de cada punto (Xi,Yi).

Ejemplo: Representar un octágono regular cuyos vértices están definidos por los pares de valores (sen(t), cos(t)) para valores de t variando entre π/8 y 15π/8 separados entre si 2π/8. »t=(pi/8:2*pi/8:15*pi/8)’; »x=sin(t); »y=cos(t); »fill(x,y,’r’) »axis(‘square’) »text(-0.25,0,’Octagono’)

Page 21: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 21

Gráfica de Cónicas en 2D En MATLAB la mejor forma de graficar las cónicas o funciones no dadas explícitamente es utilizando las ecuaciones paramétricas. Elipses Las ecuaciones paramétricas de la elipse con centro (h,k) y ejes a y b son: x = a cos(t) + h y = b sen(t) + k Ejemplo: graficar la elipse (x-2)2 /25 + (y+3)2/9 = 1 » ezplot('5*cos(t)+2','3*sin(t)-3',[-4 4])

Hipérbolas Las ecuaciones paramétricas de la hipérbola con centro (h,k) son: x = ± a cosh(t) + h y = b senh(t) + k Ejemplo: graficar la hipérbola (x-2)2 /25 - (y+3)2/9 = 1 » ezplot('5*cosh(t)+2','3*sinh(t)-3',[-2 2]);hold on; » ezplot('-5*cosh(t)+2','3*sinh(t)-3',[-2 2]);

Parábolas Las ecuaciones paramétricas de la parábola (y-k) = a (x-h)2 son: x = t + h y = a t2 + k Ejemplo : graficar la parábola y+3 = (x-1)2 » ezplot('t+1','t^2-3',[-2 2]); Ejercicios: Para entregar al final del laboratorio

Graficar la hipérbola ( ) ( ) 1

52

94 22

=+

−− yx

Graficar la parábola 2)2(3 +−= xy

Graficar la parábola 1)2(4 2 −=− xy Graficar la cónica 0142323 22 =+−−++ yxyxyx

Page 22: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 22

Gráficos 3D

Comando Función plot3(X,Y,Z) Dibuja el conjunto de puntos (X,Y,Z)

donde X,Y y Z son vectores fila. X,Y y Z pueden ser coordenadas paramétricas o matrices de la misma dimensión, en cuyo caso se hace una gráfica por cada tripleta de filas y sobre los mismos ejes.

plot3(X1,Y1,Z1,S1, X2,Y2,Z2,S2,…) Combina sobre los mismos ejes, los gráficos definidos para las tripletas (Xi,Yi,Zi,Si).

fill3(X,Y,Z,C) Dibuja el polígono compacto cuyos vértices son las tripletas de componentes (Xi,Yi,Zi) de los vectores columna X, Y y Z. C es un vector de la misma dimensión de X, Y y Z, que contiene los colores Ci de cada punto (Xi,Yi,Zi).

[X,Y]=meshgrid(x,y) Transforma el campo de definición dado de las variables x e y de la función a representar z=f(x,y) en argumentos matriciales utilizables por los comandos surf y mesh para obtener gráficos de superficies.

surf(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramétrica x=x(u,t), y=y(u,t), z=z(u,t) con los colores especificados en C.

surfc(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramétrica x=x(u,t), y=y(u,t), z=z(u,t) junto con el grafico de contorno correspondiente, con los colores especificados en C.

surfl(X,Y,Z) Representa la superficie explicita z=f(x,y) o la paramétrica x=x(u,t), y=y(u,t), z=z(u,t) con el dibujo sombreado.

mesh(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramétrica x=x(u,t), y=y(u,t), z=z(u,t) dibujando las lineas de la rejilla que componen la malla con los colores especificados en C.

contour(Z,n) Dibuja el grafico de n lineas de contorno

Page 23: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 23

para la matriz Z.

view([x,y,z]) Sitúa el punto de vista de la figura en el punto de coordenadas [x,y,z]

colormap(M) Sitúa la matriz M como el mapa corriente de colores, M debe tener tres columnas y contener valores solo entre 0 y 1. existen en MATLAB matrices M ya definidas, que son las siguientes: bone, contrast, cool Koper, flag, gray, hsv, hot, jet, pink, prism y white.

Archivos m Creemos un archivo programa1.m, que llame funciones y utilice algunos comandos MATLAB. % Nuestro primer programa MATLAB limt=[0 1]; subplot(2,2,1) % Graficando la funcion oscila fplot('fprueba',limt) % Graficando la campana de Gauss x=-2:0.1:2; y=x; [X,Y]=meshgrid(x,y); z=exp(-(X.^2+Y.^2)); subplot(2,2,2) surf(z) % Graficando las curvas de nivel subplot(2,2,3) contour(z) Ejemplo 1: Graficar la hélice x(t)=sin(t), y(t)=cos(t), z(t)=t para valores de t entre 0 y 10π separados π/50. » t=0:pi/50:10*pi; » plot3(sin(t),cos(t),t,'r'); » grid on Ejemplo 2: Graficar un cubo Crear el archivo llamado cubo con el siguiente código y ejecutarlo arista=3;

Page 24: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 24

axis([0 arista 0 arista 0 arista]); hold on axis('off') d=arista a=[0 0 0 0 0 d d 0 d d d 0 0 d d d]; b=[0 0 d d 0 0 0 0 0 d d d d d d 0]; c=[0 d d 0 0 0 d d d d 0 0 d d 0 0]; plot3(a,b,c) Ejemplo 3: Graficar la siguiente cuádrica: 22 yxz −= » [X,Y]=meshgrid(-2:0.05:2); » Z=X.^2-Y.^2; » mesh(X,Y,Z);%pruebe con surf » contour(Z) Ejemplo 4: Graficar la siguiente cuádrica: 22 32 yxz += Ejemplo 5: Graficar la siguiente cuádrica: 222 yxz += » [X,Y]=meshgrid(-2:0.05:2); » Z=sqrt(X.^2+Y.^2) » mesh(X,Y,Z);hold on; » Z=-sqrt(X.^2+Y.^2) » mesh(X,Y,Z);hold on; » contour(Z) O pueden hacer este programa: t=-2:.1:2; [X,Y]=meshgrid(-2:0.05:2); Z=sqrt(X.^2+Y.^2); subplot(2,1,1) mesh(X,Y,Z); hold on; Z=-sqrt(X.^2+Y.^2); mesh(X,Y,Z); subplot(2,1,2) contour(Z,t)

Page 25: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 25

SOLUCIÓN DE ECUACIONES Y SISTEMAS NO LINEALES DE ECUACIONES Con el siguiente comando se pueden resolver ecuaciones y sistemas de ecuaciones lineales y no lineales. Con este comando MATLAB primero intenta determinar una solución analítica y si no la encuentra hace una aproximación numérica. Comando: solve Sintaxis: solve('eqn1','eqn2',...,'eqnN','var1,var2,...,varN') Entre apostrofes se escribe la ecuación o ecuaciones y si además de las variables aparecen parámetros entonces se debe indicar cuales son las variables. Si no hay parámetros y el número de ecuaciones y variables son iguales es opcional indicar las variables.

Ejemplos:

1. Resolver a cos(x) = b (variable x)

» solve('a*cos(x)=b') ans =

acos(b/a) Automáticamente toma a x como la variable

2. Resolver la ecuación cuadrática ax2+bx+c=0

» solve('a*x^2+b*x+c=0','x') ans =

[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]

3. Resolver el siguiente sistema no lineal de ecuaciones x2 + x y + y = 3 x2 – 4 x + 3 = 0 » [x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')

x = [ 1] [ 3] y = [ 1] [ -3/2]

4. Resuelva las siguientes Ecuaciones:

a) 24 6 2 0x x− − + =

b) 12

x xe e−+=

Page 26: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 26

c)

22 15 x7 x

15 55

=

d) ( ) ( ) ( ) ( )log x 1 log x 6 log x 2 log x 3− − + = − − +

PROGRAMANDO EN MATLAB

Estructuras Básicas de Programación Además de ser un paquete MATLAB es un lenguaje de programación. Empecemos por las estructuras básicas de programación comunes a cualquier lenguaje. Sentencia: if Sintaxis: if condición 1 Bloque 1 elseif condición 2 Bloque 2 elseif condición 3 Bloque 3 else %opción por defecto (puede ser omitida) Bloque 4 end Sentencia: for Sintaxis: for i = valor inicial : incremento : valor final Sentencias End El incremento puede ser positivo o negativo. Sentencia: while Sintaxis: while condición Sentencias end En MATLAB puede escribir programas en forma modular, para ello se usan las funciones.

Page 27: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 27

Variables locales y globales En Matlab como en otros lenguajes de programación se puede trabajar con variables locales y globales. Las variables definidas en una función o archivo m son locales, es decir, solo son acezadas por la misma función o archivo, al menos que sean pasadas como argumentos de funciones. Para definir una variable como global se usa la palabra global y se listan las variables separadas por espacio, esto se hace en la función o archivo donde se define la variable y en las funciones donde queremos acceder a ese valor o valores. Ejemplo 1: Escriba un programa que permita aproximar la función exponencial utilizando su expansión en series de Taylor. Grafique la función exponencial y su aproximación en la misma figura. Solución: Primero escribamos una función que represente el polinomio de Taylor de grado n: function y=taylorexp(x) global n; y=1; for i=1:n y=y+(1/factorial(i))*x.^i; end Ahora escribamos el programa (archive MATLAB) que graficara la función exponencial y su aproximación del grado deseado: global n; n=3; fplot('exp(x)',[-2 2],'r'); hold on fplot('taylorexp',[-2 2],'b'); Ejecute este último programa para diferentes valores de n y observe como al aumentar n la aproximación mejora. Ejemplo 2: Escriba un programa para determinar el grado del polinomio de Taylor requerido para aproximar el valor del numero e con una exactitud hasta cinco decimales. Considere el valor e=exp(1) de Matlab como exacto. Solución: Utilizaremos la función taylorexp definida en el ejemplo 1. tol=0.000001; n=1; while abs(exp(1)-taylorexp(1))>tol

Page 28: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 28

n=n+1; end taylorexp(1) n Definir Variables Simbólicas Comando: syms Sintaxis: syms vr1 vr2 vr3 ….. Si queremos restringir a nuestra variable como un numero real o un numero positivo hacemos lo siguiente: >> syms x y real Otra forma equivalente de hacer lo anterior es: >> x=sym(‘x’) Obs: Lo anterior nos servirá para realizar operaciones con expresiones algebraicas. Simplificación y Factorización de Expresiones Algebraicas Comando: simplify Sintaxis: simplify (Expresión Algebraica) Comando: simple Sintaxis: simple (Expresión Algebraica) Comando: factor Sintaxis: factor (Expresión Algebraica) Ejemplos: Simplifique las Siguientes Expresiones Algebraicas:

1.

2 2 2

3 2 2

6 13 5 2 5 3 2 7 33 3 6 11 3 2 3 1

x x x x x x*x x x x x x+ − − + + +

÷− − + + +

2. 2

1

1

x xxxx

x

+−

−+

Page 29: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 29

>> simplify(((6*x^2+13*x-5)/(3*x^3-3*x))*((2*x^2-5*x+3)/(6*x^2-11*x+3)/((2*x^2+7*x+3)/(2*x^2+3*x+1)))) ans = 1/(9*(x + 3)) + 5/(9*x)

>> simple(((6*x^2+13*x-5)/(3*x^3-3*x))*((2*x^2-5*x+3)/(6*x^2-

11*x+3)/((2*x^2+7*x+3)/(2*x^2+3*x+1))))

ans = 1/(9*(x + 3)) + 5/(9*x) >> simplify(x+1/(x-x/(x-x^2/(x+1)))) ans = x – 1 >> simple(x+1/(x-x/(x-x^2/(x+1)))) ans = x – 1

Factorice las Siguientes Expresiones Algebraicas 1. 28 3 26x x+ −

2. 2

2

8 3 268 6 5x x

x x+ −

− −

3. 2 2 2 3

2 2 3 2

9 18 4 32 3 2 9 9 2 3

x x x x x xx x x x x x

+ − + − ++ −

− − − + −

4. 4 2 4 8192 120 150y y x x− − +

>> factor((8*x^2+3*x-26)) ans = (x + 2)*(8*x - 13) >> factor((8-6*x-5*x^2)) ans = -(x + 2)*(5*x - 4)

Page 30: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 30

>> factor((8*x^2+3*x-26)/(8-6*x-5*x^2)) ans = -(8*x - 13)/(5*x - 4)

>> factor((x^2+x)/(2*x^2-x-3)+(-x^2+9*x-18)/(2*x^2-9*x+9)-(4*x^2+3*x^3)/(2*x^3-3*x^2)) ans = -(3*x - 2)/(2*x - 3) >> simplify((x^2+x)/(2*x^2-x-3)+(-x^2+9*x-18)/(2*x^2-9*x+9)-(4*x^2+3*x^3)/(2*x^3-3*x^2)) ans = - 5/(4*x - 6) - 3/2 >> factor(- 5/(4*x - 6) - 3/2) ans = -(3*x - 2)/(2*x - 3) >> factor(-192*y^4-120*y^2*x^4+150*x^8) ans = 6*(5*x^4 + 4*y^2)*(5*x^4 - 8*y^2)

Nota: Para verificar si nuestra factorización esta correcta podemos utilizar el comando “expand” cuya sintaxis es “expand (Factores)”

>> expand(6*(5*x^4 + 4*y^2)*(5*x^4 - 8*y^2)) ans = 150*x^8 - 120*x^4*y^2 - 192*y^4

Page 31: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 31

EJERCICIOS DE REPASO:

SIMPLIFIQUE LAS SIGUIENTES EXPRESIONES:

2 2 2

4 1 5 3 12 2 3 5 6

x x xx x x x x x

+ −+ −

+ − + − + +

1 11 11 11 1

a aa aa aa a

+ −+

− ++ −

−− +

1.

2

2

3 2 12 1

x xx x

+ −− +

2

2

2 32 3 1

x xx x−

−− −

GRAFIQUE LAS SIGUIENTES FUNCIONES

1. ( )2

2

2 24 4

x xf xx x

−=

+ +

2. ( ) 2 3 2 5f x x= − − +

3. ( ) 33 2 3 2f x x= − −

4. ( )4 2

2

x x 1f xx 1+ +

=−

Page 32: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 32

5. ( ) ( )32 5 6 2f x log x= − + −

6. ( ) 5 23 2xf x e −= − +

7. ( ) 1 1 2f x sin x3 3 2 3

π = − −

8. 1 1y sec x 23 2 4

π = − + −

9. ( ) 1 1 3f x cos x2 3 2 2

π = − −

10. 1 1y csc x 23 2 4

π = − + +

11. ( )

5 3 13

2 1 13 2 1

x si xx

f x x si xx si x

+ ≤ − += − − < ≤ − >

12. ( )2

4 2 13 1

x si xf x x si x

x si x

− < −= + − ≤ < − ≥

Page 33: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 33

13. ( )

8 5 14

2 1 13 2 1

x si xx

f x x si xx si x

+ ≤ − += − − < ≤ − >

Factorice:

2

3 2

4 3

3 2

3 2

4 2

4 2

4 3 2

4 3 2

3 2

14.) x 2x 1

15.) x 3x

16.) 6 x 24x

17.) 4x 8x

18.)x 2x 8x

19.)x x

20.)x 4x

21.)x 2x 3x

22.)x 4x 3x

23.)x x 12x

− +

+

− −

+ −

− −

− +

+ −

ACTIVIDAD: PROGRAME TRES FUNCIONES QUE HAGAN LO QUE ACONTINUACION SE LES PIDA:

a) CALCULE EL FACTORIAL

b) CALCULE EL NUMERO DE COMBINACIONES

c) CALCULE EL NUMERO DE PERMUTACIONES

Page 34: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 34

Limites Comando: limit Sintaxis: limit(expresión, variable, tendencia) limit(F) usa la tendencia a cero limit(F,x,a,'right') o limit(F,x,a,'left') Limites Laterales Ejemplos: Calcule los siguientes Límites:

a) ( ) 3

2x

3

sin xlim

x3

π π→

>> limit((sin(x)-sqrt(3)/2)/(pi/3-x),x,pi/3)

b) ( ) 3

2x

3

sin xlim

x3

π π+→

>> limit((sin(x)-sqrt(3)/2)/(pi/3-x),x,pi/3,'right')

c) ( ) 1

2x

3

cos xlim

x3

π π−→

>> limit((cos(x)-1/2)/(pi/3-x),x,pi/3,'left')

d) ( ) ( )

2

5x 0

cos 3x cos xlim

x→

>> limit((cos(3*x)-cos(5*x))/x^2,x,0) Ó >> limit((cos(3*x)-cos(5*x))/x^2)

e)

4 3 2

312

4 4 35 36 94 3 1x

x x x xlimx x→

− − + −− +

>> limit((4*x^4-4*x^3-35*x^2+36*x-9)/(4*x^3-3*x+1),x,1/2)

Page 35: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 35

f)

3

1

3 3 53 2 7x

x xlimx→

+ − +− +

>> limit((sqrt(x+3)-(3*x+5)^(1/3))/(3-sqrt(2*x+7)),x,1) Diferenciación Simbólica Comando: syms Sintaxis: syms variable Comando: diff Sintaxis: diff(expresión, variable, orden) ó diff(expresión, orden, variable) Ejemplo: Encuentre la derivada que se indica en cada función:

a. ( )( )

2

2

sinsin

x xy

x x=

dydx

>> syms x >> syms t; >> diff(x^2*sin(x)/(x^2+sin(x)),1,x) >> simplify(diff(x^2*sin(x)/(x^2+sin(x)),1,x)) >> pretty(simplify(diff(x^2*sin(x)/(x^2+sin(x)),1,x)))

b. ( )( ) ( )

22

2

sinarctan 1

sinx x

y x xx x

= + −

2

2

d ydx

>> pretty(simplify(diff(atan(x*sqrt(x^2+1))*x^2*sin(x)/(x^2+sin(x)),2,x))) ó >> pretty(simplify(diff(atan(x*sqrt(x^2+1))*x^2*sin(x)/(x^2+sin(x)),x,2)))

c. ( ) ( )arccos arcsiny x x= + dydt

>> diff(acos(x)+asin(x),1,t)

d. ( ) ( )arccos arcsiny x x= + dydx

>> diff(acos(x)+asin(x),1,x)

Page 36: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 36

Integración Comando: syms Sintaxis: syms variable Comando: int Sintaxis: int(S) Integral indefinida de la expression S respect a x int(S,v) Integral indefinida de la expesion S respecto a v int(S,a,b) Integral definida de S de a hasta b respecto de x. int(S,v,a,b) Integral definida de S de a hasta b respecto de v Comando: quad Sintaxis: quad(S,a,b) Integral definida de la expresión S de a hasta b respecto de x Ejemplos:

1)

0 2 3

46x x x dx

−+ −∫

>> int(abs(6*x+x^2-x^3),x,-4,0) ó >> quad(inline(abs(6*x+x^2-x^3)),-4,0)

2) ( )

1

023

3

2 3 3

x

xxdx

−∫

>> int(3^x/(2*3^(x/3)-3^(x/2)),x,0,1) ó >> quad(inline(3^x/(2*3^(x/3)-3^(x/2))),0,1)

3) ( ) ( )2

2

3 9cos sinx x dxπ

π−∫

>> int((cos(x))^3*(sin(x))^9,x,-pi/2,pi/2) ó >> quad(inline((cos(x))^3*(sin(x))^9),-pi/2,pi/2)

4) ( )1 2 3 2

03 2 sin 4x x x dxπ∫

>> int(3^(2*x)*2^(3*x)*(sin(4*pi*x))^2,x,0,1) ó >> quad(inline(3^(2*x)*2^(3*x)*(sin(4*pi*x))^2),0,1)

5) ( )

( ) ( )( )2

3

ln

ln ln 1

e xdx

x ex x −∫

>> int(log(x*exp(2))/(x*log(exp(1)*x)*((log(x))^3-1)),x)

Page 37: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 37

6) 2 23 1 2 2dx

x x x− + −∫

>> int(1/(3*x*sqrt(1-x^2)+2*x^2-2),x)

7) ( ) ( )sin 4 sin 6x x dx∫ >> int(sin(4*x)*sin(6*x),x)

8) ( )3

2 24 x dx+∫ >> int((4+x^2)^(3/2),x)

Solucion de Ecuaciones Diferenciales Comando: dsolve Sintaxis: dsolve('eqn1','eqn2', ..., 'cond1',’cond2’,...) Ejemplos: » dsolve('Dy = -a*y')

>>y=dsolve('Dy = -a*y','y(0)=2')

» z = dsolve('D3z = -z','z(0)=1, Dz(0)=0, D2z(0)=0')

» [u,v] = dsolve('Du = u + v','Dv = -u + v','u(0) = 1','v(0) = 2')

» f=dsolve('t*D2y+(5*t-1)*Dy-5*y=t^2*exp(-5*t)') Transformada de Laplace Comando: laplace Sintaxis: laplace(f) donde f es la función Ejemplos: »syms t %define la variable simbólica que se utilizara como argumento

»laplace(cos(5*t))

» laplace(2*t^3*heaviside(t-2))

» laplace(exp(-2*t)*dirac(t-3))

Page 38: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 38

Transformada inversa de Laplace Comando: ilaplace Sintaxis: ilaplace(f) donde f es la función Ejemplos: »syms s %define la variable simbólica que se utilizara como argumento

» ilaplace(1/(s-2))

» ilaplace(exp(-4*s)/(s-2))

>> ilaplace(exp(-7*s)) Resuelva las siguientes ecuaciones diferenciales y grafique su solución:

a. ( ) ( )'' 6 ' 9 2cos

0 0; ' 0 2y y y ty y− + =

= =

b. 3 2 3''' 3 '' 6 ' 6 3 lnt y t y ty y t− + − = +

c. ( )

8 20600

0 142

dy ydt t

y

+ = − =

d. ( )

( )

0.195 80

0 300

dT Tdt

T

= − − =

Encuentre la transformada de Laplace de las siguientes Funciones

a. ( ) ( )22 t tf t t e e−= +

b. ( ) 2 2 sintf t t e t=

c. ( )t te ef t

t

−−=

Page 39: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 39

Encuentre la función f(t) dadas las siguientes F(S):

a. ( ) ( )3

1

SeF SS S

=+

b. ( ) 2

2 56 34SF S

S S+

=+ +

c. ( ) 4

6 35 4

SF SS S

+=

+ +

SOLUCION NUMÉRICA DE ECUACIONES DIFERENCIALES

Se pueden aplicar los siguientes comandos: ode23, ode45 y otros. La sintaxis de los comandos es la misma, así que tomaremos uno de ellos.

Comando: ode23

Sintaxis: ode23('F',TSPAN,Y0)

TSPAN = [T0 TFINAL] (intervalo de interés)

F: función que define una edo de primer orden o un sistema de edo de primer orden

Y0: condiciones iniciales, puede ser un vector

Ejemplos: Resolver numéricamente la siguiente ecuación diferencial de segundo orden

0)0(,0)0(

252552

2

==

=++

dtdxx

xdtdx

dtxd

Para aplicar un método numérico primero transformamos el problema a un sistema de ecuaciones diferenciales de primer orden.

0)0(,0)0(

25525

21

122

21

==

−−=

=

xx

xxdt

dx

xdtdx

Page 40: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 40

Ahora escribimos la función MATLAB, para ese sistema de ecuaciones de primer orden:

function xdot=sismec(t,x);

xdot=[x(2);(25-5*x(2)-25*x(1))];

Luego desde el espacio de trabajo o como un programa MATLAB resolvemos así:

t0=0; tfinal=3;tspan=[t0 tfinal];x0=[0 0];

[t,x]=ode23('sismec',tspan,x0);

plot(t,x(:,1),'r');hold on;plot(t,x(:,2));

xlabel('t');ylabel('x, dx/dt');

Series

Escriba un programa que permita aproximar la función exponencial utilizando su expansión en series de Taylor. Grafique la función exponencial y su aproximación en la misma figura.

Solución:

Primero escribamos una función que calcule el polinomio de Taylor de grado n:

function y=taylorexp(x)

global n;

y=1;

for i=1:n

y=y+(1/factorial(i))*x.^i;

end

Ahora escribamos el programa (archive MATLAB) que graficará la función exponencial y su aproximación del grado deseado:

global n;

Page 41: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 41

n=3;

fplot('exp(x)',[-2 2],'r');

hold on

fplot('taylorexp',[-2 2],'b');

legend('Matlab exp','Mi exp','Location','NorthWest');

xlabel('x');ylabel('exp(x)');

title('Comparando mi exponencial con la de Matlab');

Ejecute este último programa para diferentes valores de n y observe como al aumentar n la aproximación mejora.

Ejemplo 2: Escriba un programa para determinar el grado del polinomio de Taylor requerido para aproximar el valor del numero e con una exactitud hasta cinco decimales. Considere el valor e=exp(1) de Matlab como exacto.

Solución:

Utilizaremos la función taylorexp definida en el ejemplo 1.

tol=0.000001;

n=1;

while abs(exp(1)-taylorexp(1))>tol

n=n+1;

end

taylorexp(1)

n

Ejemplo 3: Escriba un programa que aproxime la siguiente función utilizando su expansión en series de Fourier. Grafique en la misma figura la función y sus aproximaciones sucesivas.

<<<<−−

πx

xxf

0101

)(

Solución:

Page 42: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 42

La representación en series de Fourier de f es:

))12((12

)1(12)(1

12

xnsenn

xfn

n

−−

−−= ∑

=

π

Escribamos una función para generar la serie truncada a n términos:

function y=serie1(x)

global n;

y=0;

for i=1:n

y=y+(2/pi)*((1-(-1)^(2*i-1))/(2*i-1))*sin((2*i-1)*x);

end

También necesitamos escribir una función para generar la función dada:

function y=funcion1(x)

y=-1+2*heaviside(x);

Ahora escribamos el programa para generar las aproximaciones y sus graficas:

global n;

ezplot('funcion1',[-pi pi]);

hold on

m=5;

for n=1:m

ezplot('serie1',[-pi pi]);

end

Ejecute este último programa para obtener los gráficos de las aproximaciones.

Page 43: UNIVERSIDAD NACIONAL AUTONOMA DE HONDURAS … · MATLAB es un entorno de computación técnica que posibilita la ejecución de cálculos numéricos y simbólicos de forma rápida

GUÍA DE LABORATORIO DE MATLAB

FACULTAD DE CIENCIA- ESCUELA DE MATEMATICA Página 43

Ejercicios:

1. Considere la serie de Taylor para f(x)=sen(x). Aproxime el valor de sen(π/4) con siete decimales. ¿Qué grado de polinomio requirió?

12

0 )12()1()()( +

=∑ +

−== n

n

n

xn

xsenxf

2. Escriba un programa que aproxime la siguiente función dada utilizando su expansión en series de Fourier. Grafique en la misma figura la función y sus aproximaciones sucesivas (n=1,2,…,15).

<<−<<−

=ππ

πxxx

xf0

00)(

))(1)cos()1(1(4

)(1

2 xnsenn

xnn

xfn

n

+−−

+= ∑∞

= ππ

Vectores y Valores Propios

Comando: eig Sintaxis: E=eig(A); Vector de Valores Propios de la matriz A.

[E P]=eig(A): P Matriz en cuya diagonal principal están los valores propios de A; E matriz cuyas columnas son los vectores propios de A. E-1AE=P

Ejemplo: Encontrar los Valores y Vectores Propios de las Siguientes Matrices y Verificar que E-

1AE=P.

1.

1 1 11 0 11 1 0

A− −

= − −

2.

1 1 11 1 01 0 1

B− − − = − − − −

3. D=A+B