You are on page 1of 47

Generalidades

Ricardo A. Prato Torres, Dr. rer. nat.

Universidad del Atlantico


Facultad de Educacion
Licenciatura en matematicas

2017

Pagina 1 Generalidades 2017 R. Prato


if ..... for

Inicio

Pagina 2 Generalidades 2017 R. Prato


if ..... for

Inicio

Condicion

Pagina 2 Generalidades 2017 R. Prato


if ..... for

Inicio

Condicion

Verdadero

Sentencia

Pagina 2 Generalidades 2017 R. Prato


if ..... for

Inicio

Condicion
if condicion
Verdadero sentencia
end
Sentencia

Pagina 2 Generalidades 2017 R. Prato


if ..... for

Inicio

Falso if condicion
Condicion
sentencia 1.
Verdadero else
sentencia 2.
Sentencia end

Pagina 2 Generalidades 2017 R. Prato


if ..... for

Inicio

if condicion A
Falso sentencia 1.
Condicion
else if condicion B
Verdadero sentencia 2.
else if condicion C
Sentencia .........
end

Pagina 2 Generalidades 2017 R. Prato


if ..... for

n=1

Pagina 2 Generalidades 2017 R. Prato


if ..... for

n=1

Sentencia (n)

Pagina 2 Generalidades 2017 R. Prato


if ..... for

n=1

Sentencia (n)

n=n+1

Pagina 2 Generalidades 2017 R. Prato


if ..... for

n=1

Sentencia (n)

n=n+1

Pagina 2 Generalidades 2017 R. Prato


if ..... for

n=1

Sentencia (n)
for k0 :kf
sentencia
n=n+1 .........
end

Pagina 2 Generalidades 2017 R. Prato


Ficheros Script

function [ Valores de retorno] = name( Argumentos)

Comando function para iniciar la funcion.


name es el nombre de la funcion.
Valores de retorno, entre corchetes y separados por comas.
Argumentos, entre parentesis tambien separados por comas.
Si no hay valores de retorno se omiten los corchetes y el igual.
Si solo hay un valor de retorno no hace falta poner corchetes
No hace falta poner parentesis si no hay argumentos

Pagina 3 Generalidades 2017 R. Prato


Ficheros Script

function [ Valores de retorno] = name ( Argumentos)

Comando function para iniciar la funcion.


name es el nombre de la funcion.
Valores de retorno, entre corchetes y separados por comas.
Argumentos, entre parentesis tambien separados por comas.
Si no hay valores de retorno se omiten los corchetes y el igual.
Si solo hay un valor de retorno no hace falta poner corchetes
No hace falta poner parentesis si no hay argumentos

Pagina 3 Generalidades 2017 R. Prato


Ficheros Script

function [Valores de retorno ] = name(Argumentos )

Comando function para iniciar la funcion.


name es el nombre de la funcion.
Valores de retorno, entre corchetes y separados por comas.
Argumentos, entre parentesis tambien separados por comas.
Si no hay valores de retorno se omiten los corchetes y el igual.
Si solo hay un valor de retorno no hace falta poner corchetes
No hace falta poner parentesis si no hay argumentos

Pagina 3 Generalidades 2017 R. Prato


Ficheros Script

function [ Valores de retorno] = name( Argumentos)

Comando function para iniciar la funcion.


name es el nombre de la funcion.
Valores de retorno, entre corchetes y separados por comas.
Argumentos, entre parentesis tambien separados por comas.
Si no hay valores de retorno se omiten los corchetes y el igual.
Si solo hay un valor de retorno no hace falta poner corchetes
No hace falta poner parentesis si no hay argumentos

Pagina 3 Generalidades 2017 R. Prato


Ejemplo

% MIFUNCION mi funcion
% MIFUNCION(X) devuelve x^2-cos(x).

function y=mifuncion(x)
y=x.^2-cos(x)
return

Pagina 4 Generalidades 2017 R. Prato


Ejemplo

% MIFUNCION mi funcion
% MIFUNCION(X) devuelve x^2-cos(x).
>> help mifuncion
function y=mifuncion(x)
y=x.^2-cos(x)
return

Pagina 4 Generalidades 2017 R. Prato


Ejemplo

% MIFUNCION mi funcion
% MIFUNCION(X) devuelve x^2-cos(x). >> help mifuncion
MIFUNCION mi funcion
function y=mifuncion(x) MIFUNCION(X) devuelve x^2-cos(x).
y=x.^2-cos(x)
return

Pagina 4 Generalidades 2017 R. Prato


Ejemplo

