原数据:[12345433,9012098,233,89065,5639022,241109876,69081234,502114,2409170,]
最终结果:
[8,5,3,4,6,8,7,5,5]
% 各位大佬,请问在matllab中如何来计算每个胞组中大于等于1的个数?
可以使用MATLAB中的循环和逻辑运算符来计算每个胞组中大于等于1的个数。具体步骤如下:
data = [12345433,9012098,233,89065,5639022,241109876,69081234,502114,2409170];
result = {};
for i = 1:length(data)
if data(i) >= 1
result{i} = 1;
else
result{i} = 0;
end
end
count = cellfun(@sum, result);
disp(count);
完整代码如下:
data = [12345433,9012098,233,89065,5639022,241109876,69081234,502114,2409170];
result = {};
for i = 1:length(data)
if data(i) >= 1
result{i} = 1;
else
result{i} = 0;
end
end
count = cellfun(@sum, result);
disp(count);
使用MATLAB中的sum函数可以统计一个数组中大于等于某个指定值的数据个数,具体代码如下:
data = [12345433, 9012098, 233, 89065, 5639022, 241109876, 69081234, 502114, 2409170]; count = sum(data>=1);
其中data是输入的胞组,1是指定的值,count是大于等于指定值的数据个数。输出的count为9,与题目中的要求一致。