Tutorial de simulación de MATLAB Polyfit: todo lo que debes saber
Tabla de contenido
- ¿Qué es el ajuste de curva polinómica?
- Introducción al ajuste de curvas polinomiales
- Fundamentos de la función polinómica: breve tutorial en MATLAB
- Descripción
- Objetivo: ajustar el polinomio a la función trigonométrica
- Ejemplo dos: Polyfit MATLAB
- Conclusión
¿Qué es el ajuste de curva polinómica?
Las funciones polinomiales son funciones que implican potencias enteras no negativas de x. Estos incluyen funciones como funciones cuadráticas, funciones cúbicas y el resto de las progresiones de potencia. El proceso de ajuste de la curva polinómica es el proceso de construir una función matemática de mejor ajuste, a una serie de puntos de datos, de tal manera que la curva sea representativa de la mayoría de los puntos de datos presentes. La clave es identificar una curva “suave” de mejor ajuste. Este tutorial permite al lector determinar dicha curva a partir de datos preexistentes. El software utilizado para determinar este resultado es MATLAB.
Introducción al ajuste de curvas polinomiales
En el análisis matemático, el ajuste de la curva comienza con el proceso de hacer coincidir una salida y, con un conjunto de datos que comprende variables x que experimentan una transformación funcional. Esto está representado por la ecuación general y = f ( x ). En todas las condiciones, este es el objetivo que se está cumpliendo. Con funciones polinómicas de órdenes superiores a uno, se generan curvas en lugar de líneas, debido a la naturaleza de la transformación que se ejecuta en las variables de entrada en el dominio x. A continuación se muestra un ejemplo de imágenes esperadas de polinomios.
Créditos de imagen: Google Images (Wikipedia Commons Image)
Las imágenes codificadas por colores representan diferentes grados de funciones polinomiales en un sistema, con el primer orden en rojo, el polinomio de segundo orden en verde, el tercer orden en naranja y el cuarto orden representado en azul. Para un conjunto de datos dado, el objetivo es hacer coincidir el conjunto de datos con su curva respectiva, asegurando que se hayan cumplido todas las restricciones relevantes. Con el software, el ajuste de datos se ha simplificado, lo que facilita el uso de técnicas de ajuste geométrico para proporcionar el mejor ajuste visual. Facilitando lo mejor en herramientas de optimización de curvas matemáticas, el resultado más uniforme se puede obtener de la mayoría de las herramientas estadísticas. MATLAB es muy poderoso a este sentido.
Fundamentos de la función polinómica: breve tutorial en MATLAB
Con la teoría general descrita anteriormente, veamos ahora las diversas posibilidades para los cálculos de la función polinómica en el entorno de usuario MATLAB R2018b. Una nueva página de comandos está abierta a continuación. Para este ejercicio, nos centraremos en la ventana de comandos en el lado derecho de la pantalla. Aquí es donde se ingresará el código relevante para el programa de función polinómica. En la parte inferior izquierda estará el espacio de trabajo, donde se mostrarán las respuestas y, finalmente, el sistema generará una ventana de visualización para la curva de salida.
El sistema MATLAB inicialmente contiene una curva de aprendizaje empinada, pero con la práctica, los usuarios encontrarán que el sistema está diseñado para ser intuitivo para el usuario final. El sistema tiene varias funciones que están diseñadas para facilitar la ejecución de la tarea de ajuste de curva adecuada. Dado que MATLAB es intensivo en programación, una sección de este tutorial ampliará los códigos críticos que son aplicables al ajuste de curvas polinomiales. Sea paciente, ya que el procesamiento en sí mismo lleva menos de un minuto. Los pasos críticos implican saber qué ingresar al sistema antes de recibir una salida.
Para empezar, en el entorno de usuario de MATLAB, el código crítico que facilita el ajuste de curvas es la función polyfit. Esta función tiene múltiples usos como se mostrará a continuación. El tutorial de hoy se centrará en dos ejemplos del libro de trabajo de MATLAB, que permiten al usuario familiarizarse con la función de Ajuste de curvas polinómicas en el sistema MATLAB. La sintaxis del código MATLAB para el ajuste de curvas polinómicas (extraída del libro de trabajo para mayor claridad antes de los ejemplos) se indica a continuación:
Sintaxis
p = polyfit(x,y,n)
[p,S] = polyfit(x,y,n)
[p,S,mu] = polyfit(x,y,n)
Descripción
p = polyfit(x,y,n) devuelve los coeficientes para un polinomio p(x) de grado n que se ajusta mejor (en un sentido de mínimos cuadrados) para los datos en y. Los coeficientes en p están en potencias descendentes, y la longitud de p es n+1
p ( x ) = p 1 xn + p 2 xn −1 +… + pnx + pn +1.
[p,S] = polyfit(x,y,n) también devuelve una estructura S que se puede usar como entrada polyval para obtener estimaciones de error.
[p,S,mu] = polyfit(x,y,n) también regresa mu, que es un vector de dos elementos con valores de centrado y escala. mu(1) es mean(x), y mu(2) es std(x). Usando estos valores, polyfit centra x en cero y lo escala para tener una desviación estándar unitaria.
Esta transformación de centrado y escala mejora las propiedades numéricas tanto del polinomio como del algoritmo de ajuste “.
Con estos detalles descritos, saltemos a los cálculos. Conocer el código apropiado es integral para determinar el resultado de un conjunto de datos. Con los datos estadísticos disponibles para una variedad de aplicaciones, incluidas las aplicaciones de ingeniería y operativas, las funciones anteriores facilitarán las correlaciones apropiadas entre las entradas y las salidas obtenidas. Para simplificar, apliquemos la función polyfit a un ejemplo trigonométrico del libro de MATLAB.
Objetivo: ajustar el polinomio a la función trigonométrica
El asunto resaltado a continuación es pedirle al usuario que genere una curva de diez puntos utilizando una función seno en un conjunto de datos. Los intervalos para los puntos han sido denotados. Para mayor claridad, el código en sí se resaltará en azul, mientras que las instrucciones permanecerán normales.
Genere 10 puntos igualmente espaciados a lo largo de una curva sinusoidal en el intervalo [0,4*pi].
x = linspace (0,4 * pi, 10);
y = sin(x);
Use polyfit para ajustar un polinomio de séptimo grado a los puntos.
p = polyfit (x, y, 7);
Evalúe el polinomio en una cuadrícula más fina y trace los resultados.
x1 = linspace (0,4 * pi);
y1 = polyval (p, x1);
figure
plot (x, y, ‘o’)
hold on
plot (x1, y1)
hold off
Al extraer el código relevante en MATLAB, la entrada de código en el sistema MATLAB es la siguiente:
Los elementos del código tienen en cuenta todos los requisitos relevantes de la pregunta. Las funciones “x” y “y”, así como sus espacios entre líneas, se identifican mediante las restricciones de entrada. Una vez que se ingresa el código, la siguiente es la salida del sistema:
El resultado es una hermosa curva sinusoidal según lo deseado por las instrucciones dadas. Con ajustes adecuados, la calidad de la curva puede ser ajustada por el usuario, para facilitar la calidad de la curva deseada por la naturaleza del proyecto en estudio.
Ejemplo dos: Polyfit MATLAB
El sistema MATLAB está repleto de ejemplos polinómicos que el usuario puede intentar. Este segundo ejemplo se centra en la creación de vectores. Al igual que en el ejemplo anterior, el código crítico se ingresará en MATLAB. Destacando el código relevante en azul:
OBJETIVO: Crear un vector de 5 puntos igualmente espaciados en el intervalo [0,1]y evaluar
en esos puntos
x = linspace (0,1,5);
y = 1./(1+x);
Ajuste un polinomio de grado 4 a los 5 puntos. En general, para los n puntos, puede ajustar un polinomio de grado n-1 para pasar exactamente por los puntos.
p = polyfit (x, y, 4);
Evalúe la función original y el ajuste polinómico en una cuadrícula más fina de puntos entre 0 y 2.
x1 = espacio lins (0,2);
y1 = 1./(1+x1);
f1 = polivalente (p, x1);
Trace los valores de la función y el ajuste polinómico en el intervalo más amplio [0,2], con los puntos utilizados para obtener el ajuste polinómico resaltado como círculos. El ajuste polinómico es bueno en el [0,1] intervalo original , pero rápidamente se desvía de la función ajustada fuera de ese intervalo.
figure
plot (x, y, ‘o’)
hold on
plot (x1, y1)
plot (x1, f1, ‘r–‘)
legend (‘y’, ‘y1’, ‘f1’)
La siguiente es la entrada de código en el sistema MATLAB:
La salida del sistema se muestra a continuación:
Con la variedad de funciones de Polyfit disponibles, los ejemplos en el tutorial de hoy se centraron únicamente en la función de polyfit simple. Si así lo desea, y siente la necesidad de generar curvas más sofisticadas, consulte los códigos iniciales identificados en el preámbulo de las discusiones. Como con todo el software, MATLAB requiere un poco de equidad, pero eventualmente se lograrán los resultados deseados. ¡Feliz codificación!
Conclusión
De los cálculos y la teoría detallada y los antecedentes anteriores, se puede identificar fácilmente que MATLAB R2018b es una poderosa herramienta de simulación. El sistema requiere conocimiento especializado para codificar y navegar adecuadamente el sistema, y tiene una curva de aprendizaje inicialmente empinada. Afortunadamente, hay muchas herramientas de apoyo y tutoriales como los nuestros que están disponibles en línea, lo que facilitará una transición sin problemas al mundo de MATLAB. A medida que aumenta la gamificación, los usuarios disfrutarán del desafío que el sistema proporcionará para ayudarlos a lograr de una manera divertida e interactiva los medios a través de los cuales sus sistemas pueden ser modelados antes del cómputo real. Los cálculos de la declaración IF son omnipresentes y solo pueden ayudarnos a avanzar en la ciencia y la tecnología. Use el tutorial anterior para ayudarlo con sus necesidades científicas y de ingeniería.