虫子在矩阵索引?

1视图(30天)
斯图尔特谭
斯图尔特谭 2019年9月4日
编辑: Stephen23 2023年4月20日
我有下面的矩阵,这是一个图像的DCT系数。
测试=
1.0 e + 03 *
1.1506 -0.0094 -0.0043 -0.0012 -0.0001 -0.0007 0.0003 0.0004
-0.0082 0.0004 -0.0012 0.0007 0.0017 -0.0003 -0.0011 0.0005
0.0008 -0.0002 -0.0015 0.0001 0.0004 0.0010 -0.0002 0.0014
0.0002 -0.0000 -0.0018 0.0010 -0.0018 -0.0005 0.0009 -0.0012
0.0001 0.0001 -0.0024 -0.0008 0.0004 0.0010 0.0011 -0.0001
-0.0012 0.0004 -0.0001 -0.0007 -0.0004 -0.0002 -0.0001 0.0009
0.0003 0.0002 0.0011 -0.0002 -0.0014 -0.0004 0.0000 -0.0004
0.0005 -0.0002 -0.0021 -0.0001 0.0007 0.0005 0.0008 -0.0007
我把上面的矩阵分解为4个相等的部分,因为它是一个8×8的矩阵。第一部分将包含
1.1506 -0.0094 -0.0043 -0.0012
-0.0082 0.0004 -0.0012 0.0007
0.0008 -0.0002 -0.0015 0.0001
0.0002 -0.0000 -0.0018 0.0010
第二部分将
-0.0001 -0.0007 0.0003 0.0004
0.0017 -0.0003 -0.0011 0.0005
0.0004 0.0010 -0.0002 0.0014
-0.0018 -0.0005 0.0009 -0.0012
等。
所以我成功指数,第一部分。
N = 8;
测试(1:N / 2, 1: N / 2)
这给了我上面的第一部分。但突然间,当我想要剩下的第二部分,我奇怪的输出如图所示。
sec_part =测试(1:N / 2, N / 2 + 1: N)% 2部分
sec_part =
-0.1250 -0.7400 0.3082 0.3531
1.6533 -0.3160 -1.0713 0.5453
0.3779 0.9798 -0.1831 1.3921
-1.8311 -0.4653 0.8852 -1.2236
我应该得到:
-0.0001 -0.0007 0.0003 0.0004
0.0017 -0.0003 -0.0011 0.0005
0.0004 0.0010 -0.0002 0.0014
-0.0018 -0.0005 0.0009 -0.0012
但我得到随机数sec_part所示。第三部分和第四部分发生了同样的事。为什么只有第一部分从矩阵提取正确吗?
2的评论
斯图尔特谭
斯图尔特谭 2019年9月4日
@Stephen Cobeldick谢谢,我有被忽视的显示格式。

登录置评。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2019年9月4日
你错过了输出的一部分。注意到你有
测试=
1.0 e + 03 *
1.0 e + 03意味着下面的部分显示所有必须乘以1000获得实际的数字。对于-0.0001条目显示,存储的实际价值大约是-0.1——-0.1250是完全符合这种可能性。
我建议你停止使用“格式”,开始使用“格式短g”或“格式长g”
有一个首选项可以设置改变默认的输出格式。
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年9月4日
是的,默认是短暂的。
首选项- >命令窗口- >文本显示- >数字格式
这种偏好MATLAB控制你得到当你开始;你可以在任何时候改变活跃格式使用 格式 命令。

登录置评。

答案(1)

KSSV
KSSV 2019年9月4日
用这个:
测试= 1.0 e + 03 * [1.1506 -0.0094 -0.0043 -0.0012 -0.0001 -0.0007 0.0003 0.0004
-0.0082 0.0004 -0.0012 0.0007 0.0017 -0.0003 -0.0011 0.0005
0.0008 -0.0002 -0.0015 0.0001 0.0004 0.0010 -0.0002 0.0014
0.0002 -0.0000 -0.0018 0.0010 -0.0018 -0.0005 0.0009 -0.0012
0.0001 0.0001 -0.0024 -0.0008 0.0004 0.0010 0.0011 -0.0001
-0.0012 0.0004 -0.0001 -0.0007 -0.0004 -0.0002 -0.0001 0.0009
0.0003 0.0002 0.0011 -0.0002 -0.0014 -0.0004 0.0000 -0.0004
0.0005 -0.0002 -0.0021 -0.0001 0.0007 - 0.0005 0.0008 - -0.0007);
[m, n] =大小(测试);
4 k = [4];你想要% 4 * 4的矩阵
C = mat2cell(测试中,k (1) * 1 (m / k (1), 1)、k(2) *的(n / k (2), 1));

类别

找到更多的在图像处理和计算机视觉帮助中心文件交换

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!