Documentos de Académico
Documentos de Profesional
Documentos de Cultura
S 3.B Funciones y Funciones Simbolicas
S 3.B Funciones y Funciones Simbolicas
simbólicas
EFAIC
Contenido
• Estructura de una función • Funciones simbólicas
• Matrices simbólicas
• Función anónima
• Cálculos simbólicos
• Buenas prácticas de • Asunciones en variables simbólicas
programación
• for vs vectores
• Advertencias
• tic y toc
• Funciones simbólicas
• Números, variables y expresiones
simbólicas
Estructura de una función
• Es una rutina realizada para resolver una actividad repetitiva no
contenida en el paquete original o cuando es ineficiente
• Se realiza en el editor y a diferencia de un script tiene un encabezado
con el nombre function salida= nombre_function(parámetros de
entrada)
• function L=longitud(A,B)
•
• try
• C = (A- B);
• catch ME
• if (strcmp(ME.identifier,'MATLAB:dimagree'))
• msg = ['Ocurrio un error de dimensiones: El primer argumento tiene ', ...
• num2str(size(A,2)),' columnas mientras que el segundo ', ...
• num2str(size(B,2)),' columnas.'];
• causeException = MException('MATLAB:myCode:dimensions',msg);
• ME = addCause(ME,causeException);
• end
• rethrow(ME)
• end
• C=(A-B);
• L=sqrt(sum(C.^2,2));
Función anónima
• Es una función que declara sus propias variables y no requiere de un
script
• Su estructura es
• f=@(variables) expresión
• Ejemplo
• f=@(a,b,c,d,x) (x-a)/(x-b)+(x-c)/(x-d)
• f(1,2,3,4,5)
• ans =
• 3.3333
Buenas practicas de programación
• Vectorización vs for
• tic
• (1:2:1000)*(1:500)'
• toc
• % vs
• tic
• S=0;
• B=1;
• for i=1:1000
• if mod(i,2)~=0
• S=S+i*B;
• B=B+1;
• end
• end
• disp(S)
toc
Funciones simbólicas
• Números simbólicos
• sym (1/3)
• %vs
• 1/3
• sin(sym(pi))
• sin(pi)
Variables simbólicas
• syms x
• y = sym('y’)
• syms a b c
• clear all
• A = sym('a', [1 20])
• Whos
• clear all
• syms(sym('a', [1 10]))
• whos
Expresiones simbólicas
Supón que deseamos obtener la expresión de la relación
dorada
phi = (1 + sqrt(sym(5)))/2;
f = phi^2 - phi – 1
O un polinomio cuadrático
syms a b c x
f = a*x^2 + b*x + c;
• f(3,2)
• f(1:3,2:4)
• xVal = 1:5;
• yVal = 3:7;
• f(xVal,yVal)
Matrices simbólicas
• syms a b c
• A = [a b c; c a b; b c a]
• sum(A(1,:))
• A = sym('A', [2 4])
• A = sym('A%d%d', [2 4])
• A = hilb(3)
• A = sym(A)
Cálculos simbólicos
• syms x • diff(diff(f, y))
• f = sin(x)^2; Integración simbólica
• diff(f) • syms x
Derivadas parciales • f = sin(x)^2;
• syms x y • int(f)
• f = sin(x)^2 + cos(y)^2; • syms x y n
• diff(f) • f = x^n + y^n;
• int(f)
• syms x y • syms x y n
• f = sin(x)^2 + cos(y)^2; • f = x^n + y^n;
• diff(f, y, 2) • int(f, y)
vpasolve