Introducción a Live Editor
Este ejemplo es una introducción a Live Editor. En Live Editor puede crear scripts en vivo que muestran la salida junto con el código que la produjo. Añada texto formateado, ecuaciones, imágenes e hipervínculos para mejorar su narrativa y comparta el script en vivo con otros como un documento interactivo.
Cree un script en vivo en Live Editor. Para crear un script en vivo, en la pestaña Home, haga clic en New Live Script.
Agregar los datos del censo
Divida su script en vivo en secciones. Las secciones pueden contener texto, código y salida. El código de MATLAB® aparece con un fondo gris y la salida aparece con un fondo blanco. Para crear una nueva sección, vaya a la pestaña Live Editor y haga clic en el botón Section Break.
Añada los datos del censo de EE. UU. entre los años 1900 y 2000.
years = (1900:10:2000); % Time interval pop = [75.995 91.972 105.711 123.203 131.669 ... % Population Data 150.697 179.323 213.212 228.505 250.633 265.422]
pop = 1×11
75.9950 91.9720 105.7110 123.2030 131.6690 150.6970 179.3230 213.2120 228.5050 250.6330 265.4220
Mostrar el cambio de población a lo largo del tiempo
Las secciones se pueden ejecutar de forma independiente. Para ejecutar el código en una sección, vaya a la pestaña Live Editor y haga clic en el botón Run Section. También puede hacer clic en la barra azul que aparece cuando mueve el ratón a la izquierda de la sección. Cuando ejecuta una sección, la salida y figuras aparecen junto con el código que las produjo.
Represente los datos de población por año.
plot(years,pop,'bo'); % Plot the population data axis([1900 2020 0 400]); title('Population of the U.S. 1900-2000'); ylabel('Millions'); xlabel('Year') ylim([50 300])
¿Se puede predecir cuál será la población de EE. UU. en el año 2010?
Ajustar los datos
Agregue información de soporte al texto, incluyendo ecuaciones, imágenes e hipervínculos.
Probemos a ajustar los datos mediante polinomios. Utilizaremos la función de MATLAB polyfit
para obtener los coeficientes.
Las ecuaciones de ajuste son:
x = (years-1900)/50; coef1 = polyfit(x,pop,1)
coef1 = 1×2
98.9924 66.1296
coef2 = polyfit(x,pop,2)
coef2 = 1×3
15.1014 68.7896 75.1904
coef3 = polyfit(x,pop,3)
coef3 = 1×4
-17.1908 66.6739 29.4569 80.1414
Representar las curvas
Cree secciones con cualquier número de líneas de texto y código.
Se pueden representar las curvas lineales, cuadráticas y cúbicas ajustadas a los datos. Se utilizará la función polyval
para evaluar los polinomios ajustados en los puntos en x
.
pred1 = polyval(coef1,x); pred2 = polyval(coef2,x); pred3 = polyval(coef3,x); [pred1; pred2; pred3]
ans = 3×11
66.1296 85.9281 105.7266 125.5250 145.3235 165.1220 184.9205 204.7190 224.5174 244.3159 264.1144
75.1904 89.5524 105.1225 121.9007 139.8870 159.0814 179.4840 201.0946 223.9134 247.9403 273.1753
80.1414 88.5622 101.4918 118.1050 137.5766 159.0814 181.7944 204.8904 227.5441 248.9305 268.2243
A continuación, se representan los valores predichos para cada polinomio.
hold on plot(years,pred1) plot(years,pred2) plot(years,pred3) ylim([50 300]) legend({'Data' 'Linear' 'Quadratic' 'Cubic'},'Location', 'NorthWest') hold off
Predecir la población
Puede compartir su script en vivo con otros usuarios de MATLAB para que puedan reproducir sus resultados. También puede publicar sus datos en forma de documentos PDF, Microsoft® Word o HTML. Agregue controles a sus scripts en vivo para mostrar a los usuarios cómo los parámetros importantes afectan al análisis. Para añadir controles, vaya a la pestaña Live Editor, haga clic en el botón Control y seleccione entre las opciones disponibles.
Ahora se puede calcular la población predicha para un año dado utilizando las tres ecuaciones.
year = 2018;
xyear = (year-1900)/50;
pred1 = polyval(coef1,xyear);
pred2 = polyval(coef2,xyear);
pred3 = polyval(coef3,xyear);
[pred1 pred2 pred3]
ans = 1×3
299.7517 321.6427 295.0462
Para el año 2010, por ejemplo, los ajustes lineal y cúbico predicen valores similares de aproximadamente 284 millones de personas, mientras que el ajuste cuadrático predice un valor mucho mayor de aproximadamente 300 millones de personas.