Está en la página 1de 48

TUTORIAL DE MATLAB APLICADO

INTRODUCCIÓN

La integración de las Tecnologías de Información y comunicación (TIC) en las


asignaturas de un currículo puede realizarse de varias formas. Una de ellas es el
uso de las simulaciones. Estas se han convertido en una excelente herramienta
para mejorar la compresión y el aprendizaje en áreas como las matemáticas,
física, estadística, finanzas, etc. La simulación permite probar, analizar y descubrir
cómo funciona o cómo se comporta un fenómeno.

Matlab es un programa interactivo de cálculo numérico y de visualización de datos


basado en software de matrices, en un entorno de desarrollo totalmente integrado
y orientado a proyectos que requieren un elevado cálculo numérico y visualización
gráfica.

En las universidades Matlab se ha convertido en una herramienta básica tanto


para estudiantes, como para docentes e investigadores por su amplio abanico de
programas especializados llamados Toolboxes que cubren casi todas las áreas del
conocimiento. Dispone de un programa SIMULINK que es un entorno gráfico
interactivo con el que se puede analizar, modelar y simular sistemas.

1. VARIABLES Y FUNCIONES

1.1 OPERADORES

Una variable se crea por asignación. Los operadores básicos son:

x +y Suma
x–y Diferencia
x*y Producto
x/y División
x ^y Potencia

Ejemplo de variables.
Se compran 4 manzanas por 25 centavos cada una. 6 plátanos por 22
centavos cada uno y 2 melones por 99 centavos cada uno.
Cuantas frutas ha comprado y cuánto gasto?
Vamos a Mat-lab ejecutamos y nos entrega:
manzanas=4;
platanos=6;
melones=2;

1
frutas=manzanas+platanos+melones
costo=manzanas*25+platanos*22+melones*99
frutas =
12
costo =
430
Si no queremos que nos muestre el resultado no colocamos ; y si no queremos
lo colocamos.
Si la sentencia es demasiado larga o sea que ocupa más de una línea se
coloca 3 puntos seguido de enter indica que la sentencia continua.
costo=manzanas*25+platanos*22+…
melones*99
Mat-lab entrega:
costo=manzanas*25+platanos*22+...
melones*99
costo =430

ESPACIO DE TRABAJO EN MAT-LAB


Las variables que hemos creado residen en el espacio de trabajo de mat-lab y
se pueden volver a llamar cada vez que se desee, con el comando who
Mat-lab me entrega

Your variables are:


costo frutas manzanas melones platanos v x y
Si quiero saber el valor de una variable, se le llama;
Melones y mat-lab me recuerda cuanto son:
melones
melones =
2
El comando whos entrega mas detalles.
Para recordar ordenes previas de mat-lat se usa las teclas del cursor ← ,→ , ↑ ,↓
Si hay errores se pueden corregir.
Además de recordar variables mat-lab puede guardar y cargar datos de los
archivos del computador. La opción save worksspace as.. en el menú file
guarda las variables actuales, lo mismo la opción load workspace..en el menú
file
Comando demo: es una guía del usuario para ver diversas demostraciones de
un tema especifico

FORMATO DE VISUALIZACION DE NUMEROS

Fort long 35.83333333333333 16 dígitos


Format schort e 3.5833e+01 5 dígitos más exponente
Format long e 3.583333333333333 e+01 16dígitos mas exponente
Format hex 4041 e hexadecimal
Format bank 35.83 2 digitos decimales
2
Format schort 35.8333 Visualizaciónpor defecto
Format rat 215/16 Visualización en fracciones

Ejemplo
Format long, 3.58333333333333333333
Mat-lab me entrega:

format long, 3.5833333333333333333

ans =

3.583333333333334 → 16 digitos
Format long e, 3.58333333333333333333
Mat-lab entrega:

format long e, 3.58333333333333333333333333333

ans =

3.583333333333334e+00

Format bank, 3.583333333333333333333


Mat-lab entrega:

format bank, 3.583333333333333

ans =

3.58

Si se quiere limpiar la pantalla de trabajo se utiliza el comando sin borrar las


variable:
clc
Si se quiere borrar todas las variables en el espacio de trabajo de Matlab se
emplea el comando:
Clear
Si se quiere borrar una variable por ejemplo manzanas; clear manzanas
Se pueden colocar ordenes multiples en una línea si se separan por coma(,) o
puntos y coma(;)
Ejemplo
manzanas=6,melones=4, Peras=10,
Lo mismo sucede si utilizamos ;

Ejemplos:

En la ventana de comandos de Matlab, ejecutar:

>> v = 3
3
>> x = v + 6
>> y = v ^5 / 4
>> x = 2*3^5 + (5-3)* 8

AYUDA EN LINEA
Cuando se requiere conocer lo que hace una orden en Mat-lab se utiliza el
comando help
Ejemplo
Help sqrt
Matlab entrega:
help sqrt
sqrt Square root.
sqrt(X) is the square root of the elements of X. Complex
results are produced if X is not positive.
Si no se conoce el comando, colocamos solamente help y matlab entrega varios temas
Help

Constantes prefijadas

pi 3,14159265
i Unidad imaginaria=√ −1
j Igual que i
inf infinito
NaN No
eps Epsilon de la maquina=2.2204−16
Real max max num punto flotante
Realmin Min num punto flotante

Ejemplo

Usando mat-lab responda ¿Cuál es mayor e π o π e donde e es el Epsilon de la maquina


Pi^eps
Matlab entrega
pi^eps

ans =

1.0000
Y eps^pi
Mat-lab entrega
eps^pi

ans =

6.6511e-50
Lo cual se nota que : e π < π e

