Professional Documents
Culture Documents
Qu es?
Matlab es un entorno de trabajo para el clculo cientfico. Programado
originalmente por el matemtico y programador, especialista en anlisis
numrico, Cleve Moler a finales de los aos 70, su finalidad original era
proporcionar una forma sencilla de acceder a las libreras LINPACK y
EISPACK donde estn implementadas, de una forma altamente eficiente, los
algoritmos clave del anlisis matricial. De hecho matlab es una abreviacin
de Matrix Laboratory.
encuentra en la actualidad.
Cmo trabaja?
El lenguaje de programacin de Matlab es bastante ms flexible que los
lenguajes tradicionales. No es preciso la declaracin inicial de variables,
stas se pueden introducir en el momento que se necesiten, y por ejemplo,
vectores y matrices pueden declararse sin especificar sus dimensiones e
incluso cambiar sus tamaos sobre la marcha.
Por otro lado, una gran cantidad de mtodos numricos se encuentran
Entorno de trabajo
Command window: ventana donde podemos ejecutar los comandos.
El prompt de matlab es >>. El usuario escribe a continuacin.
Para ejecutar se pulsa la tecla enter.
Se pueden recuperar comandos anteriores navegando con las flechas y .
Comandos de ayuda
help: muestra una ayuda por pantalla, en la ventana de comandos, con
la informacin esencial sobre un comando concreto.
Variables
Matlab no necesita la declaracin de variables como en un lenguaje
tradicional. En principio todas las variables son reales, y basta hacer uso de
ellas para que queden declaradas.
Ejemplo
Operadores aritmticos
Operador
Descripcin
suma
resta
producto
divisin
potencia
Operadores lgicos
Operador
Descripcin
&&
"y" lgico
||
"o" lgico
negacin lgica
Operadores relacionales
Operador
Descripcin
==
igualdad
~=
desigualdad
>
mayor
<
menor
>=
mayor o igual
<=
menor o igual
Vectores y matrices
Un vector o una matriz se puede definir dando sus elementos entre
corchetes y separando filas mediante ;.
Ejemplo
>>a = [1,4,-2,0,3];
>>b = [6;-3;2];
>>M = [2,1,3;0,8,-3;4,0,1];
matriz 3x3
2
= 0
4
1
3
8 3
0
1
cada posicin.
Ejemplo
2
5
1 3
Sea la matriz
1
= 0
5
0 4
3 2
6 2
>>P = [1,0,4;0,3,2;5,6,2];
>>a = P(1,3);
asigna el elemento (1,3) de P a la variable a
vector.
Sea el vector
= 1,3, 2
Norma euclideana
Ejemplo
2:
>>s = norm(v,2)
Norma infinita
1 = 1,3, 2 y 2 = 4,1,5
Producto interno :
= 1 2
>>s = norm(v,inf)
>>c = dot(v1,v2)
Matrices especiales
Ejemplo
>>P = eye(3)
0 0
1 0
0 1
1
= 1
1
1 1
1 1
1 1
0
= 0
0
0 0
0 0
0 0
1
= 0
0
Estructuras de control
Selectiva
Selectiva switch
Condicional if
Estructuras
de control
Repetitiva
Bucle for
Bucle while
Funciones
reserved word
output arguments
identifier
input arguments
function [out1,out2] = algorithm(in1,in2)
declaration line
%
% algorithm :
%
% INPUT
%
in1 :
%
in2 :
% OUTPUT
%
out1 :
%
out2 :
%
documentation
implementation
Grficos 1D
x = linspace(-4*pi,4*pi,100);
y = sin(x)./x;
figure
plot(x,y,b.-)
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-15
-10
-5
10
15
Superposicin de grficos
x = linspace(-pi,pi,100);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,b.-,x,y2,r.-)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-4
-3
-2
-1
x = linspace(-pi,pi,100);
y1 = sin(x); y2 = cos(x);
figure
hold on
plot(x,y1,b.-), plot(x,y2,r.-)
hold off
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-4
-3
-2
-1
x1 = linspace(-pi,pi,100);
y1 = sin(x1);
x2 = linspace(-pi,pi,200);
y2 = cos(x2);
figure
subplot(2,1,1),plot(x1,y1,b-)
subplot(2,1,2),plot(x2,y2,r-)
1
0.5
0
-0.5
-1
-4
-3
-2
-1
-3
-2
-1
1
0.5
0
-0.5
-1
-4
t1 = linspace(-pi,pi,100);
t2 = linspace(-pi,pi,200);
x = sin(x1);
v = cos(x2);
figure
subplot(2,1,1)
title(Posicion)
plot(t1,x,b-)
xlabel(t),ylabel(x),grid
subplot(2,1,2)
title(Velocidad)
plot(t2,v,r-)
xlabel(t),ylabel(v),grid
Posicion
1
0.5
-0.5
-1
-4
-3
-2
-1
0
t
Velocidad
1
0.5
-0.5
-1
-4
-3
-2
-1
0
t