将风速可视化为环境温度和压力的函数
此示例展示了如何使用 Curve Fitting Toolbox™ 将风速变化可视化为环境空气温度和压力的函数。您从气象站读取 ThingSpeak™ 数据,然后使用 3D 绘图来可视化数据和拟合。
从气象站 ThingSpeak 通道读取数据
ThingSpeak通道12397 包含来自位于马萨诸塞州内蒂克的 MathWorks 气象站的数据。数据每分钟收集一次。字段 2、4 和 6 分别包含风速、温度和气压数据。
% Read the data using the |thingSpeakRead| function from channel 12397 on a particular week. For example, the week of May 1, 2018.
startDate = datetime('May 1, 2018 0:0:0'); endDate = datetime('May 8, 2018 0:0:0'); data = thingSpeakRead(12397,'daterange',[startDate endDate],'Fields',[2 4 6],'outputFormat','table');
将曲面拟合到数据
气压和温度的变化都会影响风速。假设风速的变化由环境温度和压力的二次多项式来解释。使用 fit
函数拟合二次曲面。
fitObject = fit([data.TemperatureF,data.PressureHg],data.WindSpeedmph,'poly22');
绘制拟合数据
您可以绘制拟合数据以查看二次曲面拟合是否捕获了风速的变化。
plot(fitObject,[data.TemperatureF,data.PressureHg],data.WindSpeedmph); xlabel('Ambient Temperature [^{\circ}F]'); ylabel('Ambient Air Pressure [inHg]'); zlabel('Wind Speed [mph]'); title('Wind Speed as a Function of Ambient Temperature and Pressure','FontSize',10);
二次拟合似乎为波动风速数据提供了良好的平均值。今年春天,风速随着气压的升高呈抛物线变化,但随着温度的升高而增加。
另请参阅
函数
fit
(Curve Fitting Toolbox) |thingSpeakRead