Basico
Guillem Borrell i Nogueras
12 de octubre de 2013
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 curso
Descargarse la hoja deejercicios
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álculo
Un programa de cálculo simbólico. Matlab
1puede hacer 0 erf (x) dx = 0.486 pero no
2
erf (x) dx = x erf (x) +
•
−x
e√
π
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 consola de Matlab
Algunas mentiras
•
•
•
•
•
Para ser ingeniero aeronáutico noes
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 nadie enseñ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 no entendé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 calculadoraprogramable?
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 en la 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 enGNU/Linux
Versiones para Windows y Mac
QtOctave
Libre y gratuito
El lenguaje Matlab
•
•
•
•
•
•
•
Caracteres especiales
Funciones y scripts
Tipos
Variables
Operadores
Sentencias
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 con có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,...)
2sentencias ejecutables
3
sal1 = ...
4
sal2 = ...
Lo guardaremos todo en el directorio de trabajo
en un archivo llamado 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 opulsando F5 en el
editor.
Nuestra primera función
Abrimos un archivo nuevo en el editor
1 function y = aprsin(x)
2
y=x-(x.^3)/6
Y lo guardamos en el directorio de trabajo como
aprsin.m.
Nuestro primer script
En un archivo nuevo del editor
1
2
3
4
5
x=linspace(-pi,pi,100);
for i = 1:100
y(i)=aprsin(x(i));
end
plot(x,[y;sin(x)])
Lo guardamos con el nombre comparar.m en
el directorio de...
Regístrate para leer el documento completo.