PDF de programación - Introducción a MATLAB y OCTAVE

Imágen de pdf Introducción a MATLAB y OCTAVE

Introducción a MATLAB y OCTAVEgráfica de visualizaciones

Publicado el 23 de Julio del 2019
1.179 visualizaciones desde el 23 de Julio del 2019
1.012,6 KB
32 paginas
Creado hace 12a (29/09/2011)
Laboratorio de Computación Científica



Primer semestre

Introducción a MATLAB
y OCTAVE

Temario

 Introducción
 MATLAB y su entorno
 OCTAVE y entorno
 Editor M-Files y depurador
 Ayuda
 Variables
 Tipos de Datos
 Matrices
 Vectores

Introducción

 ¿Qué es MATLAB?

 Acrónimo de MATrix LABoratory
 Es un SW que combina la programación en un

lenguaje de alto nivel y la capacidad de visualización
de resultados.

 Su computación numérica está basada en matrices.
 Mathworks matlab estudiante ~ 100 euros

 ¿Qué es OCTAVE?

 GNU Octave es un lenguaje de alto nivel, pensado

principalmente para el cálculo numérico.

 Interfaz compatible con Matlab en un alto grado.
 Proyecto GNU es software libre bajo los términos

de la Licencia Pública General de GNU.



Matlab y octave en los laboratorios

 Existen varias



versión del
MATLAB/OCTAVE
en los laboratorios
 MATLAB 5.3

(licencia local)

 MATLAB 7.0

(licencia en red)

 OCTAVE 3.0

 Versión en

consola

MATLAB

últimos comandos

GUI similar al

entorno Windows

líneas de comandos

Directorio de trabajo

Octave (I)

 Versión gratuita de SW científico

 Ficheros .m compatibles con MATLAB y la mayoría de

los comandos

 Multiplataforma: Windows XP/7, Linux y MAC
 Versiones multiplataforma descargables en

http://octave.sourceforge.net/

 Versiones gráficas en Windows:

 GUIoctave (entorno similar a MATLAB):

http://guioctave.com/

 Qt-octave: haciendo uso de las librerías gráficas

GNU-Qt en
http://qtoctave.wordpress.com/2010/01/01/qtoctave-0-
8-2-in-windows/


Octave (II)

GUI similar al

entorno Windows

Entorno Gráfico octave

líneas de comandos

Editor de texto
(ficheros .m)

últimos comandos

- Directorio trabajo
- Workspace
- Últimos comandos

Ventanas y comando (I)

 Visualizador variables en uso (tipo y tamaño)

 workspace (matlab)

 Who, whos (matlab & octave)



MATLAB7.1

GUIoctave

Ventanas y comando (II)

 Visualizador variables en uso (tipo y tamaño)

Visualización del

contenido de variables



MATLAB7.1

Visualización gráfica

 Ventana de gráficos

x = 1:0.1:10;

y=sin(x);

plot(x,y)

MATLAB7.1

GUIoctave

Editor de ficheros (M-file)

 Ficheros de formato matlab para crear un

programa (MATLAB)

New M-files



…y apertura de la ventana
del editor de texto….

…o teclear
edit “nombre_fichero”
en línea de comandos

Editor de ficheros (M-file)

 Ficheros de formato matlab para crear un

programa (GUIoctave)



Octave editor abierto
por defecto

…o teclear
edit “nombre_fichero”
en línea de comandos

Ayuda

 Comando help

 Función similar en MATLAB y octave

 Sintaxis: help comando

 help sin

>> help sin

