【发布时间】:2020-04-15 16:24:08
【问题描述】:
我有一个嵌套的 structure_array/cell_array/structure_array 字符值,它是 Web 查询的结果,它返回一个转换后的 JSON 对象,我可以在循环中访问所需的数值:
for ix = 1 : size( S.orderBook.buckets , 2 )
if ( str2double( S.orderBook.buckets{ ix }.price ) >= str2double( S.orderBook.price ) )
mid_ix = ix ;
break ;
endif
endfor
上述循环获取感兴趣区域中间的单元格的索引mid_ix,并且
orderbook_begin_ix = mid_ix - 20 ; orderbook_end_ix = mid_ix + 20 ;
jj = 0 ;
for ix = orderbook_begin_ix : orderbook_end_ix
jj = jj + 1 ;
new_orderbook_data( 1 , jj ) = str2double( S.orderBook.buckets{ ix }.longCountPercent ) ;
endfor
第二个循环用感兴趣的值填充预初始化的矩阵 new_orderbook_data。
但是,我想知道是否有更快/更优雅的方式来获取这些值?目前,如上所示,我必须运行包含“if 语句”的“查找”for 循环以获取所需数值的大致范围,然后在该区域中运行第二个 for 循环的球场以提取这些所需的值。
注意:交叉发帖Octave forum
【问题讨论】:
-
以字符串形式存储的数字使它们难以处理。我建议先将它们转换为数字。完成后,您可以使用矢量化代码完成其余部分。
标签: data-structures octave cell-array