% MIFUNCION mi funcion
% MIFUNCION(X) devuelve x^2-cos(x).
>> mifuncion(1)
function y=mifuncion(x)
y=x.^2-cos(x)
return

Pagina 4 Generalidades 2017 R. Prato


Ejemplo

% MIFUNCION mi funcion
% MIFUNCION(X) devuelve x^2-cos(x). >> mifuncion(1)
ans =
function y=mifuncion(x) 0.4597
y=x.^2-cos(x)
return

Pagina 4 Generalidades 2017 R. Prato


Ejemplo

% MIFUNCION mi funcion >> mifuncion(1)


% MIFUNCION(X) devuelve x^2-cos(x).
ans =
function y=mifuncion(x) 0.4597
y=x.^2-cos(x)
return >> z=mifuncion(1)

Pagina 4 Generalidades 2017 R. Prato


Ejemplo

>> mifuncion(1)
% MIFUNCION mi funcion ans =
% MIFUNCION(X) devuelve x^2-cos(x). 0.4597

function y=mifuncion(x) >> z=mifuncion(1)


y=x.^2-cos(x)
return z =
0.4597

Pagina 4 Generalidades 2017 R. Prato


Subfunciones

Funciones adicionales definidas


en un mismo fichero *.m.
Permite nombres diferentes al:
Nombre del archivo
Nombre de la funcion principal
Solo pueden ser llamadas por
las funciones contenidas en
ese archivo.

Pagina 5 Generalidades 2017 R. Prato


Subfunciones

Funciones adicionales definidas function y=mi_fun(a,b)


en un mismo fichero *.m. y=subfun1(a,b)-subfun2(a,b);
end
Permite nombres diferentes al:
function x=subfun1(y,z)
Nombre del archivo x=y.^2-z;
Nombre de la funcion principal end
Solo pueden ser llamadas por
function x=subfun2(y,z)
las funciones contenidas en
x=y+z+2;
ese archivo.
end

Pagina 5 Generalidades 2017 R. Prato


Instruccion inline

>> f=inline(exp(-x)*sin(x),x);

Pagina 6 Generalidades 2017 R. Prato


Instruccion inline

>> f=inline(exp(-x)*sin(x),x);
>> f=inline(exp(-x)*sin(x),x)
f =
Inline function: f(x) = exp(-x)*sin(x)

Pagina 6 Generalidades 2017 R. Prato


Instruccion inline

>> f=inline(exp(-x)*sin(x),x);
>> f=inline(exp(-x)*sin(x),x)
f =
Inline function: f(x) = exp(-x)*sin(x)
Matlab trata de reconocer las variables

Pagina 6 Generalidades 2017 R. Prato


Instruccion inline

>> f=inline(exp(-x)*sin(x),x);
>> f=inline(exp(-x)*sin(x),x)
f =
Inline function: f(x) = exp(-x)*sin(x)
Matlab trata de reconocer las variables
>> g=inline(x^2 *cos(y)-y*cos(x)*z);

>> g
g =

Inline function:
g(x,y,z) = x^2*cos(y)-y*cos(x)*z

Pagina 6 Generalidades 2017 R. Prato


Instruccion inline
Vectorizacion

Pagina 7 Generalidades 2017 R. Prato


Instruccion inline
Vectorizacion

>> g = inline(x.^2.*cos(y)-y.*cos(x).*z);
% la funcion esta ahora vectorizada

>> g([0 pi 0],[pi 0 0], [0 0 pi])


ans =
0 9.8696 0

Pagina 7 Generalidades 2017 R. Prato


Instruccion inline
Vectorizacion

>> g = inline(x.^2.*cos(y)-y.*cos(x).*z);
% la funcion esta ahora vectorizada

>> g([0 pi 0],[pi 0 0], [0 0 pi])


ans =
0 9.8696 0

% funcion normal
>> g = inline(x^2*cos(y)-y*cos(x)*z)

Pagina 7 Generalidades 2017 R. Prato


Instruccion inline
Vectorizacion

>> g = inline(x.^2.*cos(y)-y.*cos(x).*z);
% la funcion esta ahora vectorizada

>> g([0 pi 0],[pi 0 0], [0 0 pi])


ans =
0 9.8696 0

% funcion normal
>> g = inline(x^2*cos(y)-y*cos(x)*z)

>> g= vectorize(g)
g =
Inline function:
g(x,y,z) = x.^2.*cos(y)-y.*cos(x).*z
>> g([0 pi 0],[pi 0 0], [0 0 pi]);
Pagina 7 Generalidades 2017 R. Prato
Function Handle (funciones de referencias)