`sin' is a built-in function



-- Mapping Function: sin (X)

Compute the sine for each element of X in radians.



See also: asin, sind, sinh



Depurador

 Muy útil a la hora de averiguar incorrecciones

en programa
 Permite para en un punto dado (Breakpoints)

 Evaluar variables

 Avanzar paso a paso

 Avanzar hasta el siguiente breakpoint



Depurador en MATLAB

Ejecución seguida

….

Ejecución paso a paso

visualización valor variables

(pasando con ratón o pulsando F9)

breakpoint (Añadir/Quitar con F12 o pinchando con el ratón sobre la línea)

Depurador en GUIoctave

Ejecución seguida

….

Ejecución paso a paso

visualización valor variables

(pulsando Ctrl+E)

breakpoint (Añadir/Quitar con F12)

Variables

 Los nombres de variables deben empezar con una

letra
 pueden contener letras, números y sólo el símbolo “_”.

 existen diferencia entre mayúsculas minúsculas.



>> x = 1;
>> Cadena = „Hola Mundo‟;

Por defecto los valores númericos los toma como datos

en doble precisión (flotantes de 64 bits)



Variables

 Caracteres especiales y reservados:

 [ ] Se utilizan para formar vectores y matrices
 ( ) Se usa en expresiones aritméticas. Da
prioridad de ejecución a la expresión que
encierra.

 , Separador de elementos de una matriz,

argumentos de funciones y declaraciones en
líneas con declaraciones múltiples

 ; Termina líneas de una matriz o es un

separador de declaraciones

 % Comentario

Variables

 Algunas variables restringidas:

 ans: nombre de la variable por defecto.
 pi: π = 3.1415926 ……
 eps: ε= 2.2204e-016, el valor más pequeño entre dos números que el

ordenador entiende.

 inf: ∞
 NAN or nan: not-a-número
 e: número e=2.7183

 Comandos asociados a variables:

 who: listado de variables definidas en Workspace
 whos: listado de variables y sus características
 clear: borra la asignación a todas las variables
 clear name: borra la variable name
 clc: borra la ventana de comandos.
 lf: borra la ventana de gráficos/figuras.
 format: formato para mostrar los datos



Visualización

 Matlab/octave cambia la presentación interna

de un número cuando se escogen distintos
formatos Solo modifica su representación
 format long (16 dígitos)

 format short (5 dígitos + exponente)

 Format hex (formato hexadecimal)



>> format long;
>> e

>> format short;
>> e


ans = 2.7183

ans = 2.71828182845905

Tipos de datos

 Estructura de datos escalares, vectores y matrices
 Númericos

 Enteros (8,16,32,64 bits) con/sin signo; int8, uint8….
 Reales con punto flotante

 Simple precisión (32 bits)
 Doble precisión (64 bits)
 Formato IEEE754

 Complejos (ej: x = 2 + 3i;)

 Lógicos (logical en matlab/octave)
 Caracteres y cadenas (char en matlab/octave)

 String es un vector de caracteres

 Estructuras (struct)

 Ej: s = struct('a',[1,4,7,2,9,3],'b','James','c',[8 1 6;3 5 7; 4 9 2])



Vectores

 Creación explicita de vectores

>> x = [ 0 0.25*pi 0.5*pi 0.75*pi pi]
x =
0 0.7854 1.5708 2.3562 3.1416
y=[0; 0.25*pi; 0.5*pi; 0.75*pi; pi]
y = 0
0.7854
1.5708
2.3562
3.1416

Vector
columna

Vector
fila



Vectores: operaciones

 Creación

 Ej: >>vector = [1 2 3 4]; vector_tras = [1; 2; 3;

4];

 Concatenación

 Ej: >>vector = [vectorA, vectorB];

 Indexación (los vectores y matrices comienzan en 1)

 Ej: vector(3)



Vectores: funciones



x = inicio:fin



x = inicio:incremento:fin



x=rand(1,nc)



Crea un vector fila queempieza en inicial y va de 1 en 1
hasta el fin.

Igual que arriba pero con un determinado incremento
entre los elementos

Crea vector fila de nc elementos aleatorios
uniformemente distribuidos entre 0 y 1.

x=rand(nf,1)

Crea un vector columna de nf filas.

x = linspace(inicio,fin,número)

Crea un vector fila desde el inicio hasta el fin
generando un determinado número elementos

x = logspace(inicio,fin,número) Crea un vector fila logaritmicamente espaciado ….

length(x)

y = x’

Indica la longitud de un vector x

Transpuesta del vector x

dot(x,y),cross(x,y)

Da un producto escalar y vectorial de los vectores x, y

Matrices

 Vectores  matrices de

1xn elementos.

 Escalar matriz de 1x1

elementos

 Operaciones

 Idénticas a las descritas

en vectores
 Creación

 Filas se separan con ;
 Elementos de la

misma fila se separan
por comas o espacios

 Concatenación
 Indexación

Matrices (operaciones)

Operacion

Forma Matricial

Elemento a Elemento

Suma

Resta

Multiplicación

Divisiones

Potencias

Determinante

Inversa

Transpuesta

Ejemplos:

a + b

a – b

a * b

a / b (a \ b)

a^num

det(a)

inv(a)

a’

>> x = [1 2 3; 5 6 9];
>> y = [4 5 6; 0 1 5];
>> z = x .* y
z =
32 17
4 10 18
104 51



igual

igual

a .* b

a ./ b

a .^ num



>> x*y‟
ans=



Matrices (funciones)

[a,b] or [a;b] Creación de matriz

blkdiag

Construye una matriz cuadrada con matrices entrada de forma que las matrices de
entrada queden almacenadas en su diagonal

size

cat

diag

Tamaño de la matriz

Concatena matrices

Devuelve la diagonal de la matriz en forma de vector

horzcat

Concatena matrices horizontalmente

magic

ones

rand

repmat

Crea matrices cuadradas desde 1 a n
mismo

2

Matriz de 1‟s

de forma que cada fila y columna sumen lo

Create a matrix of uniformly distributed random numbers.

Crea una nueva matriz redistribuyendo el contenido de una en función de los índices de
otra

vertcat

Concatena matrices vecticalmente

zeros

Matriz de 0‟s

Operaciones matemáticas

 Matlab/Octave tiene operaciones sencillas

 Suma (+), resta (-), división normal(/), división
por izquierda (\), multiplicación (*), potencia (^)

 Orden de operaciones:

 1º: potencia

 2º: multiplicación y división

 3º: sumas y restas

 Ej: x=a^b*c+d  ((a^b)*c)+d



Aplicación de matrices (I)

 Resolución de sistemas de Ecuaciones

 Ejemplo: Vector desconocido o incógnita (x1, x2, x3)

 3 x1 + 2x2 - x3 = 10
 - x1 + 3x2 + 2x3 = 5
 x1 - 2x2 - x3 = -1



El sistema se puede escribir como:

Ax = b

1233211013251111xxxAxb Aplicación de matrices (II)

(1) Usando la inversa
Ax = b

A-1 Ax = A-1 b

Ax = b



MATLAB/OCTAVE:



>> A = [3 2 -1; -1 3 2; 1 -1 -1];

>> b = [10;5;-1];

>> x = inv(A)*b

x =

-2.0000

5.0000

-6.0000

(2) Usando división por izquierda



MATLAB/OCTAVE (División \):



>> A = [3 2 -1; -1 3 2; 1 -1 -

1];

>> b = [10;5;-1];

>> x =A \ b

x =

-2.0000

5.0000

-6.0000



Funciones trigonométricas

Otros operadore
  • Links de descarga
http://lwp-l.com/pdf16362

Comentarios de: Introducción a MATLAB y OCTAVE (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad