您好!我想向您请教个用Matlab将数据分组的问题。

具体的问题是:我用Matlab读出了一个图片的数据(这个数据很大),现在我想将这组数据用Matlab进行64比特的分组,分成一个一个的数据组。我是菜鸟级别,请您指教啦!!谢谢您!
我现在只是用Matlab将图片的数据读出来了,不知道你说的纯矩阵型式是指什么样的呢?我读出来的数据是256行256列的3维矩阵。计算矩阵的行数和列数我也不会。。。

多看看书,matlab操作比较简单,都是调用函数。
求矩阵的大小:[m,n]=size(A),A为图片数据,m为行数,n为列数
图片数据很大的话一般可以截取其中一部分来显示,截取也由多种方法,最简单的就是:
假设图片大小为1024*1024,则m=1024行,n=1024列,取图片左上角512*512的部分,即为
B=A(1:512,1:512)即可,取别的部分,直接根据行列来操作即可。
1:512就是向量1 2 3 4 5 6 7 8......512
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-07
图像处理的情况没有遇到过,如果你的图片数据已经导成纯矩阵型式,那就很好办了
具体步骤:
先计算出你的矩阵的行数i和列数j
然后行列都除以8得到i2 j2(注意不一定整除,不整除时要整数位+1得到i2 j2)
假定原矩阵为A,
for i3=0:i2-1
for j3=0:j2-1
Bi3j3=A[i3-1:i3+7,j3-1:j3+7]//
end
end
就可以实现你说要的数据分组
由Bi3j3通过矩阵聚合得到A(原矩阵)
不知道我所说的能对你有用吗?祝你好运!
第2个回答  2011-01-07
计算行数和列数就用这个函数:
比如矩阵A
[m n ] = size(A); %m,n就是行数和列数
第3个回答  2011-01-08
a = (1:8)';
a = [a,a,a,a];
trm = a(1:2:7,:);
tsm = a(2:2:8,:);

不知道你是不是这个意思?

trm是训练矩阵,tsm是测试矩阵.

不明白你怎么分组,可以百度聊.
相似回答