Otra forma seria utilizando max comando : max( pi eps , eps pi)
max(pi^eps,eps^pi)

ans =
4
1.0000
Se ve que pi eps es la mayor
format short
>> pi^eps

ans =

1.0000
Si se quiere presentar el resultado de un resultado:
Ejemplo:
X=7;
(‘el valor de x es’), disp.(x)
Matlab entrega:
x=7;
>> ('elvalor de x es'), disp(x)

ans =

elvalor de x es

7
Para escribir texto o datos es:
Matlab realiza cálculos matemáticos; en matlab será:
fprintf(‘matlab realiza cálculos matemáticos./n’);
matlab realiza cálculos matemáticos
aquí el ; no actúa, es decir muestra el dato.

DATOS DE ENTRADA
La forma más sencilla de ingresar datos en mat-lab es utilizando la instrucción
input
Ejemplo:
X=input(‘dame el valor de x’); en matlab queda
x=input('dame el valor de x');
dame el valor de x
x=80
no es válido para expresiones, por ejemplo dame el valor perico

COMANDO LOOKFOR
Este comando seguido de una palabra nos ayuda a encontrar todas las
funciones que en su descripción contengan esa palabra . lookfor→ palabra
Ejemplo:
Lookfor hyperbolic despliega todas las funciones que contengan esta palabra.

Comando which: sirve para localizar el directorio donde se encuentran


archivos.
Which nombre del archivo o función
Ejemplo
Which poly matlab enrtrega: C:\Program
Files\MATLAB\R2016a\toolbox\matlab\polyfun\poly.m
5
Cuando se quiere colocar un comentario se utiliza el comando %

Como guardar archivos en Mat-lab


Para guardar un archivo en matlab se va a save as.. en el editor y se guarda
como un bloc en cualquier parte.

OTROS COMANDOS

orden descripcion
what Devuelve un listado de todos los archivos .m en el directorio
actual
dir Lista todo test.ms los archivosen el directorio o carpeta actual
Delete Suprime el archivo -M
Cd path Cpatho carpeta dada por ambia el directorio
cd Muestra el directorio o carpeta de trabajo presente

CONSTRUCCIONES CON ARRAYS

Anotación: de dos puntos→permite especificar directamente el incremento entre datos


pero no el numero de ellos.
X=(0:0.1:1)*pi
Matlab entrega
X=(0:0.1:1)*pi

X=
0 0.3142 0.6283 0.9425 1.2566 1.5708 1.8850 2.1991 2.5133 2.8274
3.1416
Comando linspace→especifica directamente el numero de datos pero no el incremento
entre ellos.
X=linspace(0,1,10) Matlab entrega:

X=linspace(0,1,10)

X=
0 0.1111 0.2222 0.3333 0.4444 0.5556 0.6667 0.7778 0.8889 1.0000

1.2 VECTORES
Un vector fila de n elementos se puede representar de dos formas:

V = [v1,v2,v3,…..vn] % con coma entre ellos, o


V = [v1 v2 v3 …..vn] % con espacios entre ellos

Ejemplo:

Vector = [1 1.2 3.4 4/5 2.25]

Un vector se puede representar sin necesidad de explicitar todos los elementos,


6
así:

EXPRESIÓN MATLAB SIGNIFICADO


a y b son el primero y último
Vector = [a : b] elemento. Los elementos
intermedios se diferencian en una
unidad
a y b son el primero y
Vector = [a : s : b] último elemento. Los elementos
intermedios
se diferencian en la cantidad s
a y b son el primero y último
Vector = linespace[a,b,n] elemento. Hay n elementos
uniformemente espaciados entre sí
a y b son el primero y
Vector = logspace[a,b,n] último
elemento. Hay n
elementos
logarítmicamente espaciados entre

Ejemplos:

>>Vector1 = [5:5:30] % elementos de 5 a 30 en pasos de 5


Vector1 = 5 10 15 20 25 30

>>Vector2 = [5:10]
Vector2 = 5 6 7 8 9 10 % elementos de 5 a 10 en pasos de 1 (por defecto)

Un vector columna se representa con sus elementos separados por punto y coma.

Ejemplo:

>>Vector = [2; 3; 2.5; 4.5; 8]


Vector =
2
3
2.5
4.5
8
1.3 MATRICES
Las matrices se representan en Matlab introduciendo entre corchetes los vectores
fila separados por punto y coma.
Ejemplo:

7
>>A = [1 3 5; 4 7 9; 4 2 10]
A=
1 3 5
4 7 9
4 2 1
0

Algunas definiciones de variables matriciales:

A(m,n) Define el elemento (m,n) de la matriz A

B = A’ Define la transpuesta de A
Define una submatriz formada por las filas que hay
entre la a-ésima y la b- ésima y por las columnas que
A(a:b,c:d)
hay entre la c-ésima y la d-ésima

Submatriz formada por las filas de A y las columnas


A(:,c:d) que hay entre la c-ésima y d-ésima

Submatriz formada por las columnas de A y las filas


A(a:b,:) que hay entre la a- ésima y b-ésima

Devuelve el tamño u orden de la matriz A


size(A)
Crea una matriz, todos unos
Ones(m,n)
Crea una matriz todos ceros
Zeros(m,n)
Crea la matriz identidad:una matriz de mxn con unos
eye(m,n)
en la diagonal y ceros en lo demás elementos
Crea una matriz diagonal a partir de un vector
Diag(vect)
Calcula los valores y vectores propios de la matriz A
Eig
Crea una matriz de mxn en forma aleatoria, donde sus
Rand(m,n)
elementos están distribuidos uniformemente entre 0 y 1
Devuelve una matriz inversa a la original.
Inv(A)
Entrega el valor de la determinante de la matriz
Det(A)
Calcula el producto vectorial de dos vectores u y v en
Cross(u,v)
R3
Calcula la norma de una matriz A
Norm(A,p)
Calcula el rango de la matriz A
Rank(A)

8
>> A(2,3)
ans =
9
>> B = A'

B=

1 4 4
3 7 2
5 9 10

>> eye(3)

ans =

1 0 0
0 1 0
0 0 1

>> C=B(:,2:3)

C=

4 4
7 2
9 1
0

D = B(1:2,:)

D=

1 4 4
3 7 2

>> size(D)

ans =

2 3

A=ones(2,3) Mat-lab entrega


A=

1 1 1
1 1 1

B=zeros(3,2) Mat-lab entrega


9
B=

0 0
0 0
1 0
C=eye(3) Mat-lab entrega
C=

1 0 0
0 1 0
0 0 1

A=[2 1 -5; -1 4 -4; 3 -3 -2];


A=

2 1 -5
-1 4 -4
3 -3 -2
B=A’
B=

2 -1 3
1 4 -3
-5 -4 -2
C=inv(A)
C=

2.2222 -1.8889 -1.7778


1.5556 -1.2222 -1.4444
1.0000 -1.0000 -1.0000
D=[1 2 3 4];
E=diag(D) Mat-lab entrega
E=

1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
F=diag(D,-2) Mat-lab entrega
F=

0 0 0 0 0 0
0 0 0 0 0 0
1 0 0 0 0 0
0 2 0 0 0 0
0 0 3 0 0 0
0 0 0 4 0 0
10
A=[2 1 -5;-1 4 -4;3 -3 -2]
Determ=det(A)
A=
2 1 -5
-1 4 -4
3 -3 -2
Determ =
-9
Sise(A)
ans =
3 3 (# de columnax# de filas)
u=[2 1 -5];
v=[-1 4 -4];
cross=(u,v) Mat-lab entrega
ans =
16 13 9
A=[2 0 1 -4];
Norm(A,1) Mat-lab entrega
norm(A,2)

ans =

4.5826

norm(A,inf)

ans =

A=[2 0;1 -4]


Norm(A,1)

ans =
4
Norm(A,2)
ans =

4.1594
C=norm(A,inf)
C=norm(A,inf)

C=

A=[1 -3 0;3 -2 -6]


rank(A) Mat-lab entrega
11
A=

1 -3 0
3 -2 -6

ans =

OPERADORES ARITMETICOS, LOGICOS Y RACIONALES DE MATRICES

OPERACION DESCRIPCION
A+B Suman los elementos de las matrices A Y B de acuerdo a la posición
A-B Resta los elementos de A y B de acuerdo a su posicion
K*A Multiplica cada elemento de A por el escalar k
A.*B Multiplica cada elemento de A y de B de acuerdo a su posición
(producto punto)
A./B Realiza la división de los elementos de A entre B de acuerdo a su
posicion
A/B Equivale a Ainv(B)
A.^k Eleva cada elemento de la matriz A al exponente escalar k
A^k Equivale a A*A
¿ Menor que
¿ Menor que o igual a
¿ Mayor que
¿=¿ Igual a
≥ Mayor que oigual a
=¿ No igual
¿ AND
| OR
NOT

A=eye(2);
B=ones(2);
C=A+B Matlab entrega
C=
2 1
1 2
A-BMat-lab entrega
ans =
0 -1
-1 0
A*B
ans =
1 1

12
1 1
A.*B=
ans =

1 0
0 1
4*B=
ans =

4 4
4 4
B./A
ans =

1 Inf
Inf 1
B/A
ans =

1 1
1 1
Ejemplo
A=1:9,B=9-A
Tf=A¿ 4 matlab entrega

A=

1 2 3 4 5 6 7 8 9

B=

8 7 6 5 4 3 2 1 0

Tf =

0 0 0 0 1 1 1 1 1

Encuentra elementos de A que son mayores que 4. Aparecen ceros en el resultado


donde A no es mayor que 4 y unos donde A es mayor que 4.
Si tf=A¿=¿B; matlab entrega
tf =

0 0 0 0 0 0 0 0 0
Encuentra elementos de A que son iguales a aquellos en B
Observe que ¿ y=¿ significan dos casas diferentes:¿=¿ compara dos variables y
devuelves UNOS donde son iguales y CERO donde no lo son; ¿ se usa para
13
asignar la salida de una operación a una variable.
Ejemplo:
Tf=B-(A¿ 2); matlab entrega

Tf =

8 7 5 4 3 2 1 0 -1
Encuentra donde A¿ 2 y resta el resultado de B

FUNCIONES

FUNCIONES TRIGONOMÉTRICAS
Directas Inversas
sin(x) asin(x)
cos(x) acos(x)
tan(x) atan(x)
csc(x) acsc(x)
sec(x) asec(x)
cot(x) acot(x)
FUNCIONES
HIPERBÓLICAS
sinh(x) asinh(x)
cosh(x) acosh(x)
tanh(x) atanh(x)
csch(x) acsch(x)
sech(x) asech(x)
coth(x) acoth(x)
FUNCIONES EXPONENCIALES Y LOGARÍTMICAS
exp(x) Función exponencial base e
log10(x) Logaritmo decimal

log(x) Logaritmo natural


sqrt(x) Raíz cuadrada
abs(x) Valor absoluto
NÚMEROS COMPLEJOS
abs(z) Módulo del complejo z
angle(z) Argumento del complejo z
conj(z) Conjugado del complejo z
real(z) Parte real del complejo z
imag(z) Parte imaginaria del complejo z
factorial(n) n! = n(n-1)(n-2)(n-3)…..3.2.1

Ejemplos:
Calcular las siguientes expresiones en Matlab

a) y  e x2 2 x5

14
para x = 2.5
y = exp(sqrt(x^2+2*x-5))

b) y = 2sen(5x) + 3cos(2x) para x = 30º


x = 30*pi/180
y = 2*sin(5*x) + 3*cos(2*x)
c) y = log 3 x  5 + ln(x2)

15
y = log10((x + 5)^(1/3)) + log(x^2)
d) Para el número complejo z = 4.5 + j 5.6 hallar el módulo y argumento
z = 4.5 + 5.6i
mag = abs(z) % módulo
ang = angle(z) % argumento
ang = ang*180/pi % argumento en grados
Parte_Imag=imag(z)
Parte_Real=real(z)
Conjugado=conj(z)

2. REPRESENTACIÓN GRÁFICA
Cuando se tiene tablas con datos muy grandes son difíciles de interpretar, por eso se
usan gráficas para entender más fácil la información.

Matlab ofrece diversas formas de representación gráfica.

COMANDO MATLAB DESCRIPCIÓN


bar(y) Gráfica de barras relativo al vector y
bar(x,y) Gráfica de barras al vector y; x define el eje x
barh(….) Gráfica de barras horizontales
bar(….;’color’) Color = r, g, y, c, m, k
bar(y,’estilo’) Estilo=grouped (agrupado), stacked (anidado)
bar3(y,…) Barras en tres dimensiones
plot(x,y) Grafica y en función de x
plot(x,y,’bo’) Grafica y en función de x on color y caracter
fplot(‘f’,[x1 x2],’y*’) Grafica función f entre x1 y x2
fplot(‘[f1,f2,..]’,[x1 x2]) Grafica las funciones en el intervalo dado
tittle(‘texto’) Título de la gráfica
xlabel(‘texto’), ylabel(‘texto’) Rótulos en el eje x y en el eje y
Grid Pone rejilla en la gráfica
axis([x1 x2 y1 y2]) Define límite de los ejes
legend(‘rotulo1’,’rotulo2’,….) Coloca legenda en la gráfica
text(x,y,’texto’) Coloca texto en coordenadas (x,y)
subplot(m,n,p) Subgráficas de m filas, n columnas
Stem(x,y) Grafica de bastones verticales
Polar (x,y) Dibuja una curva en coordenadas polares,y=y(x)

GRAFICAS EN DOS DIMENSIONES


Ejemplo
x=0:2:18;
y=[0,0.33, 4.13, 6.29, 6.85, 11.19, 13.19, 13.96, 16.33, 18.17];
Para graficar estos puntos, se usa el comando plot
Plot(x,y)
20

18

16

14

12

10

0
0 2 4 6 8 10 12 14 16 18

Si queremos colocarle títulos, etiquetas y retículas


Plot(x,y)
Title(‘grafica 1’)
Xlabel(‘tiempo en segundos’)
Ylabel(‘distancias en metros’
grid on
grafica 1
20

18

16

14
distancias en metros

12

10

0
0 2 4 6 8 10 12 14 16 18
tiempo en segundos

Graficas múltiples
Ejemplo
x=0:pi/100:2*pi;
y1=cos(x*4);
plot(x,y1)
hold on;
y2=sin(x);
plot(x,y2)
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7

También se puede obtener la misma grafica haciendo un solo plot

x=0:pi/100:2*pi;
y1=cos(x*4);
%plot(x,y1)
y2=sin(x);
plot(x,y1,x,y2)
hold off
La función peaks es una función de dos variables que produce datos muestras útiles
para demostrar ciertas funciones de traficación.
Plot(peaks(100))

10

-2

-4

-6

-8
0 10 20 30 40 50 60 70 80 90 100

Es una matriz de 100x100


Grafica con números complejos
Si la entrada del comando plot es un arreglo sencillo de números complejos MAT-
LAB grafica el componente real en el eje X y el componente imaginaria en el eje Y
Ejemplo
A=[0+0*j, 1+2*j, 2+5*j, 3+4*j];
plot(A)
mat-lab entrega
5

4.5

3.5

2.5

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3

DE COLOR EN LAS GRAFICA

Código de color Color


Y Yellow(amarillo)
M magenta
C cyan
R Red (rojo)
G Geen verde
B Blue azul
W White blanco
K Black negro

CODIGO MARCADOR MARKER


. Punto
° Circulo
X X
+ Mas
¿ Asterisco
S Cuadro
D Diamante
V Triangulo hjacia abajo
^ Triangulo hacia arriba
> Triangulo izquierdo
> Triangulo derecho
P Pentagrama
H Hexagrama
Código estilo de línea

Código estilo de linea Linesttyle


−¿ Línea solida
: Línea de puntos
−. Línea y punto
−−¿ Línea discontinua

Ejemplo
x=0:02:2*pi;
y=sin(x);
plot(x,sin(x))

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 1 2 3 4 5 6

Ejemplo

t=0:0.05:10;
y=sin(t);
z=cos(t);
plot(t,y,'o',t,z,'x')
grid on
title('grafica del seno y coseno')
xlabel('seg')
ylabel('y=esno(t);z=cos(t)')
text(3,0.45,'seno(t)')
text(0.8,-0.3,'cos(t)')

Mat-lab entrega
grafica del seno y coseno
1

0.8

0.6

seno(t)
0.4

0.2
y=esno(t);z=cos(t)

-0.2
cos(t)
-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7 8 9 10
seg

Mat-lab toma colores diferentes

Ejemplo
Graficar cos(x) con color rojo, con marcador o y con un estilo de línea :
x=0:0.05:10;

plot(x,cos(x),'color','red','marker','o','linestyle',':')
grid on

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7 8 9 10

También se le puede color títulos xlabel ylabel etc en la grafica se da cilc en insertar
grafica cos(x)
1

0.8

0.6

0.4

0.2
Amplitud

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7 8 9 10
seg

Para copiar esta figura desde Matlab a este documento nos ubicamos en la gráfica
damos cilc en Edit copy figure y lo copiamos.
Si queremos cambiar el tamaño del marcador y el ancho de la línea los valores
deben ser numéricos. En la herramientas de la figura nos paramos en
Edit→ propiedades (sobre la figura) vamos a la figura con clic derecho en line width
y seleccionamos el ancho, el clor de la grafica no en la figura si no en el recuadro
cambiamos el color del fondo.
Si queremos colocarle títulos, etiquetar los ejes etc vamos a insert y los colocamos

ESCALAMIENTO DE LOS EJES

V=axis da al vector 4 elementos, conteniendo la escala del grafico


axis(xmin,xmax,ymin,ymax,zmin,zmax) →situa los valores máximo y mínimos para
cada uno de los ejes
axis(‘auto’) →situa los ejes en la escala automática por defecto
axis(axis)= congela el escalado de los ejes en los límites corrientes, de tal forma
que al situar otro grafico sobre el mismo eje (hold en on)) la escala no cambie.
Axis(‘equal’) → sitúa el mismo factor de escala para ambos ejes.
Axis(‘off’)→ del gráfico y los textos elimina las etiquetas y marcas de los ejesy las
rejillas, manteniendo el título del gráfica y los textos situados en el con texty gtext
Axis(‘on’)→coloca de nuevos las etiquetas, marcas y rejillas de los ejes.

