单元格数组输出错误

时间:2014-04-02 15:03:58

标签: matlab cell-array

这是我的matlab代码的一部分:

此处,dsig也是一个包含90个单元格单元格数组。

ggg=d;                                            
decod=cell(ggg,1);                           %decod is a cell array
for m=1:ggg                                          
    k=1;
    mm=numel(dsig{m});                       %mm stores number of elements in dsig{m}
    for h=1:mm                               %run loop for each element in dsig{m}
        l=0;                                 %l is equated to 0 every time h is incremented
        if(dsig{m}(h)>0 && dsig{m}(h)<1)     %if value lies between 0 and 1
            str=num2str(dsig{m}(h));            
            str2=strrep(str,'0.','');        %remove '0.' and extract the fraction
            num=str2num(str2);                   
            l=num;                              
            rs=(k+l)-1;
            decod{m}(k:rs)=0;                %decod{m} is filled with 'l' zeros
            k=k+l;                           
        else
            decod{m}(k)=dsig{m}(h);          %values outside 0-1 range are put into the array
            k=k+1;
        end;
    end;
    disp(size(decod{m}));
end;

这里,每当出现0到1之间的分数时,必须用等于分数值的零数代替。否则,dsig中的值必须放入decod{m}decod{m}的大小必须 76800,每m 。但我得到的错误值。我一直试图找到错误两天。这段代码有什么问题吗?

0 个答案:

没有答案