basico
Guillem Borrell i Nogueras
16 de febrero de 2012
Antes de empezar
• Guillem Borrell i Nogueras.
• http://iimyo.forja.rediris.es/
• Introducción Informal a Matlab y Octave
• Matemáticas en Ingeniería con Matlab y Octave
• Transparencias y ejercicios de este curso
• Material de otros cursos
Funcionamiento
•
•
•
Visitar la página del cursoDescargarse la hoja de ejercicios
Parar el vídeo para intentar el ejercicio antes
que se de la solución.
Recordad...
Ningún lenguaje se aprende por osmosis
¿Qué es Matlab?
•
•
•
Un lenguaje de programación
Un lenguaje de programación interpretado
Un lenguaje de programación interactivo
Usar Matlab == Programar en Matlab
¿Qué no es Matlab
•
•
Una hoja de cálculoUn programa de cálculo simbólico. Matlab
1
puede hacer 0 erf (x) dx = 0.486 pero no
2
erf (x) dx = x erf (x) +
•
e−x
√
π
La solución a todos nuestros problemas.
¿Qué significa interpretado?
•
•
•
•
1
Un intérprete es un programa.
Es como un actor que hace todo lo que le
dice un guión
Muy parecido a la una calculadora.
Es interactivo.
>>
Os presento a la consolade Matlab
Algunas mentiras
•
•
•
•
•
Para ser ingeniero aeronáutico no es
necesario saber programar.
Programar es difícil.
Programar bien es fácil.
Los ingenieros programan bien
En la vida basta un lenguaje de
programación mientras se domine.
Un autoengaño
Si en la escuela sólo me dan seis
créditos de informática es porque
no es importante.
En Arquitectura nadieenseña
Autocad.
Problema:
Representar I(y), la integral de la función de
Bessel
y
I(y ) =
J2.5 (x) dx
0
con y ∈ [1, 5]
•
•
¿Cómo se haría en Fortran?
¿Cómo se haría en Excel?
En Matlab son 6 líneas
1
2
3
4
5
6
x=linspace(1,5,100);
intbessel=@(y) quad(@(x) besselj(2.5,x),0,y);
for i=1:100
z(i)=intbessel(x(i));
end
plot(x,z);
No os preocupéis si noentendéis nada. Esto es
Matlab avanzado.
El resultado
1.2
1
0.8
0.6
0.4
0.2
0
1
1.5
2
2.5
3
3.5
4
4.5
5
¿Una calculadora programable?
1
2
3
4
5
6
>> 2+2
ans = 4
>> mean([1,2,3,4,5,6,7,8,9])
ans = 5
>> abs(3+4i)
ans = 5
Todo esto es muy bonito pero...
•
•
•
•
•
¿Es una herramienta realmente útil?
¿Se usa masivamente enla industria?
¿Por qué?
¿Cuánto cuesta Matlab?
¿Es la única solución?
Octave
•
•
•
•
•
•
Implementación libre y gratuita del lenguaje
Matlab
http://www.octave.org
Programa muy utilizado en GNU/Linux
Versiones para Windows y Mac
QtOctave
Libre y gratuito
El lenguaje Matlab
•
•
•
•
•
•
•
Caracteres especiales
Funciones y scripts
Tipos
Variables
OperadoresSentencias
Contenendores
• Function handles
Caracteres especiales
1
2
3
4
5
6
7
8
9
10
11
12
13
>> % Este comando sera ignorado
>> ’hola’ % ’Hola,Matlab!’
ans = hola
>> ’hola’;
>> ’hola’, ’que tal’
ans = hola
ans = que tal
>> ’hola’, ...
’que tal’
ans = hola
ans = que tal
El directorio de trabajo
•
•
•
•
•
Matlab puede ejecutar archivos concódigo
Matlab puede cargar archivos de datos
La biblioteca de funciones está formada por
archivos con código.
Matlab busca en sus directorios de sistema
más el directorio de trabajo
Variable path
Funciones. Sintaxis
1 function [sal1,sal2,...] = nombre(ent1,ent2,...)
2
sentencias ejecutables
3
sal1 = ...
4
sal2 = ...
Lo guardaremos todo en el directorio de trabajo
en un archivollamado nombre.m
Scripts
•
•
•
•
•
Un script es un programa
Un programa es una secuencia de
instrucciones ejecutables
Un programa no depende de variables
externas
También se guarda en un archivo .m en el
directorio de trabajo
Se ejecuta escribiendo el nombre del
archivo en la consola o pulsando F5 en el
editor.
Nuestra primera función
Abrimos un archivo nuevo en...
Regístrate para leer el documento completo.