You are on page 1of 4

UNIVERSIDAD CATOLICA DE LA SANTISIMA CONCEPCION

FACULTAD DE INGENIERIA

DEPARTAMENTO DE MATEMATICA Y FISICA APLICADAS

Ecuaciones Diferenciales (IN1008C)


Laboratorio 1
Introducci
on al Matlab I
Matlab (www.mathworks.com) es un lenguaje de programacion y una herramienta de c
alculo. Matlab es una abreviatura de Matrix-Laboratory, asi que es un programa formulado para optimizar los
procesos y c
alculos en la medida que estos se puedan escribir mayormente usando vectores y matrices.
Al abrir Matlab, es posible distinguir varias ventanas, las cuales son,
la ventana de comandos, en donde se escriben las instrucciones a ejecutar.
el historial, que muestra las instrucciones ejecutadas anteriormente y que es posible recuperar.
el workspace o ventana de variables que muestra los nombres, el tipo y las dimensiones de las
variables creadas.
el current directory, que es el directorio o carpeta en la cual estamos trabajando y en donde se
guardan los programas, solo se ejecutan los programas que se encuentran en esta carpeta.
En el laboratorio 2, veremos otra ventana, el editor, que es en donde escribiremos los programas.
Un comando Matlab puede terminar con ; o no. Cuando se ejecuta un comando terminado en
;, los contenidos de las variables involucradas no se muestran en la pantalla. A continuacion daremos
una serie de comandos que muestran como trabajar con escalares, vectores y matrices.

>> a=1; % Un escalar, ingreselo con y sin ";".

Para ingresar el vector fila v = (1 3 5 7):

>> v=[1 3 5 7]; % Las componentes van separadas una de otra por un espacio.

1
2

Para ingresar el vector columna w =


3 :
4

>> w=[1;3;5;7]; % Una fila va separada de otra por ";".

Muchas veces los vectores tiene una ley de formaci


on. Esto permite una mayor facilidad para ingresarlos al computador. Por ejemplo, un vector con 100 componentes, donde la primera componente es 2,
la u
ltima es 200 y las componentes intermedias van incrementados de dos en dos, puede ingresarse de la
siguiente manera abreviada:
1

>> q=2:2:200; % El primer numero indica la componente inicial, el segundo el


>>
% incremento y el ultimo la componente final.

Cuando el incremento est


a ausente, se asume el valor 1: as, son equivalentes
r=1:45;

r=1:1:45;

A continuacion mostraremos ejemplos de algunas operaciones con vectores que pueden realizarse
(hagalas una a una):

>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

u=[1 2 3 4 5 6 7 8]; % Se ingresa un vector (fila).


v=8:-1:1 % Se ingresa otro vector (fila).
u+v % Suma de vectores.
v
% Vector transpuesto (columna).
u*v % El vector u por el v transpuesto (producto interior entre dos vectores).
sqrt(u*u) % Norma del vector u ("sqrt" calcula la raiz cuadrada)
sin(u)
% Produce un vector de la misma longitud de u donde cada componente es
% el seno de cada componente de u.
cos(u)
% Idem con coseno.
u.*v % Vector cuyas componentes son los productos de las componentes de u por
% las de v (notar el . antes del signo *).
u./v % Vector cuyas componentes son las divisiones de las componentes de u por
% las de v (notar el . antes del signo /).
u.^3 % Vector cuyas componentes son los cubos de las componentes de u
% (notar el . antes del signo *).
5^4 % Para elevar un escalar a una potencia no es necesario usar el punto.
length(v) % Entrega el numero de componentes del vector v (longitud de v).

1
Para ingresar la matriz M = 2
3

>>
>>
>>
>>
>>
>>
>>

M=[1 2 5; 2 -1 6; 3 0 -1] %
%
%
IM=inv(M)
%
TM=M
%
Det=det(M)
%
VP=eig(M)
%

2
5
1
6 :
0 1

Una matriz se ingresa por filas. Los elementos


de una misma fila se separan por un espacio y
para separar una fila de otra se usa ";".
Inversa de la matriz.
Transpuesta de la matriz.
Determinante de la matriz.
Valores propios de la matriz.

Notar que un escalar es una matriz 1 1 y un vector columna es una matriz n 1.


A continuacion mostraremos ejemplos de algunas operaciones que pueden realizarse con matrices
(hagalas una a una):

>>
>>
>>
>>
>>
>>

