Está en la página 1de 10

Syms, Subs y

matlabFunction
Los cálculos en Matlab, por defecto, se realizan en formato numérico. Si efectuamos,
por ejemplo, operaciones como 1/2+1/5 o (π2−1)/(π−1), nos devuelve los valores
aproximados, en vez de los resultados exactos 7/10 y π + 1, respectivamente.
Por otra parte, hay cálculos que se realizan habitualmente en Matemáticas y que no
son posibles con comandos de Matlab. Por ejemplo, al efectuar (a+b)(a−b) o R(2x)dx
obtendremos un mensaje de error si las variables a, b, y x no tienen valores
asignados.
Para solventar este tipo de problemas, podemos utilizar la herramienta cálculo
simbólico de Matlab.
Syms, Cálculo simbólico
Creamos objetos simbólicos y operamos con ellos

Función Salida
syms Crea variables simbólicas.
sym(x) Devuelve x simbólicamente.
Sym Convierte a variable simbólica.
Double Convierte a variable numérica.
Si se utiliza la instrucción syms para declarar variables, estas
se introducen con un espacio en blanco entre ellas. Por
ejemplo,

>> syms s t

declara simbólicas las variables s y t . Si al finalizar la lista se


escribe real, MatLab considerará que estas variables no tienen
parte imaginaria, en caso contrario se presuponen complejas.
Pueden crearse objetos simbólicos y aplicar las funciones habituales:

>> syms x y real %crea las variables simbólicas reales x e y.


>> f=(x+i*y)^3 %crea la variable simbólica f.
>> u=imag(f)
>> v=real(f)

En la instrucción anterior las variables x e y tienen el sentido de variables


independientes habitual en matemáticas. La variable f sería la variable
dependiente, y, como puede observarse, no es necesario declararla.
Para convertir una variable numérica en simbólica se utiliza el comando sym:
>> a=sym(pi) % Almacena en a la constante simbólica pi
a = pi

>> n=double(a) % Obtiene el valor num´erico de la variable a y lo almacena en n


n = 3.1416

>> A=[1 1/3;1 sqrt(2)] % A es una matriz de tipo numérico


A=
1.0000 0.3333
1.0000 1.4142

>>B=sym(A) % B es la expresi´on simb´olica de A B = [ 1, 1/3] [ 1, sqrt(2)]


Subs, Sustitución
Si en una expresión simbólica queremos sustituir una variable por otra
o por una constante para calcular su valor en un punto, utilizamos el
comando subs:
subs(f, antiguas, nuevas) Sustituye las variables antiguas por las nuevas.
Si hay más de una variable las escribiremos entre llaves y separada por
comas.
Por ejemplo, para calcular f(3) y g(1) haríamos:
>> syms x,f=x^3+1,g=’z^2+1’
f = x^3+1
g = z^2+1

>> subs(f,x,3),subs(g,’z’,1)
ans = 28
ans = 2
Nótese que hemos escrito subs(g,’z’,1), en vez de subs(g,z,1), puesto que, al no estar
declarada z como variable simbólica, al ejecutar esta última orden el programa nos
devolvería un mensaje de error indicando que la variable z no existe.
Ejercicio
Constrúyase f = ax2 + bx + c y sustitúyase x por t. Para a=2, b=1, c=0,
obténgase el valor de f, cuando t=2 y t=[1:4].
matlabFuntion, Convertir Simbólico en
anónimo
Convierte una expression simbólica en una función anónima:
>>g = matlabFunction(f) % Convierte una expresión simbólica o
función f a una función Matlab anónima.

>> g = matlabFunction(f1,...,fN) Convierte las expresiones f1,...,fN a


una función Matlab con N salidas la función de manejo es g.

También podría gustarte