基於Matlab的各地陽光強度計算

1.起因

    寒假回家那幾天,經常看到太陽能熱水器中的水沸騰然後和蒸汽一起噴射出來。但最近夏天卻不怎麼出現這個現象了,開始以爲是沒水,上樓頂看了一下發現事情並不簡單。

    初步考慮有兩個方面的原因:

    1)夏天陽光對地面是直射的,但太陽能熱水器與地面之間有傾角,這使得夏天熱水器不能被陽光直射,冬天反而可以。

    2)夏天地日距離較長(座標昆明),這減弱了到達地球的太陽光強度。

2.結果及結論

 從圖d中可以看出,太陽能熱水器在冬天接收到的太陽光強度確實是最強的,而夏天則比冬天弱了30%以上

 

3.計算

    1)根據地日距離最大值與最小值計算出地球的橢圓軌道方程,再根據軌道方程計算出不同日期的地日距離 rho。

    2)計算出不同日期的太陽光強度T。

    3)根據地球自轉軸傾角計算出不同日期正午時的陽光與地面垂線夾角alpha。

    4)引入當地緯度計算當地alpha。

    5)引入設備安裝傾角計算設備平面垂線與陽光夾角alpha_rec。

    6)計算真實光照強度 T= Te /(rho^2)*cos(alpha),其中Te是假設的太陽發光量。

4.程序

LocalLatitude= 25.05; % 當地緯度
DipAngle= 45;         % 設備傾角

%-----------------------------------------------------------------------%
theta= linspace(0,2*pi,100);         % 春分點爲起點,地球在軌道上的角度位置
alpha= 23.5/180*pi*sin(theta);       % 正午時,0°緯線上陽光與地面垂線的夾角
alpha= -alpha+ LocalLatitude/180*pi; % 正午時,當地陽光與地面垂線的夾角
alpha_rec= alpha- DipAngle/180*pi;   % 正午時,當地設備陽光與地面垂線的夾角
rho= 14956./(1- 0.016711* sin( theta)); % 地日距離
T= 10000./(rho.* rho).* cos(alpha);  %地面陽光強度
T= T/max(T);                         %歸一化
T_rec= 10000./(rho.* rho).* cos(alpha_rec); %接收到的陽光強度
T_rec= T_rec/max(T_rec);             %歸一化
season= ['春';'夏';'秋';'冬';'春'];

subplot(2,2,1);
plot(theta,rho);
ylabel('日地距離(萬千米)');
set(gca, 'Xtick',[]);
for i=1:1:5
    k= min((i-1)*25+1,100);
    text(theta(k),rho(k),season(i,1));
end
subplot(2,2,2);
alpha= alpha/pi*180;
plot(theta,alpha);
ylabel('太陽斜射角(°)');
set(gca, 'Xtick',[]);
for i=1:1:5
    k= min((i-1)*25+1,100);
    text(theta(k),alpha(k),season(i,1));
end
subplot(2,2,3);
plot(theta,T);
ylabel('地面相對陽光強度');
set(gca, 'Xtick',[]);
for i=1:1:5
    k= min((i-1)*25+1,100);
    text(theta(k),T(k),season(i,1));
end
subplot(2,2,4);
plot(theta,T_rec);
ylabel('接收相對陽光強度');
set(gca, 'Xtick',[]);
for i=1:1:5
    k= min((i-1)*25+1,100);
    text(theta(k),T_rec(k),season(i,1));
end

完。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章