x=0:0.05:10;
plot(x,cos(x),'color','red','marker','o','linestyle',':')
grid on
v=[0 15 -2 1]
axis(v)
1

0.5

-0.5

-1

-1.5

-2
0 5 10 15
Graficos polares

Polar(θ , r , s) donde θ y r son las coordenadas polares


Ejemplo r =2∗sin( 5θ)
teta=linspace(0,2*pi,100);
r=2*sin(5*teta);
polar(teta,r)

90
2
120 60
1.5

150 1 30

0.5

180 0

210 330

240 300
270

Ejemplos:

a) y=[1 2 3 8 2 1 4 6];
bar(y)
b) gráfico de barras para la función y=e−x∗. x

x = -3:0.2:3;
y = exp(-x.*x);

c) barh(x,y)
d) Ejecutar
>> bar(x,y,’g’)

e) y =

1 8 6
0
2 5 8
6 0 9
5 8 7
9 4 2
Ejecutar >> bar(y,'grouped')
bar(y,'stacked')
bar3(y,'stacked')

f) Ejecutar
x = 0:0.2:20;
y = sin(x).*exp(-0.2*x);
plot(x,y)
>> plot(x,y,’r*’)

g) Ejecutar
fplot('[sin(x), sin(2*x), sin(3*x)]',[0,2*pi])
legend('sen(x)','sen(2x)','sen(3x)')

h) Ejecutar en la ventana de edición el programa:

x=linspace(0,2,30);
y=sin(x.^2);
plot(x,y)
text(1,0.8,'y=sin(x^2)');
hold on
z=log(sqrt(x));
plot(x,z)
text(1,-0.1,'y=log(sqrt(x))')
xlabel('Eje x')
ylabel('Eje y')
title('Gráfico senoidal y logarítmico')
Copie y pegue en la ventana de comando y ejecute, se obtendrá la gráfica:

SUB GRAFICAS (subplots)


Es posible dividir una gráfica en varias graficas más pequeñas llamadas subgraficas,
El comando es subplot.
1 2
Subplot(m,n,p) →
3 4| | mxn m renglones y n columnas p es la posición en el
arreglo que ocupa esta gráfica .

Como guardar una grafica


Se guarda con save y se escoge donde guardarla También con el comando
sabe-as.
Ejemplos:
a) Graficar en dos subgráficas una fila y dos columnas:
x = [0:0.1:2*pi];
y = sin(x);
z = cos(x);
subplot(121);
plot(x,y)
title(‘sen(x)’)
subplot(122);
plot(x,z)
title(‘cos(x)’)
b) Graficar en dos subgráficas dos fila y una columna:

x = [0:0.1:2*pi];
y = sin(x);
z = cos(x);
subplot(211);
plot(x,y)
title(‘sen(x)’)
subplot(212);
plot(x,z)
title(‘cos(x)’)

c) Graficar en cuatro subgráficas dos filas y dos columnas:

subplot (221);
fplot(‘sin(x)’,[-2*pi 2*pi]);
subplot (222);
fplot(‘cos(x)’,[-2*pi 2*pi]);
subplot (223);
fplot(‘csc(x)’,[-2*pi 2*pi -10 10]);
subplot (224);
fplot(‘sec(x)’,[-2*pi 2*pi -10 10]);

d) Graficar en diferentes escalas

x = 0:0.01:3;
y = abs(exp(-0.5*x).*sin(5*x));
subplot(221);
plot(x,y)
title(‘normal’)
hold on
subplot(222)
loglog(x,y)
title(‘logaritmica’)
subplot(223)
semilogx(x,y)
title(‘semilogaritmico en eje x’)
subplot(224)
semilogy(x,y)
title(‘semilogaritmico en eje y’)

Gráfico de puntos

Ejemplo

