我有一个单元格5x5,每个单元格有100x100单个数据。我想计算每个矩阵100x100的模式,然后做一些取决于模式的操作。我怎样才能做到这一点?单元格操作
我有这样的代码,计算在每个单元中的模式,现在我想每个值上100×100矩阵与对应的比较细胞模式。
I = imread('DSM.tif');
c = mat2cell(I, [100,100,100,100,100], [100,100,100,100,100])
for i=1:5
for j=1:5
mode_cell = mode(c{i,j}(:))
end
end
我这样做代码:
modes = cellfun(@(x) mode(x(:)), c, 'UniformOutput', false);
modes = cell2mat(cellfun(@(x) mode(x(:)), c, 'UniformOutput', false));
for i = 1 :5
for j =1 :5
for i2=1 :100
for j2=1 :100
cell = c{i,j};
if cell(i2,j2)<modes(i,j)
teste(i,j)=0;
else
teste(i,j)=1;
end
end
end
end
end
但有了这个代码的矩阵泰斯特只有100×100。我想附上所有的睾丸矩阵,最后我想要一个500x500的矩阵。我怎样才能做到这一点?
使用for循环或cellfun,无论你喜欢什么。 – Daniel
我已经有每个单元的模式。但是,我怎么能比较每个矩阵100x100的值与相应的单元模式? –
当提问时,请说明您已经了解的内容以及您的需求。现在您收到了一个答案和一条评论,解释了如何执行您已经实施的内容。 – Daniel