se definen utilizando el
smbolo @
Pasa a una funcion el
nombre de otra funcion,
junto con sus argumentos,
para que la ejecute.
Permite definir funciones
anonimas

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el
smbolo @
Pasa a una funcion el
nombre de otra funcion, >> f1=@mi_fun
junto con sus argumentos, f1 =
@mi_fun
para que la ejecute.
Permite definir funciones
anonimas

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el >> f1=@mi_fun


smbolo @ f1 =
Pasa a una funcion el @mi_fun
nombre de otra funcion,
junto con sus argumentos,
para que la ejecute. >> x=[2 1 pi];
>> f1(x,x)
Permite definir funciones ans =
anonimas -4.0000 -4.0000 -1.5552

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el
smbolo @
Pasa a una funcion el
nombre de otra funcion, >> z=feval(@mi_fun,x,x)
junto con sus argumentos, z =
-4.0000 -4.0000 -1.5552
para que la ejecute.
Permite definir funciones
anonimas

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el
smbolo @
Pasa a una funcion el >> f2 = @(x)x.^2-cos(x)
nombre de otra funcion, f2 =
junto con sus argumentos, @(x)x.^2-cos(x)
para que la ejecute.
Permite definir funciones
anonimas

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el >> f2 = @(x)x.^2-cos(x)


smbolo @ f2 =
@(x)x.^2-cos(x)
Pasa a una funcion el
nombre de otra funcion,
junto con sus argumentos,
para que la ejecute.
Permite definir funciones >> f2(pi)
ans =
anonimas
10.8696

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el
smbolo @
Pasa a una funcion el
nombre de otra funcion,
junto con sus argumentos,
para que la ejecute.
Permite definir funciones
anonimas

>> fplot(@mifuncion,[-5 5])

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

25

se definen utilizando el
smbolo @
20

Pasa a una funcion el


15

nombre de otra funcion, 10

junto con sus argumentos, 5

para que la ejecute. 0

Permite definir funciones 5


5 4 3 2 1 0 1 2 3 4 5

anonimas

>> fplot(@mifuncion,[-5 5])

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el
smbolo @
Pasa a una funcion el
nombre de otra funcion,
junto con sus argumentos,
para que la ejecute.
Permite definir funciones
anonimas

>> fplot(@mifuncion,[-5 5])

>> fplot(@(x)(sin(x)).^2-(cos(x)).^2,[0 pi])

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el 0.8

smbolo @ 0.6

0.4

Pasa a una funcion el 0.2

nombre de otra funcion, 0

0.2
junto con sus argumentos, 0.4

para que la ejecute. 0.6

0.8

Permite definir funciones 1


0 0.5 1 1.5 2 2.5 3

anonimas

>> fplot(@mifuncion,[-5 5])

>> fplot(@(x)(sin(x)).^2-(cos(x)).^2,[0 pi])

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el
smbolo @
Pasa a una funcion el
nombre de otra funcion,
junto con sus argumentos,
para que la ejecute.
Permite definir funciones
anonimas

>> fplot(@mifuncion,[-5 5])

>> fplot(@(x)(sin(x)).^2-(cos(x)).^2,[0 pi])

>> fplot(@(x)[(sin(x)).^2-(cos(x)).^2, mifuncion(x)],[0 pi])

Pagina 8 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

se definen utilizando el 12

smbolo @ 10

Pasa a una funcion el 8

nombre de otra funcion, 6

junto con sus argumentos, 4

para que la ejecute. 2

Permite definir funciones


2

anonimas 0 0.5 1 1.5 2 2.5 3

>> fplot(@mifuncion,[-5 5])

>> fplot(@(x)(sin(x)).^2-(cos(x)).^2,[0 pi])

>> fplot(@(x)[(sin(x)).^2-(cos(x)).^2, mifuncion(x)],[0 pi])


Pagina 8 Generalidades 2017 R. Prato
Function Handle (funciones de referencias)

Se puede ejecutar una sub-funcion desde otra funcion definida en un


fichero *.m diferente

Pagina 9 Generalidades 2017 R. Prato


Function Handle (funciones de referencias)

Se puede ejecutar una sub-funcion desde otra funcion definida en un


fichero *.m diferente

function [s,p]=funchand function operaciones


p=@subf;
s=@subg; [s,p]=funchand

function A=subf(B, C) A=eye(3);


A=B*C; B=eye(3);
end
C=feval(s,A,B)
function A=subg(B, C) D=feval(p,A,B)
A=B+C;
end % E=s(A,B)

end end

Pagina 9 Generalidades 2017 R. Prato

You might also like