Publicado el 13 de Enero del 2021
695 visualizaciones desde el 13 de Enero del 2021
28,4 KB
2 paginas
Creado hace 19a (28/03/2006)
Complementos de Matlab
Funciones inline:
Ya hemos visto que podemos construir una función, digamos mifunc(x,y) creando un
archivo .m con el mismo nombre. Es un procedimiento muy valido para funciones más
o menos complicadas, pero en ocasiones queremos utilizar funciones sencillas como
x^2+3 y necesitamos de una forma más simple de definirlas. Para ello MATLAB
permite definir funciones a partir de expresiones matemáticas por medio de la función
inline. Esta función trata de averiguar inteligentemente cuáles son los argumentos de la
función inline, a partir del contenido de la expresión matemática. Por defecto se supone
que 'x' es el argumento, aunque es también posible determinarlos explícitamente al
llamar a inline. Consideremos los siguientes ejemplos:
» f=inline('x^2+3')
f =
Inline function:
f(x) = x^2+3
» g=inline('x^3+y^3','x','y')
g =
Inline function:
g(x,y) = x^3+y^3
» f(3)
ans =
12
» g(2,5)
ans =
133
Debemos destacar dos cosas:
1) En la expresión matemática que se utiliza para definir las funciones en línea no
debe colocarse el operador punto, dado que no se trata de operaciones entre
vectores sino de una expresión de caracteres.
2) Cuando una función en línea se utiliza como parámetro de otra función, no debe
encerrarse entre apóstrofos, debido a que se trata de un nombre de función y no
del nombre de un archivo .m de función. Por ejemplo:
» feval(‘sin’,0)
ans =
0
» feval(f,3)
ans =
12
Otras funciones de uso comun en Matlab
- isnan(A)
chequea si hay valores NaN en A, devolviendo una matriz de unos y ceros del mismo
tamaño que A.
» isnan([pi NaN Inf -Inf])
ans =
0 1 0 0
- linspace(x1,x2, n)
genera un vector con n valores igualmente espaciados entre x1 y x2
» linspace(0,1,6)
ans =
0 0.2000 0.4000 0.6000 0.8000 1.0000
Numero variable de argumentos y de valores de retorno en funciones:
En cualquier función existen dos variables definidas de modo automático, llamadas
nargin y nargout, que representan respectivamente el número de argumentos y el
número de valores de retorno con los que la función ha sido llamada. Dentro de la
función, estas variables pueden ser utilizadas como el programador desee.
Contorno de funciones:
Podemos utilizar la función contour para graficar el contorno de una función. La
sintaxis básica es: contour(x,y,,z,nivel) donde z es el arreglo bidimensional de la
función; x e y son las coordenadas x e y en arreglos bidimensionales respectivamente; y
nivel es un vector que contiene los niveles de contorno, o bien, es un número entero m
que se interpretará como el número de niveles de contorno; estos niveles se determinan
dividiendo los valores mínimo y máximo de z en m-1 niveles. Por ejemplo:
» x = -2:0.2:2;
» y = x;
» [X,Y] = meshgrid(x,y);
» Z = X.*exp(-X.^2-Y.^2);
» mesh(X,Y,Z)
» contour(X,Y,Z,10)
También se puede utilizar para graficar funciones implícitas f(x,y)=0 en 2D. Por
ejemplo, una parábola y una elipse:
» x = -3:0.1:3;
» y = x;
» [X,Y] = meshgrid(x,y);
» Z1 = X.^2-2*X-Y+0.5;
» Z2 = X.^2+4*Y.^2-4;
» contour(X,Y,Z1,[0,0])
» hold on
» contour(X,Y,Z2,[0,0])
En los comandos anteriores el vector [0,0] en los argumentos de contour sirve para
especificar el nivel de contorno. El único contorno que nos interesa es el del nivel 0,
pero los niveles de contorno deben estar en forma de vector, por lo que repetimos el
cero.
Comentarios de: Complementos de Matlab - Funciones inline (0)
No hay comentarios