Esta página es para la versión anterior. La página correspondiente en inglés se eliminó en la versión actual.

Crear una narrativa interactiva con el editor en directo

A continuación se muestra un ejemplo de cómo utilizar el editor en directo para crear una narrativa interactiva. Crea una narrativa interactiva para contar una historia con cálculos que hayas utilizado para resolver un problema. En este ejemplo se muestra cómo:

  • Utilice texto formateado para describir su enfoque.

  • Muestre la salida junto con su código de MATLAB.

  • Utilice ecuaciones para describir las matemáticas subyacentes.

  • Incluir imágenes para ilustrar puntos importantes.

  • Proporcione hipervínculos al material de fondo.

  • Permita que el lector modifique los parámetros y vuelva a ejecutar el análisis.

  • Incluir gráficas para visualización.

  • Invite a sus colegas a ampliar su análisis.

El enfoque general

En el editor en directo, puede incluir texto formateado como parte de la narrativa interactiva. Use texto en negrita, cursiva y subrayado para resaltar palabras o ideas importantes. Utilice viñetas o números para formatear listas.

En este ejemplo vamos a estimar el salida de energía de una instalación típica del panel solar. Usaremos 12 mediodía el 1 de junio en Boston para ilustrar cómo calcular lo siguiente:

  • Tiempo solar

  • Declinación solar y elevación solar

  • La masa de aire y la radiación solar alcanzando la superficie de la tierra

  • Radiación en un panel solar dada su posición, inclinación y eficiencia

  • Potencia generada en un día y durante todo el año

Usaremos estas fórmulas para trazar radiación solar y de panel para nuestro día de ejemplo, y luego trazaremos la generación de energía del panel que se espera en el transcurso de un año. Utilizaremos dos funciones de MATLAB creadas para este análisis, solarCorrection y hourlyPanelRadiation, para agilizar el análisis.

Tiempo solar

Mostrar la salida junto con el código que lo produjo. Para ejecutar una sección de código, vaya a la Editor en vivo y haga clic en el botón Ejecutar sección botón.

La generación de energía en un panel solar depende de la cantidad de radiación solar que llegue al panel, que a su vez depende de la posición del sol en relación con el panel a medida que el sol se mueve a través del cielo.

lambda = -71.06;                                           % Boston longitude phi = 42.36;                                               % Boston latitude UTCoff = -5;                                               % Boston UTC offset  TZ = ['UTC' num2str(UTCoff)]; january1  = datetime(2016,1,1,'TimeZone',TZ);              % January 1st localTime = datetime(2016,6,1,12,0,0,'TimeZone',TZ)        % Noon on June 1
localTime = datetime
   01-Jun-2016 12:00:00

Para calcular la posición del sol para una fecha y hora dadas necesitamos utilizar solar tiempo. El tiempo solar del mediodía se define como el tiempo en el que el sol es más alto en el cielo. Para calcular el tiempo solar, aplicamos una corrección a la hora local. Esa corrección tiene dos partes:

  • Un término que corrige la diferencia entre la localización del observador y el meridiano local

  • Un término orbital relacionado con la excentricidad de la órbita de la tierra y su inclinación axial

Usaremos una función de MATLAB creada para este análisis llamado solarCorrection. Por ejemplo, al mediodía del 1 de junio, el tiempo solar sería:

d = caldays(between(january1,localTime,'Day'));            % Day of year solarCorr = solarCorrection(d,lambda,UTCoff);              % Correction to local time solarTime = localTime + minutes(solarCorr)
solarTime = datetime
   01-Jun-2016 12:18:06

Declinación y elevación solares

Incluir ecuaciones para describir las matemáticas subyacentes. Crear ecuaciones usando comandos latex. Para agregar una nueva ecuación, vaya a la Editor en vivo y haga clic en el botón Ecuación botón. Haga doble clic en una ecuación para editarla en el editor de ecuaciones.

La declinación del sol () es el ángulo del sol en relación con el plano ecuatorial de la tierra. La declinación solar es en los equinoccios de primavera y otoño y se eleva a un máximo de en el solsticio de verano. En cualquier día del año (d), la declinación puede calcularse a partir de la siguiente fórmula:

De la declinación () y la latitud () podemos calcular la elevación del sol () en el momento actual.

Aquí es el ángulo de la hora, que es el número de grados de rotación de la tierra entre el tiempo solar actual y el mediodía solar.

delta = asind(sind(23.45)*sind(360*(d - 81)/365));          % Declination omega = 15*(solarTime.Hour + solarTime.Minute/60 - 12);     % Hour angle alpha = asind(sind(delta)*sind(phi) + ...                   % Elevation      cosd(delta)*cosd(phi)*cosd(omega)); disp(['Solar Declination = ' num2str(delta) '   Solar Elevation = ' num2str(alpha)])
Solar Declination = 21.9634   Solar Elevation = 69.2589 

Conocer la declinación del sol y la latitud local nos permite calcular el tiempo de amanecer y atardecer. El amanecer y la puesta del sol se calculan en tiempo estándar.

midnight = dateshift(localTime,'start','day'); sr  = 12 - acosd(-tand(phi)*tand(delta))/15 - solarCorr/60; sunrise = timeofday(midnight + hours(sr)); ss   = 12 + acosd(-tand(phi)*tand(delta))/15 - solarCorr/60; sunset = timeofday(midnight + hours(ss)); disp(['Sunrise = ' datestr(sunrise,'HH:MM:SS') '   Sunset = ' datestr(sunset,'HH:MM:ss') ])
Sunrise = 04:15:34   Sunset = 19:08:11 

Masa de aire y radiación solar

Incluya imágenes para ilustrar los puntos importantes de su historia. Para incluir una imagen de un archivo, copie y pegue una imagen de otra fuente o vaya a la Editor en vivo y haga clic en el botón Imagen botón.

A medida que la luz del sol pasa a través de la atmósfera de la tierra, parte de la radiación solar será absorbida. La masa de aire es una función de elevación solar (). Como se muestra en el diagrama de abajo, es una medida de la longitud del camino de luz a través de la atmósfera (Y) en relación con el camino más corto posible (X) cuando la elevación del sol es 90.

Cuanto mayor sea la masa de aire, menos radiación alcanzará el suelo. La masa de aire se puede calcular a partir de la ecuación

Entonces la radiación solar (en kW/m ^ 2) que alcanza el suelo se puede calcular a partir de la ecuación empírica

AM = 1/(cosd(90-alpha) + 0.50572*(6.07955+alpha)^-1.6354); sRad = 1.353*0.7^(AM^0.678);                                % kW/m^2 disp(['Air Mass = ' num2str(AM) '   Solar Radiation = ' num2str(sRad) ' kW/m^2'])
Air Mass = 1.0688   Solar Radiation = 0.93164 kW/m^2 

Radiación solar en paneles fijos

Utilice hipervínculos para hacer referencia a la información de soporte de otras fuentes. Para agregar un hipervínculo, vaya a la Editor en vivo y haga clic en el botón Hipervínculo botón.

Los paneles instalados con un perseguidor solar pueden moverse con el sol y recibir el 100% de la radiación del sol mientras que el sol se mueve a través del cielo. Sin embargo, la mayoría de las instalaciones célula solar tienen paneles fijados en un Azimut y inclinación fijos. Por lo tanto, la radiación real que llega al panel también dependerá de la acimut del sol. El acimut solar () es la dirección de la brújula de la posición del sol en el cielo. En el mediodía solar en el hemisferio norte el acimut del sol será 180 (sur). El acimut solar se calcula a partir de esta ecuación:

gamma = acosd((sind(delta)*cosd(phi) - cosd(delta)*sind(phi)*cosd(omega))/cosd(alpha)); if (hour(solarTime) >= 12) && (omega >= 0)     gamma = 360 - gamma; end disp(['Solar Azimuth = ' num2str(gamma)])
Solar Azimuth = 191.8568 

En el hemisferio norte, una instalación típica del panel solar tendría paneles orientados hacia el sur con un Azimut de panel () de . En latitudes norteñas un ángulo de inclinación típico () sería 35. Para los paneles fijos, la radiación del panel se calcula a partir de la radiación solar total utilizando esta ecuación:

beta = 180;                                                 % Panel azimuth tau = 35;                                                   % Panel tilt pRad = sRad*max(0,(cosd(alpha)*sind(tau)*cosd(beta-gamma) + sind(alpha)*cosd(tau))); disp(['Panel Radiation = ' num2str(pRad) ' kW/m^2'])
Panel Radiation = 0.8989 kW/m^2 

Tamaño y eficacia del panel

Permita que el lector cambie los valores de los parámetros del análisis para ver cómo los diferentes valores de los parámetros afectan a los resultados.

Nuestros cálculos reflejan hasta ahora la radiación solar máxima teórica disponible para la conversión de energía. Sin embargo, los paneles solares no convierten el 100% de la radiación solar disponible en electricidad. La eficiencia de un panel solar es la fracción de la radiación que llega al panel que se convierte en electricidad. La eficiencia de un panel solar depende del diseño y los materiales de la célula.

Vamos a utilizar un típico 20 instalación residencial con una eficiencia del 25% para calcular la potencia de salida prevista. Puede modificar los parámetros de abajo para ver cómo la eficiencia y el tamaño afectan la generación de energía del panel.

eff = 0.25;                                                 % Panel efficiency pSize = 20;                                                 % Panel size in m^2 pElec = eff*pSize*pRad;                                     % Panel electric output in kW disp(['Expected electical output = ' num2str(pElec) ' kW'])
Expected electical output = 4.4945 kW 

Generación de energía con el tiempo

Cree diagramas en el editor en directo junto con el código que los produjo. Haga doble clic en un diagrama para abrirlo en una ventana de figura separada.

Ahora podemos calcular cuánta energía generará un panel en cualquier día del año. Para simplificar el análisis, usaremos una función denominada hourlyPanelRadiation que utiliza las ecuaciones anteriores para calcular la radiación solar total por hora y la radiación del panel para una fecha y ubicación dadas. El parámetro isFixed se establece en 1 para los paneles fijos, 0 para los paneles de seguimiento.

[time, sRad, pRad] = hourlyPanelRadiation(date, longitude, latitude, UTCoff, panelTilt, panelAzimuth, isFixed)

isFixed = 1; date = datetime(2016,6,1,'TimeZone',TZ);                      % Try other dates [times, sRad, pRad] = hourlyPanelRadiation(date, lambda, phi, UTCoff, tau, beta, isFixed) ;  plot(times,sRad,times,pRad) title(['Solar and Panel Radiation for ' datestr(date,'mmmm dd yyyy')]) xlabel('Hour of Day'); ylabel('Radiation, kW/m^2') legend('Available Solar Radiation','Solar Radiation on Panel', 'Location','South')

Podemos repetir el cálculo para estimar la generación de energía para cada día del año.

date = datetime(2015,1,1:365,'TimeZone',TZ);        % Create a vector of days in the year for i = 1:365     [times, sRad, pRad] = hourlyPanelRadiation(date(i), lambda, phi, UTCoff, tau, beta, isFixed) ;     radiation = sum(pRad(1:end-1)+pRad(2:end))/2;     dailyPower(i) = eff*pSize*radiation;  end  plot(date,dailyPower) title('Yearly Power Generation') xlabel('Date'); ylabel('Power Generation, kW-hrs')

yearlyPower = sum(dailyPower); disp(['Expected annual power output = ' num2str(yearlyPower) ' kW-hrs'])
Expected annual power output = 9954.3272 kW-hrs 

Ampliación del análisis

Comparta su análisis con sus colegas. Pídales que reproduzcan o amplíen su análisis. Trabaje colaborativamente usando el editor en vivo.

En realidad, la salida de energía verdadera de una instalación solar será afectada perceptiblemente por condiciones atmosféricas locales. Una extensión interesante de este análisis sería ver cómo la cubierta de la nube afecta a los resultados. En los Estados Unidos, podemos utilizar los datos de los siguientes sitios web del gobierno.