php学校网站源码,重庆多语网站建设品牌企业,重庆市建设工程信息网官网入口网址,仿站吧2015年第四届数学建模国际赛小美赛
B题 南极洲的平均温度
原题再现#xff1a; 地表平均温度是反映气候变化和全球变暖的重要指标。然而#xff0c;在以前的估计中#xff0c;在如何界定土地平均数方面存在一些方法上的差异。为简单起见#xff0c;我们只考虑南极洲。请建…2015年第四届数学建模国际赛小美赛
B题 南极洲的平均温度
原题再现 地表平均温度是反映气候变化和全球变暖的重要指标。然而在以前的估计中在如何界定土地平均数方面存在一些方法上的差异。为简单起见我们只考虑南极洲。请建立一个数学框架用以根据气象站温度计数据定义和估计平均表面温度并描述南极温度随时间的变化。 所需数据可从附件或公布的数据库获取如英国南极调查局网站https://legacy.bas.ac.uk/met/reader/.
整体求解过程概述(摘要) 为了探索南极洲的平均温度我们分别建立了三个不同的模式。第一个模型是南极的温度分析模型。第二个模型是南极洲平均地表温度分析框架。第三个模型描述了南极温度随时间的变化。 在第一个模型中完成数据采集任务获得24828组数据并进行数据预处理获得5884组数据。同时为了获得有效的数据通过对站点信息的分析定义了评价数据可用性的指标。然后分析了各因子对温度的贡献建立了时间、纬度、经度、站压、风速、风向等因子对南极温度的多元线性回归模型。变量的系数依次为0.013、-0.509、-0.065、0.286、-0.431和0.050。模型的拟合优度为0.499。通过对第一个模型的分析明确了各因素的作用得到了各有效因素的贡献信息。 在第二个模型中通过插值确定地表平均温度建立多元非线性回归模型和BP神经网络模型。通过对温度、气压和风场数据进行插值得到特定时间段的平均地面数据。同时考虑到第一类模型拟合优度较低采用多元非线性回归方法。因此我们构造了时间的正弦周期函数并用Levenberg-Marquardt方法对数据进行拟合。得到了时间、气压、风速和风向的线性项系数分别为0.019、0.008、-0.053和0.006的十参数函数的拟合结果。模型的拟合优度为0.626。此外针对BP神经网络在非线性拟合方面的优越性本文还训练了BP神经网络模型。通过对100组数据的检验六隐层BP神经网络模型的拟合优度为0.802。 在第三个模型中我们定义了一个非线性回归模型利用一个5参数的正弦周期函数来获取南极温度随时间变化的信息。周期项系数为-6.283线性关系为0.185。模型的拟合优度为0.707。分析了年平均气温随年份的变化规律得出年平均气温的斜率为0.038。这意味着南极洲的平均气温每十年上升0.38℃。对模型进行了检验平均绝对误差为1.527℃。 总之南极洲的平均温度与某些因素有关。气温呈周期性变化并随年份变化缓慢上升。
模型假设 我们假定站点的经纬度是恒定的。 网站提供的黑色、蓝色和绿色数据均有效。 网站的红色数据无效。
问题重述 在这个问题上我们只需要考虑南极洲。在此基础上提出了一个由气象站温度计数据定义和估算南极平均温度的数学框架并描述了南极温度随时间的变化。从这个问题给我们的网站上我们可以得到很多南极不同站点的数据这些数据来自SCAR阅读器项目。这些数据包括20世纪中叶至21世纪初不同月份的气温、平均海平面气压MSL压力、气压、风速和风向。然而我们所得到的数据仅仅反映了站点周围的温度不能反映整个南极洲的平均温度。因此我们采用插值法来计算平均表面温度。
模型的建立与求解整体论文缩略图 全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
部分程序代码(代码和文档not free)
clear;
clc;
data [];
%load data sheet1-44
%Observatory latitude and longitude data
latitude
[67.8,90,62.5,71.5,78,77.9,62.2,80,52,66.3,68.6,63,66.7,63.4, ...65.4,62.1,40.4,62.2,54.3,75.5,62.2,62.2,69.5,54.5,64.2,66.5,46.8, ...62.4,67.6,77.9,66.5,67.7,70.7,70.8,63.3,60.7,67.5,74.8,68.1,77.9, ...60.7,69,78.5,69.4];
longitude
[-67.9,0,-59.7,24.1,-38.8,-34.6,-58.9,-120,169,110.5,78, ...-60.7,140,-57,-64.4,-58.4,-9.9,-59,-36.5,-26.4,-58.6,-58.7,159.4, ...158.9,-56.7,93,37.8,-58.9,62.9,166.7,93,45.9,-8.4,-11.8,-57.9,-44.7,
...-68.1,-136.9,-67.1,166.7,-45.6,-39.6,106.9,76.4];
height
[26,2835,5,931,50,256,16,1515,19,42,13,8,43,13,11,20,54,10,3,30, ...4,11,304,8,198,30,24,10,16,24,30,40,50,119,10,6,16,124,4,16,6,21,3490
,18];
%Station Pressure for the presence of 11 observation stations start year
%and Temperature discrepancies (Station_Pressure night)
dif_1
[0,0,0,0,0,10,0,0,0,0,0,0,38,36,0,0,46,0,0,0,8,0,0,0,25,55,0, ...37,0,0,0,0,0,0,0,93,0,0,17,0,0,2,0,0];
%For MSL Pressure stations exist seven years starting with the discrepancies
%Temperature, whichever is later processed 5 (Station_Pressure nights)
dif_2
[0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, ...0,0,0,0,0,0,0,5,0,0,0,0,1];
%Wind Speed existence for 14 years and does not match the initial
%observation station Temperature (Wind_Speed night)
dif_3
[0,0,21,0,0,0,0,0,0,1,0,0,0,27,2,0,46,0,54,0,0,0,0,0,13,55,0, ...18,0,0,0,0,0,0,24,84,0,0,5,40,9,0,0,0];
%Wind Direction existence for 24 years starting with the observation
%station Temperature discrepancies (Wind_Direction night)
dif_4
[0,0,21,0,45,2,0,43,0,1,0,0,0,27,2,0,44,2,54,0,0,12,2,0,17,52, ...0,18,0,0,34,0,0,0,24,84,0,1,8,40,9,0,5,1];
for ii 1:44%Read T_deal data%Read sheet data[num_1,txt,raw] xlsread(T_deal.xlsx,ii);%Remove the sheet ii effective dataa_1 num_1(1:2:end,:);%Get valid data sheet ii dimension m rows and n columns%Obtained sheet ii m in total[m,n] size(a_1);flag_1 0;flag_2 0;flag_3 0;flag_4 0;str_1 Sheet;%Read P_deal dataif ii ~ 3 ii ~ 5 ii ~ 8 ii ~ 9 ii ~ 12 ii ~ 15 ... ii ~ 16 ii ~ 19 ii ~ 20 ii ~ 22 ii ~ 33 ... ii ~ 35 ii ~ 37 ii ~ 40 ii ~ 41%Read sheet datastr_2 num2str(ii);str strcat(str_1,str_2);[num_2,txt,raw] xlsread(P_deal.xlsx,str);%Remove the sheet ii effective dataa_2 num_2(1:2:end,:);flag_1 1;end%Read P_MSL_deal dataif ii ~ 2 ii ~ 8 ii ~ 43%Read sheet data
str_2 num2str(ii);str strcat(str_1,str_2);[num_3,txt,raw] xlsread(P_MSL_deal_2.xlsx,str);%Remove the sheet ii effective dataa_3 num_3(1:2:end,:);flag_2 1;end%Data read speed dealif ii ~ 5 ii ~ 8%Read sheet datastr_2 num2str(ii);str strcat(str_1,str_2);[num_4,txt,raw] xlsread(speed_deal.xlsx,str);%Remove the sheet ii effective dataa_4 num_4(1:2:end,:);flag_3 1;end%Reads the data direction dealif ii ~ 27%Read sheet datastr_2 num2str(ii);str strcat(str_1,str_2);[num_5,txt,raw] xlsread(direction_deal.xlsx,str);%Remove the sheet ii effective dataa_5 num_5(1:2:end,:);flag_4 1;endb [];%The first column of data making the year, the number for the year
* monthfor j 1:m%Copy the Year 12 timesfor k 1:12%From left to right, respectively, for the year, month,
latitude, %longitude, altitude, observatories pressure, MSL pressure, %wind speed, wind direction, temperatureb((j-1)*12k,1) a_1(j,1);b((j-1)*12k,2) k;b((j-1)*12k,3) latitude(ii);b((j-1)*12k,4) longitude(ii);b((j-1)*12k,5) height(ii);if flag_1 1if ii ~ 6 ii ~ 13 ii ~ 14 ii ~ 17 ii ~ 21 ii ~ 25 ii ~ 26 ii ~ 28 ... ii ~ 36 ii ~ 39 ii~ 42b((j-1)*12k,6) a_2(j,k1);elseif j dif_1(ii)b((j-1)*12k,6) a_2(j-dif_1(ii),k1);endendendif flag_2 1if ii ~ 4 ii ~ 10 ii ~ 18 ii ~ 39 ii ~ 44b((j-1)*12k,7) a_3(j,k1);elseif j dif_2(ii)b((j-1)*12k,7) a_3(j-dif_2(ii),k1);endendendif flag_3 1if ii ~ 3 ii ~ 10 ii ~ 14 ii ~ 15 ... ii ~ 17 ii ~ 19 ii ~ 25 ii ~ 26 ... ii ~ 28 ii ~ 35 ii ~ 36 ii ~ 39 ... ii ~ 40 ii ~ 41b((j-1)*12k,8) a_4(j,k1);elseif j dif_3(ii)b((j-1)*12k,8) a_4(j-dif_3(ii),k1);endendendif flag_4 1if ii ~ 3 ii ~ 5 ii ~ 6 ii ~ 8 ii ~ 10 ... ii ~ 14 ii ~ 15 ii ~ 17 ii ~ 18 ... ii ~ 19 ii ~ 22 ii ~ 23 ii ~ 25 ... ii ~ 26 ii ~ 28 ii ~ 31 ii ~ 35 ... ii ~ 36 ii ~ 38 ii ~ 39 ii ~ 40 ... ii ~ 41 ii ~ 43 ii ~ 44b((j-1)*12k,9) a_5(j,k1);elseif j dif_4(ii)b((j-1)*12k,9) a_5(j-dif_4(ii),k1);endendend
b((j-1)*12k,10) a_1(j,k1);endenddata [data;b];disp([num2str(ii), data have been loaded]);
end
xlswrite(data.xls,data);
data_p data(:,6:9);
data_p(data_p0) NaN;
xlswrite(data_p.xls,data_p);clear
clc
A xlsread(dataf.xls);
for ii 6:10A(isnan(A(:,ii)),:) [];
end
xlswrite(data_nancut.xls,A);
A1(:,1) A(:,1) 0.01 * A(:,2);
A1(:,2:9) A(:,3:10);
xlswrite(data_nancut_dotmonth.xls,A1)
A2(:,1) A(:,1) A(:,2) / 12;
A2(:,2:9) A(:,3:10);
xlswrite(data_nancut_nomonth.xls,A2);
for ii 1:9A2_max max(A2(:,ii));A2_min min(A2(:,ii));A3(:,ii) (A2(:,ii) - A2_min) / (A2_max - A2_min);
end
xlswrite(data_nancut_nomonth_norm.xls,A3);
T_max max(A(:,10));
T_min min(A(:,10));全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可