Y=randn(50,1);
stem(y,’:’);
title(‘grafico de puntos’)
grafico de puntos
3

2.5

1.5

0.5

-0.5

-1

-1.5

-2
0 5 10 15 20 25 30 35 40 45 50

Gráfica de
pie(pay)
La grafica de pie es una gráfica que presenta el porcentaje que cada
elemento en un vector o matriz contribuye a la suma de todos los
elementos.

Ejemplo.
Se tiene un vector A=[3 4 5 9 5] la gráfica de pie se obtiene
Pie(A)
Mat-lab entrega:
12%
19%

15%

19% 35%

Si la gráfica es de 3 dimensiones
A=[3 4 5 9 5]
Pie3(A)

19%

12%

35%
15%

19%

3. CLACULO SIMBOLICO

Mst-lab dispone del módulo Symbolic Math toolbox que permite operar
variables y expresiones algebraicas simbólicas.

FUNCION DESCRIPCION
syms x,y…..z Convierte las variables x,y,…z en simbólicas.
syms x,y…z real Convierte las variables x,y..z en simbolics con valores reales
syms x,y..z unreal Convierte las variables x,y…z en simbólicos con valores no reales
s=sym(A) Crea un objeto simbólico a partir de A, puede ser un escalar o una
matriz
syms Lista las variables simbólicas en el espacio de trabajo
pretty(w) Convierte la expresión simbólica w en escritura matemática
simplify(E) Simplifica o reduce la expresión dada en E
Poly2sym(vector) Convierte el vector de un polinomio simbólico cuyos coeficientes
son los componentes del vector.
Sym2poly(poli) Convierte el polinomio simbolico”poli”en un vector cuyos
componentes son los coeficientesdel polinomio
Subs(f,a) Evalua la función f en ele punto a

Ejemplos 1:
Simplifique y devuelva en escritura matemática la siguiente expresión
f=6ab+ 3a^2 +2ab.
syms a b
f=simplify(6*a*b+3*a^2+2*a*b)
mat-lab entrega
f=
a*(3*a + 8*b)
pretty(f)
a (3 a + 8 b)

Ejemplo 2
Transforme el siguiente vector a polinomio y viceversa
A=[1 0 9 6 2];
poly2sym(A)
Matlab entrega:
x^4 + 9*x^2 + 6*x + 2

syms x;
sym2poly(x^4+9*x^2+6*x+2)
mat-lab entrega
ans =

1 0 9 6 2

Calcule el determinante de A=[x,e^d;e^x,d];


syms d x
A=[x exp(d) ;exp(x) d];
D=det(A)
Mat-lab entrega:
D=
d*x - exp(d)*exp(x)

Ejemplo
Evalue la función f(x)=x^2-x+4 para x=4 luego evalúela para x=a
syms x a
f=x^2-x+4;
subs(f,4)
Matlab entrega
ans =
16
subs(f,a)
Matlab entrega
ans =

a^2 - a + 4

4. CÁLCULO NUMÉRICO

4.1 Límites

OPERACIÓN MATEMÁTICA COMANDO MATLAB


Lim f limit(f,x,0)
(x)
x0
Lim f limit (f, x, a) o limit (f,
(x) a)
xa
Lim f (x) limit (f,x,a, ‘left’)
-
xa
Lim f (x) limit (f,x,a, ‘right’)

xa

Ejemplos:

lim f (x  h)  f (x)
a) Hallar f ´(x) = si f(x) = cos(x)
h h
0

syms h n x
limit (cos(x  h)  cos(x)) / h, h,0

ans =
-sin(x)
lim ¿ −3+2 n 4
b) Hallar el limite de la sucesión: (
n →∞ −7+3 n
¿ )
limit (((2*n-3)/(3*n-7))^4, inf)

ans =

16/81

a) Hallar

lim x
⌊x⌋

x0

limit x / abs(x), x,0,`left`


ans = -1
lim
b) Hall
ar xx  0

limit x / abs(x), x,0,`right`

ans = 1

c) limit x / abs(x), x,0


ans =

NaN (not number) (no existe)

Ejemplos:

Hallar el límite de las funciones:

a) lim
x 2x
,
x  2  3 1  4x

lim 2
sen[(ax)]
x
x
0
syms x a
limit((x-(2+x)^(1/2))/(-3+(1+4*x)^(1/2)),2)

ans = 9/8

observe que si se reemplaza el valor x daría 0/0

habría que aplicar la regla del HOPITAL sin

embargo mat-lab entrega la derivada como es.


2
lim ¿ sin ( ax )
¿
x→0 x2

limit(sin(a*x)^2/x^2,x,0)

Aquí sucede lo mismo

ans = a^2

Ejemplo

Hallar el limite de f ( x )=x 2

x=3

syms x;

limit(x^2,x,3)

ans =

Ejemplo Hallar el limite

lim ¿
g ( x ) =√ x 2 +1 ¿
x→∞

syms x;

limit(sqrt(x^2+1),x,inf)

ans =
Inf

π
f(x)=tanx en x=
2

calculamos el valor por la

por la izquierda

syms x;

limit (tan(x),x,pi/2,’left’)

ans =

Inf

Ahora calculamos el límite

por la derecha

syms x;

limit(tan(x),x,pi/2,’right’)

ans =

-Inf

Los límites por la derecha y por la izquierda no son iguales por que no es una función continua en

este punto.

Si no le coloca ni derecha ni izquierda

syms x;

limit(tan(x),x,pi/2)

matlab entrega

ans =

NaN

Los limites se pueden anidar, por ejemplo. f ( x , y )=3 x 2+7 xy x=3; y=2

syms x y
limit(limit((3*x^2+7*x*y),y,2),x,3)

