循环的循环只返回第一次迭代的结果
3视图(30天)
显示旧的评论
你好,
我用这些循环从多个与粒子的体积。每个迭代f是一个单独的与。表“结果”的属性为每个有意者和“results_total”结合的结果。表“结果”也有不同的行数与每个迭代。
我想做第二个循环也一样,在“j”给出了粒子数确定在每个图片和卷(j)我得到每个粒子的体积。像我一样上面我想保存结果中所有与“Vol_total”但我从第一个与得到的值,所以f = 1加2次。例如在第一与第二111年,有141个粒子和Vol_total返回一个双阵列282 x1代替252 x1。
我如何更改代码,以得到正确的结果?谢谢你!
Vol_total =表;
为f = 1:2
从一个文件夹%粒子在每个与被分析和一些特性测量
%来简化有意者的数量= 2
%代码的计算结果
结果= regionprops (“表”lm2,“区域”,“周长”,“MinFeretProperties”,“MaxFeretProperties”);
results_total = vertcat(结果,results_total);
为j = 1:高度(结果)
卷(j) =总和(V (lm2 = = j));% V是每个像素的体积和lm2 labelmatrix显示的像素属于同一粒子
结束
Vol_total = [Vol_total;卷的);
结束
0评论
接受的答案
darova
2021年8月14日
尝试preallocate
卷
变量之前
为
循环。
卷
有大小141第一次迭代后,这就是为什么你有282个元素吗
卷=表(大小(结果));
为j = 1:高度(结果)
卷(j) =总和(V (lm2 = = j));% V是每个像素的体积和lm2 labelmatrix显示的像素属于同一粒子
结束
你应该在两个方向的体积和价值。不知道你为什么不有一个错误在这条线
% (j) =和卷(V (lm2 = = j));% V是每个像素的体积和lm2 labelmatrix显示的像素属于同一粒子
v1 = V (lm2 = = j);
卷(j) =总和(v1 (:));%和所有元素