Funciones en Linea de Matlab (inline Functions)

Como ya sabemos Matlab posee grandes capacidades en el ámbito científico, hoy vamos a ver una cualidad más, y es el hecho de que Matlab nos permite realizar definiciones rápidas de funciones, es decir, antes cuando creábamos una nueva función, esta debía ser declarada y escrita en un fichero con extensión .m y guardada en disco, esto es útil cuando una función hace parte de un programa extenso e incluso la cantidad de código que debe escribirse es considerable, sin embargo, hay ocasiones donde necesitamos declarar algunas funciones cortas que se deben ejecutar de forma repetitiva, esto es, por ejemplo una función matemática tipo f(x)=x*cos(x), no vale la pena (si no es necesario) utilizar variables simbólicas ya que esto hace que debido a la carga de procesamiento, nuestro programa vaya más lento.

Matlab nos proporciona lo que conocemos como ‘inline functions’ o en español como ‘funciones en linea’ o ‘de linea‘, esto nos permite crear en la misma ventana de comandos, una corta función que puede ser llamada de forma repetida, supongamos que quiero hacer una función f(x) = sen(x)/x, entonces la sintaxis es la siguiente.

inline1 Sigue leyendo

Vectores y Valores Propios en Matlab (Autovalores y Autovectores).

Habíamos comentado antes cómo hallar los vectores y valores propios en Scilab, ahora es el turno de hacerlo en Matlab, ya que por estos días varios de mis compañeros de clase necesitan recordar un poco cómo se hacía para las clases de Control, por aquello de los valores característicos, el polinomio característico y los polos del sistema, así que aquí va.

Primero que nada debemos recordar la ecuación del vector propio, que nos dice que para cierto vector v y un valor escalar (Lambda) la multiplicación de la matriz A por dicho vector es igual a un escalar multiplicado por el mismo vector, osea que es como si la matriz se comportara como un simple escalar, con lo que el vector ‘v‘ solo cambiaría su tamaño, pero en ningún momento su dirección, esto se ve en la siguiente ecuación.

eigen1

Definamos para los siguientes ejemplos la matriz A. Sigue leyendo

Cargar Archivos de Sonido en Simulink, .wav

Cuando hacemos uso de Simulink, lo más probable es que nos encontremos trabajando con sistemas dinámicos o con procesamiento de señales, si nos encontramos trabajando en lo segundo, algo que resulta muy común es la elaboración de filtros digitales y ello en algunas ocasiones conlleva el uso de archivos de sonido en Simulink pero ¿cómo cargo un sonido en Simulink?.

Para este ejemplo vamos a cargar un archivo relativamente corto con formato .wav a Simulink y al cargarlo, a continuación dejaremos que se reproduzca haciendo uso del símbolo de ‘parlante’ o ‘bocina’ de la librería sinks, esto lo haremos mediante el toolbox de procesamiento de señales, en mi caso (Matlab 2013) el tootlbox tiene el nombre DSP System Toolbox (como se muestra en la figura 1) de (Digital Signal Processing ToolBox), si tienes otro Matlab y no lo encuentras por este nombre, solo bastará con que identifiques cual es el toolbox para procesamiento de señales y ya está.

Figura 1. Elegir el ToolBox

Figura 1. Elegir el ToolBox.

Sigue leyendo

Solución Numérica de Ecuaciones Diferenciales con ode45 en Matlab, Ejemplos.

[Recuerda que en este Blog los enlaces para la descarga del código se encuentran al final del artículo.]

En muchas ocasiones, nos enfrentamos a ecuaciones diferenciales de las cuales es muy difícil o simplemente no puede obtener una solución analítica, para esto existen los métodos numéricos, y en esta ocasión explicaremos un método numérico (en realidad su función) extremadamente conocido entre la comunidad usuaria de Matlab y en general en el ámbito científico llamado ode45() el cual es una variación un optimización del método de Runge-Kutta modificado.

LA SINTAXIS.

Sigue leyendo

Método de la Secante en Matlab (código).

[Recuerda que en este Blog los enlaces para la descarga del código se encuentran al final del artículo.]

Continuamos con los métodos utilizados para hallar raíces de ecuaciones y hoy es el turno del conocido método de la secante, cómo vimos anteriormente el Método de Newton-Raphson es uno (sino el) método mas usado para hallar las raíces de una función real bien definida, pero uno de los potenciales inconvenientes de implementar este algoritmo es el echo de tener que evaluar la derivada de la función, esto naturalmente no representa un problema si hablamos de polinomios y otras funciones simples, pero en algunos casos nos encontramos con ciertas funciones que no son tan elementales y la función es complicada y difícil de evaluar y claramente de derivar, para evitar un poco el costo computacional de hallar dichas derivadas, estas pueden ser aproximadas mediante diferencias finitas.

(recuerden que el código se encuentra al final para su descarga)

Sigue leyendo

Método de Newton Raphson (Newton-Fourier) en Matlab

[Recuerda que en este Blog los enlaces para la descarga del código se encuentran al final del artículo.]

Cuando hablamos de métodos numéricos o análisis numérico es imposible no nombrar el método de Newton-Raphson también conocido como método de Newton-Fourier, este método es del tiempo ”abierto” ya que su convergencia no está garantizada y depende de una buena estimación inicial de la raíz y de la naturaleza propia de la función f(x) sabiendo entonces que si la función presenta varios punto de inflexión o pendientes muy grandes cerca de la raíz a encontrar entonces la probabilidades de que el método finalmente diverja comienzan a aumentar. Sigue leyendo