ans =

69

4.2 Derivadas

Funcion Descripcion
diff(x) o diff(f,x) Calcula la derivada de la función de f con respecto a x

diff(f,x,n)o diff(f,n) Calcula la n-enesima derivada de la función f con respecto a x (n es un


escalar)
Taylor (f,x) Calcula el desarrollo de la serie de Maclaurin de orden 5 para la función f
en la variable x
Taylor (f,n,x,a) Calcula el desarrollo de Taylor de orden n-1 para la función f en la
variable x alrededor del punto a.
Jacobian(u,v) Halla la matriz jacobiana de u con respecto a v
Diff(f,x) Deriva la función f(x,y ) con respecto a x∂ f /∂ x
Diff(x,y) Deriva la función f(x,y) con respecto a y, x∂ f /∂ y

Ejemplos:

a) Hallar la derivada con respecto a x de f(x) = sen(5x)

syms x
f = sin 5  x
diff (f)

ans = 5  cos 5  x

x
b) g(x)  e cos(x)
g = exp(x)  cos(x)
diff (g)

ans = exp(x)*cos(x)-exp(x)*sin(x)

En estos ejemplos, Matlab simplifica, en otros casos, se debe usar el comando:


simplify

Para una constante también se debe definir como simbólica:

Ejemplo: diff (5)


ans = [ ]

c = sym(‘5’)

diff(c)
ans = 0

Ejemplos:
f
a) Hallar la derivada de la función f(t) = sen(st):
t
syms s t
f = sin(s*t)
diff(f,t)
ans = cos(s*t)*s
f
b) Hallar la derivada con respecto a s:
s
diff(f,s)
ans =
cos(s*t)
c) Hallar la segunda derivada de f con respecto a 2
 f
t: 2
t
diff(f,t,2)
ans =
-sin(s*t)*s^2
n
d) Hallar la derivada con respecto a x de: f  x
Syms n
f=x^n
F = diff(f)
F=x^n*n/x
simplifify (F)********
f= x ^ (n-1)  n

e) f(x) = log(sen(2x))
syms x
diff(log(sin(2*x)))
ans = 2*cos(2*x)/sin(2*x)

Ejemplos:
a) f(x,y) = sen(xy)
+cos(xy2) Calcular:
∂f
∂x

syms x y
f = sin(x*y)+cos(x*y^2)
diff(f,x)
ans =
cos(x*y)*y-sin(x*y^2)*y^2
∂f
b)
∂y
diff(f,y)
ans
cos(x*y)*x-2*sin(x*y^2)*x*y
∂2 f
c¿ 2
∂x
diff(diff(f,x),x)
ans =
-sin(x*y)*y^2-cos(x*y^2)*y^4
∂2 f
d)
∂ y2
diff(diff(f,y),y)
Ans =
-sin(x*y)*x^2-4*cos(x*y^2)*x^2*y^2-2*sin(x*y^2)*x
∂2 f
∂ xdy

diff(diff(f,x),y)
Ans =
-sin(x*y)*x*y+cos(x*y)-2*cos(x*y^2)*x*y^3-2*sin(x*y^2)*y

1
f) Calcule las 5 primeras derivadas de f(x)=
x
syms x
f=1/x
diff(f,5)
ans =

-120/x^6
Si queremos hacerla una por una para ver cada una de las derivadas se tiene:
syms x
f=1/x
[diff(f,1) diff(f,2) diff(f,3) diff(f,4) diff(f,5)]
Ans
[ -1/x^2, 2/x^3, -6/x^4, 24/x^5, -120/x^6]
OOOJOO TAYLOR Y JACOBIANO

4.3 INTEGRALES

OPERACIÓN MATEMÁTICA COMANDO MATLAB


int (f) integral indefinida
 f dx o int (f,x)
B
int (f,x,a,b) integral definida o
 f (x)dx
a
int (f,a,b)
Int(int(f,x)) Integral doble
 f (x)dx
Int(int(f(x,y),x),y)
 f (x, y)dxdy
b d
Int(int(f(x,y),x,a,b),y,c,d))
  f (x, y)dxdy
a c

Ejemplos:

a) Hallar la integral de x dx
n

syms n x
int (x^n,x)
ans = x^(n+1)/(n+1)

b) int(y ^(-1))
ans = log(y)
c) >> int(1/(a+u^2))
ans = 1/a^(1/2)*atan(u/a^(1/2))

d) >> f = sin(a*teta+b)
>> int(f)
ans = -1/a cos(a teta + b)


e) 
0
xp(x^2)dx 

>> int (exp(-x^2), x , 0, inf)


ans =
1/2  pi^(1/2)

2
−a x
f) ∫ e dx
−∞

>> syms a positive


>> syms x
>> f = exp (-a  x^2);
>> int (f,x,-inf,inf)
ans = 1/a^(1/2)  pi ^ (1/2)

Ejemplos:

a)
 a ln(bx)dx
>> syms a b x
>> int(a*log(b*x),x)

Ans = a*x*log(b*x)-a*x

b)
 a ln(xy)dxdy
>> int(int(a*log(x*y),x),y)

ans =

a*y*x*log(x*y)-2*a*x*y

1
c)
 0
a ln(xy)dx

int(a*log(x*y),x,0,1)
Ans = a*log(y)-a

AQUIIIIIIIIII
1 3
d)  0
2
a ln(xy)dxdy
int(int(a*log(x*y),x,2,3),y,0,1)
ns =
-2*a*log(2)+3*a*log(3)-2*a oojjo
hallar la integral triple;
2 4 3

∫ ∫∫ xysin ( x−z ) +6 y dxdydz


0 −3 1

