Manual Matlab

Page 83

Capítulo 6: Programación de MATLAB

página 75

% fichero pruebafhMain.m fh=pruebafh A=rand(3); B=eye(3)*10; C=feval(fh,A,B) % D=subf(A,B) % ERROR disp('Ya he terminado')

Este ejemplo sencillo es bastante significativo respecto a los beneficios que se pueden obtener de las referencias de función. 6.4.3. INFORMACIÓN CONTENIDA POR UNA REFERENCIA DE FUNCIÓN. FUNCIONES SOBRECARGADAS Una referencia de función puede contener información de varias funciones, en concreto de todas aquellas funciones que fueran "visibles" en el momento en el que dicha referencia fue creada. Recuérdese que funciones visibles, además de las funciones intrínsecas de MATLAB (built-in functions) son las funciones que están definidas en el directorio actual y en los directorios definidos en el path de MATLAB. La función functions permite obtener toda la información disponible de una referencia de función. Obsérvese la estructura salida del siguiente ejemplo (el campo methods es a su vez una estructura que puede mostrarse por separado): >> info=functions(@deblank) function: 'deblank' type: 'overloaded' file: 'c:\matlab6p5\toolbox\matlab\strfun\deblank' methods: [1x1 struct] >> info.methods ans = cell: 'c:\matlab6p5\toolbox\matlab\strfun\@cell\deblank'

En este caso concreto se ha considerado la función deblank, que permite eliminar caracteres en blanco en cadenas de caracteres o en vectoras de celdas con cadenas de caracteres. El valor de retorno de la función functions es una estructura con los cuatro campos siguientes: function

cadena de caracteres con el nombre de la función a la que corresponde la referencia

type

Cadena de caracteres con uno de los siguientes valores: 'simple', 'subfunction', 'private', 'constructor' y 'overloaded'.

file

Cadena de caracteres que contiene el nombre del fichero *.m en el que está definida la función o bien el texto 'MATLAB built-in function'.

methods

Estructura que contiene los paths de los ficheros *.m en los que están definidas las funciones sobrecargadas que se corresponden con esta referencia.

El argumento de la función functions debe ser una referencia de función escalar (no puede ser un array de referencias de función). Los distintos valores del campo type tienen los siguientes significados: simple

Funciones intrínsecas no sobrecargadas.

overloaded

Funciones sobrecargadas. Son las únicas que tienen campo methods.

constructor

Constructores relacionados con clases y objetos.

subfunction

Funciones definidas en un fichero *.m de otra función.

private

Funciones privadas (definidas en un subdirectorio private).


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.