单元格类型的操作数不支持操作.* (Matlab)

问题描述 投票:0回答:1

这是给出问题的代码:

nVelCurve      =       length( velnum );    % number of assigned velocity curves
pixLocVC       =       vel_imloc(:,1)';     % column index for each assigned velocity curve
nVelPts        =       nan( 1,nVelCurve );  % number of points used from each chosen vel curve 
pix            =       [];                  % row index for TWTT from velmodels, stacked
vels           =       [];                  % velocity for each TWTT from velmodels, stacked

    for i=1:nVelCurve
        
        data      =      sprintf( 'Fit%g', velnum(i) );
        data      =      DataFits.(data); 
        data(:,1) =      data(:,1);  
        dataidx   =      find( [data(:,1).*pps] < Npix ) ; %this line gives the problem
        data      =      data(dataidx,:);  
        pix        =     [ pix; ceil(data(:,1).*pps) ];  
        nVelPts(i) =     length(data); 
        vels       =     [ vels; data(:,2) ]; 
        
    end

求解释

:数据是一个包含十进制整数的 n*2 元胞数组 :DataFits 是元胞数组的结构 : pps 和 Npix 是十进制整数

matlab math physics
1个回答
0
投票

感谢 Cris Luego 的努力! 我已将有问题的行重写如下:

   dataidx = find( [ cellfun(@(x) x*pps, data(:,1) ) ] < Npix) ;

亲切的问候!

© www.soinside.com 2019 - 2024. All rights reserved.