Data structures 深入嵌套在结构数组中的单元格数组的访问值
我有一个嵌套的字符值结构数组/单元格数组/结构数组,它是web查询的结果,返回一个转换的JSON对象,我可以在循环中访问所需的数值,因此:Data structures 深入嵌套在结构数组中的单元格数组的访问值,data-structures,octave,cell-array,Data Structures,Octave,Cell 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
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
以上循环获取感兴趣区域中部的细胞的索引,MIDixIX,和
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
然而,我想知道是否有一种更快/更优雅的方式来获取这些值?目前,正如上面所看到的,我必须运行一个“查找”for循环,该循环包含一个“if语句”,以获得所需数值的大致范围,然后在大致范围内运行第二个for循环以提取这些所需值
注意:交叉张贴在我想我已经用下面的语法解决了这个问题:
prices = cellfun( @str2double , { [ S.orderBook.buckets{:} ].price } ) ;
这给了我一个矩阵“价格”,我可以进一步应用矢量化代码
说明:-
我想我已经用下面的语法解决了这个问题:
prices = cellfun( @str2double , { [ S.orderBook.buckets{:} ].price } ) ;
这给了我一个矩阵“价格”,我可以进一步应用矢量化代码
说明:-
存储为字符串的数字使其难以处理。我建议先把它们转换成数字。一旦这样做了,剩下的部分就可以使用矢量化代码了。存储为字符串的数字使它们很难处理。我建议先把它们转换成数字。完成后,您就可以对其余部分使用矢量化代码。