January 17

Tutorial de simulación de MATLAB Polyfit: todo lo que debes saber

Tutorial de simulación de MATLAB Polyfit: todo lo que debes saber

Matthew Scyoc

Tutorial de simulación de MATLAB Polyfit: todo lo que debes saber

Tabla de contenido

¿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.

Loved this? Spread the word


About the Author

Matthew is owner of Sunglass.io. He employs a close-knit group of engineers to develop the technical content on the site, but is passionate about everything engineering. Matthew loves the future of 3D modeling and wants to push for more helpful, useful tools for the engineering community. Feel free to reach out to him directly on the Contact page or on LinkedIn!

Matthew Scyoc

Related posts

La mejor computadora portátil para SOLIDWORKS en 2019: precio, revisión, especificaciones recomendadas

​Read More

El mejor software de modelado 3D en 2019: todo lo que debes saber

​Read More

La mejor computadora portátil para modelado y renderizado 3D en 2019: todo lo que necesitas saber

​Read More

[2019] Las mejores computadoras portátiles para estudiantes de ingeniería

​Read More
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Subscribe to our newsletter now!