Matlab社区

Matlab,社区和更多

MATLAB驱动和英国煤炭公司

前几天,我收到了朋友乔斯的一封电子邮件。
他真体贴!在最近的一次会议后,我们讨论了英国煤炭消耗量的显著下降。乔斯从一个政府网站并通过MATLAB Drive与我分享。请注意,这里显示的所有数字都与用于发电的能源有关(而不是,比如说,热量或运输)。
因为我们都使用MATLAB驱动器, Jos可以把他的代码和数据留在原位,只发出邀请。一旦我接受了它,我就可以在同一个文件夹中工作,从而避免了大量带附件的来回邮件。
我接受了邀请,看到了一个文件夹,里面有一个电子表格、两个导入程序和一个名为runme.m的文件。
下面是该乔斯文件runme.m。
当我运行它时,这就是结果。
果然,现在煤炭的使用量接近于零!但由于Jos邀请我与这些共享数据合作,我想我应该多填写一些分析。让我们再深入挖掘一下。
第一步是将他的代码移动到一个直播脚本中(稍后,我会拍摄此实时脚本并将其直接发布到WordPress,因此您可以有效地查看我创建的实时脚本)。
接下来,我装的数据,并清理表多一点。
文件名=“UK-Energy-fuels.xls”
数据= IMPORTDATA(文件名);
头= importheaders(文件名);
%清理一些头
标题(5)=“水电”
头(7)=“Wind_Onshore”
头(8)=“Wind_Offshore”
头(结束)=“总”
%在数据缺失值(NaN的应该是零)
数据(isnan(数据))= 0;
t = array2table(数据”,'variablenames',标头);
%扔掉一些不使用的列
T(:,[9 12 13 14])= [];
让我们切换到一个时间表。时间表是真棒。
t.Time =日期时间(1998:2019,1,1)';
T = T(:,[端1:(端-1)]);
t = table2timetable (t)
t =22×11时间表
时间 煤炭 气体 水电 Wind_onshore. Wind_Offshore 太阳能 生物能源 全部的
1 01-JAN-1998 117.0348 6.8340 116.2895 90.5900. 5.0939 0.8769 0 0 0 2.9637 355.1683
2 年1月1 1999年 101.2574 6.0717 139.6720 87.6721 5.3034 0.8510 0 0 0 3.7010 361.9159.
3. 01 - 1月- 2000 114.7365 5.9284 144.8912 78.3339 5.0586 0.9470 0 0 0 4.0673 371.4396
4 01 - 1月- 2001 125.4019 4.7766 138.7174 82.9850 4.0324 0.9650. 0 0 0 4.7554 374.5751
5 01 - 1月- 2002 118.4754 4.2168 148.8707 81.0903 4.7628 1.2590 0 0 0 5.3066 375.0735
6 01 - 1月- 2003 131.7604 4.1707 145.1360 81.9114 3.2117 1.2880 0 0 0 6.2900 378.6893
7 01 - 1月- 2004 125.6896 4.0933 153.7336 73.6816 4.8205 1.9390 0 0 0 7.4275 380.8878
8 01 - 1月- 2005 128.5131 4.6509 149.2124 75.1728 4.7505 2.9120 0 0 0 8.9544 385.0995
9 01 - 1月- 2006 141.4950 5.4071 137.7543 69.2372 4.5655 4.2360 0 0 0 9.1093 381.3778
10. 01 - 1月- 2007 129.0301. 4.4649 162.3896 57.2489 5.0317 5.2879 0 0 0 8.5343 379.2790
11. 01 - 1月- 2008 118.0531 5.8852 172.9876 47.6731 5.1109 7.1385 0 0 0 8.6219 378.2265
12. 01 - 1月- 2009 97.7979 5.3651 163.4552 62.7617 5.1968 9.3016 0 0 0 9.6011 358.2008
13. 01 - 1月- 2010 102.1764 4.3082 172.4532 56.4417 3.5658 10.3278 0 0 0 11.1318 364.3963
14. 01 - 1月- 2011 103.0063 2.8074 143.8056 62.6552 5.6546 16.2075 0 0 0 11.8370 353.9106.
y
快速堆叠情节是一种找到方向的有趣方式。堆叠的情节的好处是它们知道所有的时间表,所以你不必担心太多。只要一行代码,没有标签和限制。
stackkedplot (t(:,[1 2 3 4 5 6 9 10]))
由于Y尺度都不同,堆叠的情节是对趋势的最有用。请注意,风能和太阳能是稳步向上移动,而水电并没有太大的变化。还有的煤尽自己玩消失。
为了理解这些能源的相对贡献,我们画一个面积图。
表使这个那么愉快!
h =区域(t.time,[t.coal t.oil t.gas t.nuclear t.hydro t.wind t.solar t.bioenergy]);
有趣的事实:你现在可以设置颜色在MATLAB绘图与css风格的十六进制颜色指定。让我们为图表找一些合适的颜色。我用这个工具选择了这些颜色:https://www.w3schools.com/colors/colors_picker.asp。
源= [......
“#4d4d4d”“煤炭”
“#663300”“油”
“#999966”“气体”
“# aa80ff”“核”
“#0066FF”“水电”
“#66ccff”“风”
“# ffff66”“太阳的”
“# 33 cc33”“生物能源”];
i = 1:长度(h)
H(I).FaceColor =源(I,1);
结束
图例(源(:,2),......
“位置”“东北方”
Xlabel(“日期”
ylabel(“能源(亿千瓦时)”
网格
这是乔斯的煤炭图,但与总量相对应,所以我们看的是能源份额的百分比。
图(t.Time,100 * t.Coal。/ t.Total,“邻”“行宽”3,3)
网格
Xlabel(“日期”
ylabel(“百分比”
标题(“英国煤炭能源的比例”
在本世纪初,谁能预测到这种结果呢?英国是第一个大量使用煤炭作为工业动力的国家,也可能是第一个放弃煤炭的国家,这一事实有一种诗意的对称性。
还有一个有趣的故事,一边对这里陆上和海上风电的赛马比赛。英国一直在海上风力发电的先驱。你可能会说他们是风起云涌sealanes的沙特阿拉伯。
情节(t.Time,[t.Wind_Onshore t.Wind_Offshore]“邻”“行宽”3,3)
xlim (datetime ((2012 2020), 1,1))
传奇({“陆上”“离岸”},'地点'“最佳”
Xlabel(“日期”
ylabel(“能源(亿千瓦时)”
网格
从本世纪初静止起步,现在风产生了英国20%的电力。而两种口味,在岸和离岸之间,如2019年这是一个热死了!鉴于趋势,你必须把你的钱在海上风力发电。还有很多更比海洋岛。少皱位的方式获得。
当我做这些情节,我忍不住通知,在英国能源消耗的总量收缩时间超过。这是所有的好。毕竟,它更容易,当你在第一个地方需要更少的整体能源使用更少的煤。
情节(t。时间,t.Total,“行宽”3,3)
网格
Xlabel(“日期”
ylabel(“能源(亿千瓦时)”
标题(“英国的总耗电量”
由于我是一个投机的人,由于MATLAB是曲线拟合的大师,我很自然地在想:假设这种下降趋势持续下去?然后什么?
tm =年(t.Time(8:结束);
dt = t.Total(8:结束);
% p为与数据线性拟合的多项式方程
p = polyfit (tm, dt, 1);
%的Ti是我们相交的x轴
TI = -p(2)/ P(1);
T0 = 2005;
TF = [T 0 TI];
DF = polyval(P,TF);
持有
情节(datetime(圆(tf), 1,1), df,“邻”“颜色”“红色的”
持有离开
XLIM(DateTime([2000 2100],1,1))
Xlabel(“日期”
ylabel(“能源(亿千瓦时)”
根据目前的趋势,我们可以自信地断言,英国将不再需要任何形式的权力由2096。
所以感谢这个数据,JOS!在Matlab Drive上共享数据和代码使这项调查变得简单。而现在我已经完成了我的位置,我会看到什么JOS要添加了什么。我很奇怪地发现,在80年代,他将如何管理没有电力。
|
  • 打印
  • 发送电子邮件

评论

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。