Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Curso introductorio
Instructor:
Dr. Ral Manzanilla
20 Abril 2004
MATLAB: Curso Introductorio
Introduccin
Nociones Bsicas
Clculo Numrico y Simblico
Algunas Funciones Matemticas
Vectores y Matrices
Otros tipos de Datos:
Caracteres, hipermatrices, estructuras y vectores de celdas
Programacin
Manipulacin de datos
Interaccin Teclado, archivos de datos
Archivos de funciones
Gestin de archivos
Grficos
Autor: Ral Manzanilla D. 2
MATLAB: Curso Introductorio
Introduccin
Matlab es un entorno de computacin tcnica que
posibilita la ejecucin de clculo numrico y simblico de
forma rpida y precisa.
El entorno bsico de Matlab se complementa con una
amplia coleccin de toolboxes que contienen funciones
especficas para determinadas aplicaciones en
diferentes ramas de las ciencias y la ingeniera.
La arquitectura de Matlab es abierta y extensible,
permitiendo su relacin con el Excel, C, Fortran y otras
aplicaciones externas muy usadas.
a+b Suma
a-b Resta
a*b Multiplicacin
a/b=b\a Divisin
a^b Potencia
INSTRUCCION SIGNIFICADO
format short Resultados con 4 decimales. Defecto
format long Resultados con 14 decimales.
format rat Resultados en forma de nmero racional.
format hex Resultados con cifras hexadecimales.
format bank Resultados con dos cifras decimales.
format short e Resultados notacin cientfica con 4 decimales.
format short g Resultados en notacin cientfica o decimal,
dependiendo del valor.
Autor: Ral Manzanilla D. 14
MATLAB: Curso Introductorio
Clculo Numrico y Simblico
FORMATOS NUMRICOS.
INSTRUCCION SIGNIFICADO
format long e Resultados notacin cientfica con 15
decimales.
format long g Resultados en notacin cientfica o
decimal, dependiendo del valor
format loose Introduce algunas lneas en blanco en
la salida (defecto)
format compact Elimina las lneas en blanco citadas
(recomendada)
Autor: Ral Manzanilla D. 15
MATLAB: Curso Introductorio
Clculo Numrico y Simblico
OBJETOS SIMBLICOS (SYMBOLIC MATH)
INSTRUCCION SIGNIFICADO
syms a,b,c Se declara a, b, c como objetos simblicos.
La a puede ser una constante, una
variable o una expresin en la que
intervengan constantes, variables,
operadores aritmticos y funciones
predefinidas.
M = sym(m) Convierte un objeto numrico m en un
objeto simblico M.
Autor: Ral Manzanilla D. 16
MATLAB: Curso Introductorio
Clculo Numrico y Simblico
OBJETOS SIMBLICOS ( continuacin .... )
INSTRUCCION SIGNIFICADO
syms x Se declara x como
expand((1+x)*(3-x)) Desarrolla la expresin en
ans= suma de monomios.
3+2*x-x^2 Resultado.
INSTRUCCION SIGNIFICADO
pretty(expand((1+x)*(3-x))) Se expresar el resultado
ans= anterior con la notacin
3+2x-x2 habitual
solve('-x^2-2*x+3=0','x') Resuelve la ecuacin.
ans= Respuesta
[-3]
[1]
Autor: Ral Manzanilla D. 18
MATLAB: Curso Introductorio
Clculo Numrico y Simblico
OBJETOS SIMBLICOS ( continuacin .... )
INSTRUCCION SIGNIFICADO
simplify(f) Simplifica la expresin simblica f.
simple(f) Busca la forma ms simple de la
expresin simblica f.
[r,a] = simple(f) Guarda en r la expresin
simplificada y en a describe el
mtodo de simplificacin utilizado.
INSTRUCCION SIGNIFICADO
subs(f,a) Aplica f en a.
subs(f,x,s) Substituye en f la variable x por la s.
factor(f) Factoriza la expresin simblica f.
Si f es un nmero entero lo
descompone en factores primos.
Ejemplo :
c='lola'; c
c=
lola
Ejemplo :
a(1:2,:,1)=[1 2 3; 4 5 6]; a(1:2,:,2)=[10 11 12; 13 14 15]
a(:,:,1) =
1 2 3
4 5 6
a(:,:,2) =
10 11 12
13 14 15
ESTRUCTURA Alumno
i'=
0 1 0
i'=
0 0 1
A=10*rand(3,3)
E = 0*A; F = E + eye(size(E)); N = 1;
while norm(E+F-E,1) > 0,
E = E + F;
F = A*F/N;
N = N + 1;
end
Autor: Ral Manzanilla D. 92
MATLAB: Curso Introductorio
PROGRAMACION
La sentencia BREAK
for i=1:100
for j=1:200
if j*i==30 disp(['i=',num2str(i),' j=',num2str(j)]), break, end
end
if i==30 disp(['Termina con i= ',num2str(i)]), break, end
end
i=1 j=30
i=2 j=15
i=3 j=10
i=5 j=6
i=6 j=5
i=10 j=3
i=15 j=2
i=30 j=1
Termina con i= 30
i
i=
30
Autor: Ral Manzanilla D. 93
MATLAB: Curso Introductorio
Manipulacin de datos
Interaccin por teclado
La funcin input, aqu se captura directamente la data deseada
a=input(['Dar la matriz 3x3 \n ', ...
'formatos: \n [...; ...; ...] \n ', ...
'.... indica una fila de la matriz \n'])
Dar la matriz 3x3
formatos:
[...; ...; ...]
.... indica una fila de la matriz
[1,2,3;4,5,6;7,8,9]
a=
1 2 3
4 5 6
7 8 9
Autor: Ral Manzanilla D. 94
MATLAB: Curso Introductorio
Manipulacin de datos
Interaccin por teclado
La funcin input ( otra versin ), aqu se captura la expresin y
no se evalua
Apertura de archivos
Fopen
Lectura
fscanf, sscanf
Escritura
sprintf, sprintf
Clausura del archivo
fclose
EJEMPLO
a =2; s=[s,sprintf(' %s \n',p.Inst)];
m= [ 3 6 9 s
4 7 10
5 8 11]; s=
p=struct('nombre','Raul', ... 2
'apellido','Manzanilla', ... 3.000000 4.000000 5.000000
'edad',24,'Inst','USB') 6.000000 7.000000 8.000000
s=sprintf(' %3d \n',a); 9.000000 10.000000 11.000000
s=[s,sprintf(' %f %f %f \n',m)]; Raul
s=[s,sprintf(' %s \n',p.nombre)]; Manzanilla
s=[s,sprintf(' %s \n',p.apellido)]; 24
s=[s,sprintf(' %d \n',p.edad)]; USB
Autor: Ral Manzanilla D. 107
MATLAB: Curso Introductorio
Archivos de funciones
Etapas de definicin de una funcin
SINTAXIS DE LA ESCRITURA
% COMENTARIOS ( Aparecern al solicitar la ayuda de la funcin)
function [ lista de valores de retorno ] = name( lista de argumentos )
fun.m uso
function y=archivo(a,b) La funcin fun ser accesible por todas
y=subfun1(a,b); las rutinas que puedan accesarla.
function x=subfun2(y,z)
x=y+z+2;
xlabel(x') Aade una etiqueta al eje de abscisas. Con xlabel off desaparece
ylabel(y') Aade una etiqueta al eje de ordenadas. Con ylabel off desaparece
Plot(x,y,s)
x Vector de coordenas en x