A=[1 2 5 5; 2
A(2,3)
A(:,4)
A(2,:)
A(1:3,2)
[m,n]=size(A)

-1 6 0; 3
% Muestra
% Muestra
% Muestra
% Muestra
% Muestra

0 -1 4; -1 2 4 8; 1 2 3 6]; % Se ingresa la matriz A.


el elemento que esta en la posicion (2,3).
la cuarta columna de la matriz A.
la segunda fila de la matriz A.
desde el elemento 1 al 3 de la columna 2 de la matriz A.
los numeros de filas (m) y columnas (n) de la matriz A.

Los siguientes comandos permiten construir matrices preestablecidas:


eye
zeros
ones
diag

triu
tril
rand
hilb

Matriz identidad.
Matriz de ceros.
Matriz de unos.
Si x es un vector, diag(x) crea una matriz diagonal cuya diagonal son las componentes de x.
Si A es una matriz cuadrada, diag(A) es un vector formado por la diagonal de A.
Parte triangular superior de una matriz.
Parte triangular inferior de una matriz.
Matriz generada aleatoriamente con valores entre 0 y 1.
Matriz de Hilbert.

Los comandos anteriores combinados permiten ahorrar tiempo en la construcci


on de algunas matrices.
En las aplicaciones es muy com
un construir matrices de esa manera, lo que se conoce como ensamblaje
de matrices o matrices por bloques, por ejemplo:

>>
>>
>>
>>

A=[1 2; 5 -2]
B=[-10 30; A]
C=[eye(2) zeros(2,2); zeros(2,2) A]
D=diag(diag(C))

Matlab permite hacer gr


aficos, mediante el comando plot. Por ejemplo:

>>
>>
>>
>>
>>
>>
>>
>>

x=0:.01:10;
y=sin(x);
plot(x,y)
plot(x,y,r) % Note
plot(x,y,*) % Note
plot(x,y,*y) % Note
z=sin(x).^2;
plot(x,y,r,x,z,b)

la diferencia con el anterior.


la diferencia con los anteriores.
la diferencia con los anteriores.
% Asi pueden dibujarse dos curvas en un mismo grafico.

Tambien pueden hacerse varios gr


aficos a la vez agregando el comando subplot. Por ejemplo:

>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

x=1:.01:10;
y=sin(4*x);
subplot(2,2,1) %
%
plot(x,y)
subplot(2,2,2) %
plot(x,y,r) %
subplot(2,2,3) %
plot(x,y,*) %
subplot(2,2,4) %
plot(x,y,*y) %

Se divide la pantalla grafica en dos filas por dos columnas y


se utiliza la primera ventana.
Estamos
Note la
Estamos
Note la
Estamos
Note la

usando la segunda ventana.


diferencia con el anterior.
usando la tercera ventana.
diferencia con los anteriores.
usando la cuarta ventana.
diferencia con los anteriores.

Para borrar todas las variables(borrar memoria) se usa el comando clear, de igual manera para borrar
las instrucciones de la ventana de comandos se usa el comando clc. Notar que son comandos distintos, el
primero act
ua sobre el workspace,mientras que el segundo, act
ua sobre la ventana de comandos.
Para conocer la sintaxis correcta de alguna sentencia se usa el comado help. Por ejemplo:

>> help plot

Importante: Matlab diferencia entre may


usculas y min
usculas. Por lo tanto, a y A son variables diferentes!

Ejercicios
Problema 1. (1.1) Defina los vectores u = [5, 8, 13, 21, 34], v = [4, 8, 12, 16, 20], w = [1, , 3, , 5] y calcule las
normas euclidianas de los tres vectores y los productos interiores u v, u w, v w. Calcule un
vector z que tenga por componentes los productos componente a componente de los vectores
u, v, w.
(1.2) Usando los comandos de Matlab, vistos en esta
A)t (BC 1 )t = I, donde:

10 5 15
0
A = 5 25 10 B = 1
15 10 0
0

guia, resuelva la ecuaci


on matricial (5X

1 0
0 0
0 1

1
5

C = 0
0

1
5

0
0
1
5

Problema 2. Construya, usando matrices por bloque, la matriz casi tridiagonal:

A=

2
..

20

..

..

..

R1010 .

Problema 3. Grafique en la misma ventana las funciones f1 (x) = ln(x+4), f2 (x) = Arcsin( x4 ), f3 (x) = 3x3 +6x+
2
2, f4 (x) = cos(2x), f5 (x) = ex para x [4, 4]. Pida a su profesor de laboratorio que le indique
cuales son los comandos en matlab para las funciones logaritmo natural,arcoseno y exponencial.

You might also like