syms x y z
f=x*y*sin(x-z)+6*y
I=int(int(int(f,x,0,2),y,-3,4),z,1,3)
Mat-lab entrega
I= (7*cos(1))/2 - (7*cos(3))/2 -
14*sin(1) + 84

5. POLINOMIOS

Los comandos usados por Matlab para trabajar con polinomios son:

Da los coeficientes del polinomio P cuyas


p = poly(r)
raíces son el vector r
y = polyval(p,x) Evalúa el polinomio p en el valor de x
r = roots(c) Encuentra las raíces del polinomio c
Residue Representa una función de polinomios en fracciones
parciales, encuentra el vector r, vector p y el termino
independiente k
Conv(A,B) Multiplica el polinomio A con el polinomio B
[q,r]=deconv(A,B) Divide el polinomio A entre B entregando cociente y
residuo
Polinomio de orden n que ajusta los puntos (x,y)
p = polyfit(x,y,n)
s = solve(‘ecuacion1’,’ecuacion2’) Resuelve las ecuaciones simultaneas.
X=linsolve Resuelve ecuaciones simultaneas, se expresa en
forma matricial
X=inv(A)*b Donde A es una matriz y b la parte de igualdad
A\b Donde A es una matriz y b la parte de igualdad
Ejemplos:

a) p=poly([ 2 3 4])

p=
1 -9 26 -24

% El polinomio es x3 – 9x2 +26x – 24

b) Para x = 2.5 calcular y = x4 – 3x2 + 5x -2.8

x = 2.5;
p = [1 0 -3 5 -2.8];
y = polyval(p,x)
y=
30.0125

c) Encontrar las raíces de: x5 – 3x3 + x2 -5x + 2

c = [1 0 -3 1 -5 2];
r = roots(c)

r=
-2.1716
1.8905
-0.0575 + 1.1076i
-0.0575 - 1.1076i
0.3960
d) Calcular el polinomio interpolador de segundo orden que pasa por los puntos (-
1,4), (0,2) y (1,6)

>> x = [-1,0,1]; y = [4,2,6];


>> p = polyfit(x,y,2)

p=
3.0000 1.0000 2.0000

El polinomio interpolador que más se ajusta es 3x2 + x + 2


e) Calcular 1  x + 1x =4

s = solve('sqrt(1-x)+sqrt(1+x)=4')

s=
4*i*3^(1/2)
-4*i*3^(1/2)
>> eval(s)

s(1)=6.9281i s(2)=-6.9281
f) Calcular el determinante de la matriz:

A = [2 4 -1;3 -2 5;-1 3 6];

d = det(A)
d = -153

g)Resolver el sistema de
ecuaciones: 2x + 3y =5
x – 2y = -2

[x,y] = solve('2*x + 3*y = 5','x - 2*y = -2') % x = 4/7, y = 9/7

Otra forma de resolver los


sistemas de ecuaciones
simultaneas Ax=b

[2 3 ] [ 5 ]
. A= 1 −2 ;V = −2 ;
A=[2 3;1 -2]; V=[5;-2];
X=linsolve(A,V)
X=
0.5714
1.2857
Otra forma
A\V % ojo con la división
ans =

0.5714
1.2857

Ejemplo
3 I 1 −I 2 −2 I 3=1
−I 1 6 I 2 −3 I 3= 0
−2 I 1 −3 I 2 6 I 3=6

3 −1 −2 I 1 1
| | | ||
−1 6 −3 I 2 = 0
−2 −3 6 I 3 6

X=I1 ; y=I2 ;z=I3


Primera forma:
[x,y,z] = solve('3*x-y-2*z =1','-x+6*y-3*z =0','-2*x
-3*y+6*z=6')

x =3 ; y=2; z=3
segunda forma:
A=[3 -1 -2;-1 6 -3;-2 -3 6]

B=[1;0;6]
X=linsolve(A,B)
X=
3.0000
2.0000
3.0000
Tercera forma:
x=inv(A)*B
x=
3.0000
2.0000
3.0000
Cuarta forma:
A\B % ojo con la división

A\B
ans =

3.0000
2.0000
3.0000
………………..

Ejemplo usando residue:

Dada la siguiente función:


3 2
5 z +26 z + 44 z +29
X ( z )= 3
z +6 z 2 +11 z +6  
r1 r2 rn
X ( z )= + +⋯ +k
z− p1 z− p2 z− p n Usando Matlab:
Usando Matlab:
num = [5  26  44  29];
den = [1  6  11   6];
[r, p, k] = residue(num,den)
Matlab entrega:
r = [-2 -5 3],  p = [-3 -2 -1],    k = 5
por tanto, las fracciones parciales quedan :
−2 −5 3
X ( z )= + + +5
z +3 z +2 z +1

POLINOMIOS DE TAYLOR Y DE Maclaurin

El polinomio de Taylor se emplea fundamentalmente para hacer aproximaciones de


cualquier funcion, mediante una serie de potencias enteras en un polinomio con un
numero infinito de terminos, cada uno de los terminos del polinomio de Taylor es el
resultado de la derivada de la funcion en un punto determinado.
Puede esolver por aproximaciones de funciones trigonometricas, exponenciales,
logaritmicas etc.
El polinomio de Taylor se puede eescribir com o:
f (a)} over {2!} {(x-a)} ^ {2} + {f ' (a) f (n)
p ( x ) =f ( a )+ f ' ( a ) ( x −a ) + ( x−a)3 +…+ (x−a)n
3! n!
La anterior ecuacion se puede eescribir :
n
f k (a)
p ( x ) =∑ ¿¿
0 k!
Ejemplos:

También podría gustarte