Api 基于Matlab的实时数据错误处理

Api 基于Matlab的实时数据错误处理,api,matlab,live,Api,Matlab,Live,我正在使用一个实时数据API返回下一班到达的列车。我计划为用户提供接下来5列到达的列车。如果到达的列车少于5列,您如何处理?我想不出一种方法,我想用if语句,但不知道如何设置它们 time1Depart = dataReturnedFromLiveAPI{1,1}.orig_departure_time; time2Depart = dataReturnedFromLiveAPI{1,2}.orig_departure_time; time3Depart = dataReturnedFromLi

我正在使用一个实时数据API返回下一班到达的列车。我计划为用户提供接下来5列到达的列车。如果到达的列车少于5列,您如何处理?我想不出一种方法,我想用if语句,但不知道如何设置它们

time1Depart = dataReturnedFromLiveAPI{1,1}.orig_departure_time;
time2Depart = dataReturnedFromLiveAPI{1,2}.orig_departure_time;
time3Depart = dataReturnedFromLiveAPI{1,3}.orig_departure_time;
time4Depart = dataReturnedFromLiveAPI{1,4}.orig_departure_time;
time5Depart = dataReturnedFromLiveAPI{1,5}.orig_departure_time;

time1Arrival = dataReturnedFromLiveAPI{1,1}.orig_arrival_time;
time2Arrival = dataReturnedFromLiveAPI{1,2}.orig_arrival_time;
time3Arrival = dataReturnedFromLiveAPI{1,3}.orig_arrival_time;
time4Arrival = dataReturnedFromLiveAPI{1,4}.orig_arrival_time;
time5Arrival = dataReturnedFromLiveAPI{1,5}.orig_arrival_time;

现在的代码使用1:numoftrains的矩阵,但我只使用前五个

将单个值分配给单独的变量是一种不好的做法。如果将所有相关值传递给向量或单元格数组,则效果更佳,具体取决于
原始出发时间
原始到达时间
的类别

看起来
dataReturnedFromLiveAPI
是一个结构单元数组。然后你可以做:

timeDepart = cellfun(@(x), x.orig_departure_time, ...
    dataReturnedFromLiveAPI(1,1:min(5,size(dataReturnedFromLiveAPI,2))), ...
    'UniformOutput',0 );
timeArrival = cellfun(@(x), x.orig_arrival_time, ...
    dataReturnedFromLiveAPI(1,1:min(5,size(dataReturnedFromLiveAPI,2))), ...
    'UniformOutput',0 );
然后,您将了解如何根据需要逐个访问这些值

time1Depart = timeDepart{1};
如果
始发时间
始发到达时间
是数字标量,则可以使用
…'UniformOutput',1…
。您将以向量的形式获得输出,并可以使用
timeDepart(1)
获得单个值