ÍNDICE |
INTRODUCCIÓNHasta ahora hemos aprendido a usar MATLAB como una calculadora de gama alta, programable, capaz de realizar y manipular gráficos, ... Pero incluso la calculadora más potente tiene sus limitaciones, sólo manipulan números. El MATLAB básico debe tener números con los que trabajar, o variables a las que se les a asignado un valor numérico, por ejemplo, no podemos preguntar a MATLAB por el seno de una variable a la que no se le a asignado valor previamente.
Ahora estudiaremos como conseguir que MATLAB manipule
expresiones de este tipo (expresiones simbólicas), formadas
por símbolos matemáticos y no sólamente números.
Por ejemplo, son expresiones simbólicas las siguientes
Las herramientas usadas para crear y manipular estas expresiones
forman la toolbox de matemáticas simbólicas. Existen
herramientas para combinar, simplificar, diferenciar, integrar, ... Otras
herramientas son usadas para resolver de manera exacta problemas de álgebra
lineal, evitando los errores que vienen aparejados con los métodos
númericos usualmente utilizados.
CREACIÓN DE EXPRESIONES SIMBÓLICASEn MATLAB las expresiones simbólicas son cadenas de caracteres que representan números, funciones, operadores y variables. Las variables no necesitan tener un valor predefinido. Presentemos algunos ejemplos de expresiones simbólicas con su equivalente en MATLAB
En ambos casos, la primera expresión
ha sido definida implicitamente, usando comillas simples para decirle a
MATLAB
que es una cadena a la que se le pueden aplicar operadores y funciones
simbólicas, la segunda expresión es definida explicitamente,
para decirle a MATLAB que es una expresión simbólica.
También debemos tener cuidado
con las llamadas constantes simbólicas, que no son más
que expresiones simbólicas sin variables, a menudo no se distinguen
de los números propiamente dichos. Una expresión simbólica
como '(3*6-3)/5' es
una cadena de caracteres con todo lo que ello provoca.
VARIABLES SIMBÓLICASCuando trabajamos con expresiones simbólicas con más de una variable, sólo una de ellas es la variable independiente. Si no se indica cuál es esta variable, MATLAB asigna una por defecto siguiendo las siguientes reglas
Además, en expresiones con varias variables, algunas podran ser simbólicas y otras no (tienen un valor definido previamente). Por ejemplo, supongamos que las variables a y b no son simbólicas y que x sí lo es, una expresión como 'a*x+b' es una expresión simbólica con TRES variables simbólicas. Si deseamos trabajar con una expresión del tipo anterior pero donde las variables a y b conserven sus valores numéricos previos deberemos declarar simbólica sólo la variable x usando la instrucción sym.
OPERACIÓNES SIMBÓLICASLa mayoría de las funciones simbólicas actuan sobre expresiones simbólicas y devuelven otra expresión simbólica, aunque a veces el resultado parezca un número. No vamos a entrar con detalle a analizar las multiples funciones simbólicas disponibles, aconsejamos que se utilice la ayuda para conocerlas. Sólamente citaremos la función subs que hemos utilizado en el ejemplo anterior y la función eval, además de la posibilidad de trabajar con una aritmética de precisión variable como se observó en el tema 2 de este tutorial. FUNCIONES SIMBÓLICAS VS. FUNCIONES .MAcabamos este tutprial con un ejemplo de un pequeño problema con el que se enfrenta cualquier persona que decida diseñar sus propios algoritmos en MATLAB. Supongamos que deseamos implementar una función propia para aproximar la integral de una función F en un intervalo [a,b]. Se nos puede ocurrir usar alguno de los métodos conocidos de integración númerica para implementar una función como y=2*x-1; La segunda en cambio nos obliga a definir cada función que queramos usar en nuestro algoritmo como una función .m (o a modificar uno ya creado). Esto provoca que si mi en algoritmo necesito, por ejemplo, derivar mi función, no pueda hacerlo simbólicamente, por lo que me veo obligado a introducirla como otra variable de entrada. No hay regla general, en ocasiones nos conviene optar por una u otra alternativa, o podemos optar por cualquiera, o estaremos obligados a usar una de las dos. Por último, otra opción poco profesional, pero recomendable en ocasiones, es no usar funciones para mis algoritmos, sino un archivo Script a modo de plantilla del tipo b=1; F='2*x^2-1'; (o no introducimos F y usamos funciones .m) ALGORITMO |
ÍNDICE |