Está en la página 1de 4

Class Monday November 22th 2021

Funciones definidas por el usuario en matlab.

a. Una función es una pieza de código de un lenguaje de programación que acepta un argumento de entrada por
parte del usuario por ejemplo la función y con una salida o respuesta.
b. La funcion ayuda a programar fácilmente, lo que permite ahorrar tiempo con el calculo que se realiza
frecuentemente.
c. Son muchas las funciones internas de matlab, pero en algún momento se tiene la necesidad de definir una
función propia.
d. La función definida por el usuario se guarda como un archivo punto m (*.m). Matlab puede utilizar el archivo si
está guardado en el directorio en el que se esta trabajando.
e. El archivo con el que se guardo la función se puede incorporar como subprograma dentro de otro programa de
mayor tamaño. Es posible construir programas extensos uniendo funciones que se pueden evaluar y depurar
independientemente.
f. Las funciones internas de matlab y las funciones definidas por el usuario poseen la misma estructura. Cada una
tiene un nombre que se le asigna a la función, una alimentación proporcionado por el usuario y la salida.

g. La primera línea, cuando se crea una función definido por el usuario, que se guarda como un
archivo (*.m), por ejemplo el archivo triangle.m es de la siguiente forma:

function [lista_valores_retorno] = triangle(lista_argumentos_entrada)

donde triangle es el nombre con que guardaré mi función.


Entre corchetes y separados por comas se colocan las valores de retorno o de salida (siempre que haya más
de uno)
Entre paréntesis también separados por comas se colocan los argumento de entrada (las variables
independientes)
h. El nombre de la función debe comenzar con letra. Puede formarse con letras, números y el guión bajo.
i. No se pueden usar nombres reservados.
j. Permite una cadena de carácteres de cualquier longitud, aunque los nombres largos no son una buena práctica
en programación.
k. Si no hay valores de retorno se omiten los corchetes y el signo igual (=); si sólo hay un valor de retorno no hace
falta poner corchetes.

Ejemplo 1: rectanglearea.m
La primera línea, cuando se crea una función definido por el osuario
function [area] = rectanglearea(a,b)
Dos argumentos de entrada, un solo argumento de salida.

Ejemplo 2: spher.m
La primera línea, cuando se crea una función definido por el osuario
function [volume,surface] = spher(r)
Una variable de entrada, dos variables de salida.

Ejemplo 3: trajectory.m
La primera línea, cuando se crea una función definido por el osuario

jesus granados hernnadez


Class Monday November 22th 2021

function trajectory(t,x,y)
Tres argumentos de entrada, ningún argumento de salida.

Primero se guarda la función como un archivo (*.m), por ejemplo rectanglearea.m


Después de guardar el archivo (rectanglearea.m) la función está a disposición para ser ejecutada solamente
desde la cammand window, desde un archivo.m script o desde otra función.
La evaluación de una función en matlab se obtiene siempre a través de los valores de retorno, que pueden ser
múltiples y matriciales. Tanto el número de argumentos como el de valores de retorno no tienen que ser fijos,
dependiendo de cómo el usuario llama a la función.

Ejercicio 1: polynomialseconddegree.m
%La función evalua un polinomio de segundo grado en el intervalo (a ≤ x ≤ b)
function [] = polynomialseconddegree(a,b)
x=a:0.01:b;
y=5*x. ^2 - 2*x +1;
plot(x,y);

Ejercicio 2: circleonpolarcoordinates.m
% La función grafica una parte de la circunferencia de radio 1 con centro en el origen en
% coordenada polares; dependiendo del valor que se asigne a la variable angle, si angle es 𝜋 se
% mostrará la mitad superior de la circunferencia, y si angle es 2𝜋 se
% mostrará una circunferencia completa
function []=circleonpolarcoordinates(angle)
tetha=0:0.01:angle;
r=tetha.^0;
polar(tetha,r);

Las variables definidas dentro de una función son


variables locales, en el sentido de que son inaccesibles
desde otras partes del programa y que no
interfieren con variables del mismo nombre definidas
en otras funciones o partes del programa. Se puede
decir que pertenecen al propio espacio de trabajo de la
función y no son vistas desde otros espacios de trabajo.
A diferencia de las variables locales, las variables
globales están disponibles para todas las partes de un
programa. En general, es mala idea definir variables globales.
Sin embargo, matlab protege al usuario del uso no
previsto de una variable global al requerir que se
identifique tanto en el ambiente de la ventana de
comandos (o en un archivo.m script) como en la
función que la usará.
Con el comando global avisa a la función para que busque
en el área de trabajo el valor de la constante de gravitación universal de Newton (G) y la constante del campo
gravitatorio (g) sobre la superficie del Planeta Tierra

jesus granados hernnadez


Class Monday November 22th 2021

Ejercicio 3: forcegravity.m
function [mass,density] = forcegravity(r)
%La función calcula la masa y la densidad del plenta Tierra.
global G;
global g;
G=6.6712e-11;
g=9.81;
mass=g*r^2/G;
volume=4*pi*r^3/3;
density=mass/volume;

Ejercicio 4: factorials.m
% La función calcula el factorial de n.
function [factorial] = factorials(n)
if n==0
factorial=1;
else
while (n<0 || rem(n,1)~=0)
disp("recuerda que n debe der entero y positivo")
n=input('introduce nuevamente n=? ');
end
f=1;
for i=1:1:n
f=f*i;
end
factorial=f;
end

Ejercicio 5: lessernumberinsidedatalist.m
% La función calculará el menor número al interior de una lista de datos, ingresados los datos
% uno por uno con el teclado
function [lesser] = lessernumberinsidedatalist(n)
while (n<=0 || rem(n,1)~=0)
disp("recuerda que n debe ser entero y positivo")
n=input('newly enter the value of n=? ');
end
x1=input('Introduce el dato 1 ');
lesser=x1;
for i=2:1:n
fprintf('Introduce el dato %g ',i),x=input(' ');
if lesser >x
lesser=x;
end
end

Ejercicio 6: lessernumberinsidearrayonedimensional.m
% La función calcula el menor número al interior de un vector unidimensional, ingresados todos

jesus granados hernnadez


Class Monday November 22th 2021

% los datos al mismo tiempo en un solo vector.


% enter the elements on way of array one dimensional
% x=[x1,x2,x3, ... ,xn]
function [lesser] =lessernumberinsidearrayonedimensional(x)
lesser=x(1);
n=length(x);
for i=2:1:n
if lesser>x(i)
lesser=x(i);
end
end

Ejercicio 7: orderinglessergreaternumbersinsidearrayonedimensional.m
% La función ordena los números de menor a mayor al interior de una matriz unidomensional,
% ingresados todos los datos al mismo tiempo en un solo vector
% La funcón regresa otro vector, como una lista de datos ordenados de menor a mayor
% enter the elements on way of array one dimensional
% x=[x1,x2,x3, ... ,xn]
function [x] =orderinglessergreaternumbersinsidearrayonedimensional(x)
n=length(x);
for j=1:1:n-1
greater=x(1);
for i=1:1:n-j
if greater >x(i+1)
x(i)=x(i+1);
x(i+1)=greater;
else
greater=x(i+1);
end % fin del if
end % fin del for interior (anidado)
end % fin del for exterior

jesus granados hernnadez

También podría gustarte