viernes, 19 de agosto de 2011

FUNCIONES EN ARCHIVOS .M

Las funciones en MATLAB son programas que toman las variables que se les pasan (variables de entrada), realiza unos cálculos y manipulaciones con ellas y devuelve unos resultados (variables de salida). La estructura general es

                                 funtion [variables de salida] = nombrefuncion(variables de entrada)
                                                                     ORDENES
Las órdenes evaluadas por la función, así como las variables intermedias creadas por estas órdenes, están escondidas, sólo son visibles las variables de entrada y salida. Esto hace que las funciones sean muy adecuadas para encapsular funciones matemáticas útiles o secuencias de órdenes que aparezcan a menudo.
   MATLAB nos permite crear funciones propias en forma de archivos .m. Un archivo .m de función es similar a un archivo script, al igual que ellos son archivos de texto creados en un editor de texto. La diferencia entre ambos es que la función sólo se comunica con el espacio de trabajo a traves de las variables de entrada y salida, las variables intermedias dentro de la función no aparecen ni interactuan con el espacio de trabajo de MATLAB
Como ejemplo de funciones propias de MATLAB dditemos el archivo fliplr.m
function y = fliplr(x)
%FLIPLR Flip matrix in left/right direction.
%   FLIPLR(X) returns X with row preserved and columns flipped
%   in the left/right direction.

%   X = 1 2 3     becomes  3 2 1
%       4 5 6              6 5 4
%
%   See also FLIPUD, ROT90, FLIPDIM.
%   Copyright (c) 1984-98 by The MathWorks, Inc.
%   $Revision: 5.5 $  $Date: 1997/11/21 23:28:49 $
if ndims(x)~=2, error('X must be a 2-D matrix.'); end
[m,n] = size(x);
y = x(:,n:-1:1);

La primera línea de comentarios es la línea que examina el comando lookfor, el primer bloque de comentarios es lo que aparece al ejecutar el comando help fliplr.    La primera vez que MATLAB llama a una función, compila las ordenes en una representación interna, de modo que se acelera la ejecución de las llamadas siguientes. 

 

No hay comentarios:

Publicar un comentario