MATLAB驱动和英国煤炭
前几天我收到了我朋友乔斯的邮件。
他想得真周到!在最近的一次会议后,我们讨论了英国煤炭消费量的显著下降。乔斯从一个政府网站并通过MATLAB Drive与我分享。请注意,这里显示的所有数字都与用于发电的能量有关(而不是,例如,热量或运输)。
因为我们都用MATLAB开车, Jos可以保留他的代码和数据,只发出邀请。一旦我接受了它,我就可以在完全相同的文件夹中工作,从而避免了大量来回发送附件的消息。
我接受了邀请,看到了一个文件夹,里面有一个电子表格、两个导入例程和一个名为runme.m的文件。
这就是韵律。m文件来自乔斯。
当我运行它时,这是结果。
果然,现在煤的使用量接近于零!但由于Jos邀请我与这些共享数据进行合作,我认为我应该进一步充实分析。让我们再深入挖掘一下。
第一步是将他的代码移动到一个Live Script中(很久以后,我会将这个Live Script直接发布到WordPress上,所以你可以有效地看到我创建的Live Script)。
接下来,我加载数据并进一步清理表。
文件名=“UK-energy-fuels.xls”;
数据= importdata(文件名);
Headers = importheaders(filename);
清理一些头文件
头(5)=“水电”;
头(7)=“Wind_Onshore”;
头(8)=“Wind_Offshore”;
头(结束)=“总”;
数据中缺失值的百分比(NaN应为零)
Data (isnan(Data)) = 0;
T = array2table(data',“VariableNames”,头);
丢弃一些未使用的列。
T (:,[9 12 13 14]) = [];
让我们切换到时间表。时间表太棒了。
t.Time = datetime(1998:2019,1,1)';
T = T (:,[end 1:(end-1)]);
T = table2时间表(T)
快速堆叠的情节是一种有趣的方法来确定我们的方向。堆叠式情节的好处是,他们知道所有的时间表,所以你不必担心太多。只有一行代码,没有标签和限制。
stackkedplot (t(:: [1 2 3 4 5 6 9 10]))
由于y刻度都是不同的,所以堆叠图对趋势非常有用。请注意,风能和太阳能正在稳步上升,而水电变化不大。这是煤炭在消失。
为了了解这些能源的相对贡献,让我们做一个面积图。
桌子让这一切变得如此惬意!
h =面积(时间,[t。煤炭t.Oil t.Gas t.Nuclear t.Hydro t.Wind t.Solar t.Bioenergy]);
有趣的事实:你现在可以用css风格的十六进制颜色名称在MATLAB图中设置颜色。让我们为图表找一些合适的颜色。我用这个工具选择了这些颜色:https://www.w3schools.com/colors/colors_picker.asp。
资料来源= [...
“# 4 d4d4d”,“煤”;
“663300 #”,“油”;
“999966 #”,“气”;
“# aa80ff”,“核”;
“# 0066 ff”,“水电”;
“# 66 ccff”,“风”;
“# ffff66”,“太阳”;
“# 33 cc33”,“生物能源”];
为I = 1:长度h
h (i)。FaceColor = sources(i,1);
结束
传奇(来源:2)...
“位置”,“northeastoutside”)
包含(“日期”)
ylabel (“能源(TWh)”)
网格在
这是乔斯的煤炭图,但与总量进行了标准化,所以我们看到的是能源份额的百分比。
情节(t。时间,100*t.Coal./t.Total,“啊——”,“线宽”3)
网格在
包含(“日期”)
ylabel (“比例”)
标题(英国煤炭能源所占百分比)
在本世纪初,谁能预测到这一结果?英国是第一个大量使用煤炭作为工业动力的国家,也很可能是第一个放弃煤炭的国家,这一事实具有某种诗意的对称性。
关于陆上风能和海上风能之间的竞争,这里有一个有趣的侧面故事。英国一直是海上风能的先驱。你可能会说他们是狂风巨浪中的沙特阿拉伯。
情节(t.Time (t。Wind_Onshoret.Wind_Offshore],“啊——”,“线宽”3)
xlim (datetime ((2012 2020), 1,1))
传奇({“在岸”,“离岸”},“位置”,“最佳”)
包含(“日期”)
ylabel (“能源(TWh)”)
网格在
从本世纪初开始,风力发电现在占英国电力的20%。在陆上和海上这两种口味之间,截至2019年,这是一个死局!考虑到这种趋势,你不得不把钱投在海上风能上。海洋比岛屿大得多。更少的褶皱碍事。
当我在画这些图的时候,我不禁注意到英国的能源消耗总量正在随着时间的推移而减少。这是件好事。毕竟,当你首先需要更少的整体能源时,更容易使用更少的煤炭。
情节(t。时间,t.Total,“线宽”3)
网格在
包含(“日期”)
ylabel (“能源(TWh)”)
标题(“英国的总电力消耗”)
因为我是一个投机的人,而且MATLAB是曲线拟合的大师,我很自然地想知道:假设这种下降趋势继续下去?然后什么?
tm = year(t.Time(8:end));
dt = t.Total(8:end);
% p是数据线性拟合的多项式方程
P = polyfit(tm,dt,1);
% ti是与x轴的交点
Ti = -p(2)/p(1);
T0 = 2005;
Tf = [t0 ti];
Df = polyval(p,tf);
持有在
情节(datetime(圆(tf), 1,1), df,“啊——”,“颜色”,“红色”)
持有从
xlim (datetime ((2000 2100), 1,1))
包含(“日期”)
ylabel (“能源(TWh)”)
根据目前的趋势,我们可以自信地断言,到2096年,英国将不需要任何形式的电力。
谢谢你提供的数据,乔斯!在MATLAB驱动器上共享数据和代码使得这项调查很容易。现在我已经完成了我的工作,我要看看乔斯还有什么要补充的。我很好奇地想知道,在80年的时间里,他将如何在没有电的情况下生活。
评论
如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。