开发人员区域

使用MATLAB先进的软件开发

《速度与傅里叶》

更新:我们做到了,非常有趣!看起来追踪效果很好,很有趣。一个小问题是,我们最终追踪了8000多个点,而ThingSpeak每通电话返回8000个点。不要紧!我们只需要分离所有对ThingSpeak的调用来获取所有数据。数据都在ThingSpeak频道,我只需要更新可视化代码。我已经包括了更新的版本,下面显示所有的点。我还将从MathWorks总部到起点的路程与我实际参加的课程区分开来。

嗨的人!点击这里查看详情!11数学工作者和我即将开始一场MathWorks的冒险,在科德角跑200英里。明天(5月12日星期五)东部标准时间下午2:30开始。这应该是一次冒险,我们很高兴能帮助完成一项伟大的事业。

我觉得用一个小小的MATLAB移动设备来实时传播我们的进展会很有趣。去看看,然后追踪我们ThingSpeak页面或者只是在这个页面上,因为下面的地图应该实时更新。

希望我没有任何错误,因为我将忙于运行并支持其他跑步者,并且可能很难解决我在代码中制作的任何错误。万博1manbetx记住,它是活的人!

作为参考,这里是我将在我的iPhone上运行的代码苹果iOS传感万博1manbetx器的MATLAB支持包发送我的GPS数据。注意我将从一个实例中完成这一点云中的MATLAB.太棒了!这是函数。它只需要mobiledev

函数Trackthefouriers(m)disp(“跟踪芬派:”+字符串(datetime ('现在'))))m.positionSensorEnabled = 1;M.Logging = 1;M.Samplere = 1;频道= 261391;写作=“XXXXXXXXXXXXXXXX”%不是真正的写密钥readkey =“XXXXXXXXXXXXXXXX”不是真正的读取键[纬度,经度,位置,速度,~,高度,精度]= m.poslog;当纬度,经度或准确度发生变化时,%只写入频道时间戳= datetime(m.initialtimestamp)+秒(帖子);LastDataPoint = WithsPeakread(频道,'输出格式''桌子''numpoints',1,'readkey'readKey,'地点',真的);可变= [......lastDataPoint(:,{“纬度”“经”'准确性'});表(纬度,经度,准确性)];查找变化的数据hasChanged = @(value) abs(diff(value)) > 1 -5;changeIdx = hasChanged(changtable . accuracy) | hasChanged(changtable . longitude) | hasChanged(changtable . latitude);表时间戳(changeIdx),精度(changeIdx),速度(changeIdx)'variablenames',{'时间戳''准确性'“速度”});h =身高(T);如果H > 0显示(“写作 ”+ H +“ 数据点”) thingSpeakWrite(通道,T,'写字',写作,'地点',[纬度(changeIdx),经度(changeIdx),海拔(changeIdx)]);其他的DISP(“没有数据写入”);结束M.Discardlogs;

此外,这里是我在比赛期间不断地绘制我们的课程的可视化代码:

dawnOfTime = datetime(2000、1、1);endTime = datetime ('现在');%获取结果。一直问结果,直到我们有完整的数据集。t =表;中间诊断=符号(261391,'输出格式''桌子'......“DateRange”(dawnOfTime endTime),'readkey'“XXXXXXXXXXXXXXXX”'地点',真的);〜Isempty(中间诊断)T = [中间诊断;T];% #好< AGROW >endTime = t . timestamp (1) - sqrt(eps);%调整窗口以获得更多数据中间诊断=符号(261391,'输出格式''桌子'......“DateRange”(dawnOfTime endTime),'readkey'“XXXXXXXXXXXXXXXX”'地点',真的);结束%生成地图serverURL =.'http://raster.nationalmap.gov/arcgis/services/torthoimagery/usgs_eros_ortho_1foot/imageserver/wmsserver?';info = wmsinfo(serverurl);Latlim = [41.4,42.4];lonlim = [-71.4 -69.9];高度=圆形(差异(Latlim)* 1000);宽度=圆形(Diff(Lonlim)* 1000);[A,R] = WMSREAD(INFO.LAYER,“Latlim”latlim,“Lonlim”lonlim,......“ImageHeight”、身高、'imagewidth'、宽度);%显示地图无花果=图;fig.Position(3:4) = [width height];ax =轴(“父”图);geoshow (ax, R)紧的%显示开始和终点geoshow (ax, 42.271, -70.857,“DisplayType”'观点''Markersize',20,'行宽',4,“标记”“v”);geoshow (ax, 42.053, -70.189,“DisplayType”'观点''Markersize',20,'行宽',4,“标记”'H');%t.timestamps = t.timestamps +小时(4);%调整记录的时区偏移量drivers = T.Timestamps < datetime(2017,5,12,14,30,0);driveData = T (drivingOver:);= geshow (ax, driveData. ax);纬度,driveData。经度,“DisplayType”'线''行宽',3,'linestyle'':''颜色'“红色”);raceData = T (~ drivingOver,:);geoshow (ax, raceData.Latitude(结束),raceData.Longitude(结束),“DisplayType”'观点''Markersize',20,'行宽',4,“标记”'o');racepath = geoshow(ax,racedata.latitude,racedata.longitude,“DisplayType”'线''行宽'3);传奇([drivePath, racePath], {'从tmw开车'“比赛道路”})

为我们振作起来!我会尝试在比赛期间不时检查,看看事情是如何工作的。




发布与MATLAB®R2017a

|
  • 打印
  • 发送电子邮件

注释

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