Matlab
MATLAB
1
Los componentes individuales
Ventana de Comandos
Plataforma de lanzamiento
Espacio de trabajo
Ventana histórica de comandos
Directorio Actual
2
1
Índice
• Introducción a la programación en Matlab – Variables – Operadores – Control de Flujo – Funciones • Cómo utilizar Matlab – Entorno – Debugger • Ejercicios I • Matlab como herramienta decálculo numérico • Ejercicios II
3
Programación en MATLAB • Lenguaje
– Un lenguaje intuitivo de alto-nivel – Un gran manejo de matrices MATLAB (Matrix Laboratory)
• Programación:
– Interfaz de Comandos interactivo – Conjunto de comandos en un fichero .m (Script) – Conjunto de comandos encapsulado en una función en un fichero .m
4
2
Variables en MATLAB
• Todas las variables estánalmacenadas en 32 bit • No distingue entre variables reales y enteras • Distingue mayúsculas, en Matlab A ≠ a • Los nombres tienen que empezar por una letra no obstante se puede usar además de letras nombres y símbolos • Todo el cálculo se hace en doble precisión format puede ser usado para cambiarlo. • Un “;” al final de la línea no muestra el resultado de la operación • Permite la definición devariables globales y locales • Lista de variables who, Borrarlas clear, más información 5 whos
Vectores MATLAB
vector columna 1 a = 2 3
En general en MATLAB los arrays no tienen una dimensión fija
>> a = [] Vectores fila
>> a(0) a = {1 2 3} >>a=[1;2;3]; Index into matrix is negative or zero. ??? >>a >>a=[1,2,3]; a= >>a 1 a= 2 1 2 3 3 Coma para separar columnas
Punto ycoma para separar líneas
>> a(0)
6
3
Matrices MATLAB
a= matriz bi-dimensional
Contenido >>a(2,3) ans 1.0000 + 5.0000i 2.0000 = 3.0000 1 2 3 4.0000 6 5.0000 6.0000 a= Asignación 4 5 6 >> a(3,3) >>a(2,2)=9; >>a=[1,2,3;4,5,6]; ??? Index exceeds matrix dimensions. >>a >>a a= a= 1 2 3 1 2 3 4 9 6 4 5 6 Resultado? >>a(3,3); a(1,1)=1+i*5;
7
Operaciones básicas
Creación dematrices
• Creación de matrices mediante el teclado
• • • • Las matrices están definidas por filas Los elementos se encierran con corchetes Los elementos de una fila se separan por espacios o comas (,) Los elementos de una columna se separan por enter o punto y coma (;)
>> A = [8 9 4, 2 1 5, 0 2 6]; >> B = [8 9 4; 2 1 5; 0 2 6]; >> C = B’;
A = ( 8, 9, 4, 2, 1, 5, 0, 2, 6) B= 894 215 026 C=820 912 456
8
4
Operaciones básicas
Creación de matrices
• Otras formas de definir matrices
• Matrices predefinidas >> eye (3) >> zeros (2) >> ones (1,5) >> rand (2, 4)
0.9501 0.2311
100 010 001
00 00 (1 1 1 1 1)
0.6068 0.8913 0.4565 0.4860 0.7621 0.0185
9
Operaciones básicas
Creación de matrices
A= 1 4 6 8 x = (4 3) h = (4 1 5 2) 0 0 0 0 C= 4 0 0 3
• Otras formas dedefinir matrices
• Creación de matrices a partir de otras >> B = zeros (size (A)) >> C = diag (x) >> D = [B, C; h] >> E = D (1, 4) >> F= 1: 5 D= B=
0 0 4 0 0 0 0 3 4 1 5 2
E=0 F = (1 2 3 4 5)
10
5
Cadenas de caracteres MATLAB
string • Texto entre dos simples comillas. • La variable se almacena como una cadena de caracteres:
>>cadena=‘hola mundo’; >> cadena(1:4) ans = hola
11Variables complejas MATLAB
Las variables “i” o “j” se usan típicamente para representar una variable compleja; a menos que se hayan usado previamente
Qué pasa en el caso ? Qué pasa en el caso ?
>>i=3; >> z=23+i*56; >>z z=
>> real(z)
y= x
>>a=sqrt(-1); >>z=23+a*56; >>z z=
>> imag(z)
Para x < 0, y es compleja. Matlab asume la introducción de un número complejo. Si no es el caso hayque pasar por una 12 comprobación.
6
Arrays Multi-dimensionales MATLAB
• En general, en Matlab se suele trabajar con arrays de 1 y 2 dimensiones. No obstante, se pueden definir array de más de 2 dimensiones. • Se pueden construir de diferentes maneras: – extensión: • a = [5 7 8 ; 0 1 9 ; 4 3 6]; • a(:,:,2) = [ 1 0 4 ; 3 5 6; 9 8 7] – extensión escalar • a(:,:,3) =3
a(1,1,3) ???...
Regístrate para leer el documento completo.