Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 为什么三角洲的计算不起作用?_Matlab_Sum - Fatal编程技术网

Matlab 为什么三角洲的计算不起作用?

Matlab 为什么三角洲的计算不起作用?,matlab,sum,Matlab,Sum,请在此处查看我的脚本: T = importdata('data_jana.xls'); result = cell(1, size(T,2)); for icol = 1:size(T,2); nzeros = 0; delta = 0; deltas = []; for el = T(:, icol); if el==0 nzeros = nzeros + 1; if nzeros==5

请在此处查看我的脚本:

T = importdata('data_jana.xls');

result = cell(1, size(T,2));
for icol = 1:size(T,2);
    nzeros = 0;
    delta = 0;
    deltas = [];
    for el = T(:, icol);
        if el==0
            nzeros = nzeros + 1;
            if nzeros==5
                deltas = [deltas, delta];
                delta = 0;
            end
        else
            delta = delta + el;
            nzeros = 0;

        end
    end
    if nzeros<5
        deltas = [deltas, delta];
        delta = 0;
    end
    disp(deltas);
    result{icol} = deltas;
end
你在el上的循环不正确

替换:

for el = T(:, icol);
用这两条线:

for r = 1:numel(T(:, icol))
    el = T(r, icol);
使用

我明白了


目前的结果是什么?您希望得到什么结果?在我的结果文件中,我只导入了数据。我需要得到与此规则相关的连续值之和,如果连续有五个或更多的0,则停止计算delta。如果少于五个0,则继续。能否给出一个或两个输入数组T的示例,以及脚本运行后结果数组将保持什么?例如,如果T=[1,3,4,2,0,0,0,0,3,0,2,0,0,0,0,0,5,9,10],结果应该是什么?请更新问题,不要添加代码作为注释。Thomas,以您的示例为例,结果是15,24。
for r = 1:numel(T(:, icol))
    el = T(r, icol);
T = [0.2 , 0.2 , 0 , 0 , 0.2 , 0.2 , 0.2 , 0 , 0 , 0 , 0 , 0 , 0.2 , 0.2 , 0.2 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.2 , 0.2 , 0.2 , 0 , 0 , 0.2 , 0.2].';
>> result
result =
{
  [1,1] =

     1.00000   0.60000   1.00000

}
>> result{1}
ans =

   1.00000   0.60000   1.00000