嗯,我不知道我是否使用了确切的术语。我试图在网上找到答案。 这就是我需要的: 我有一个matix
a = 1 4 7
2 5 8
3 6 9
如果我做了(4),则值为4.所以它正在读取第一列顶部然后继续下一个....我不知道为什么。然而,
我需要的是使用两个索引来调用它。作为行和列:
a(1,2)= 4
如果我可以通过以下方式调用它,甚至会更好:
a{1}(2)=4
这个过程真正被称为(想要学习)以及如何在matlab中执行。 我想到了一个循环。有内置功能吗? 非常感谢
检查一下: a =
18 18 16 18 18 18 16 0 0 0
16 16 18 0 18 16 0 18 18 16
18 0 18 18 0 16 0 0 0 18
18 0 18 18 16 0 16 0 18 18
>> a(4)
ans =
18
>> a(5)
ans =
18
>> a(10)
ans =
18
我试过重塑。它正在重塑不转换成2个空格
答案 0 :(得分:1)
要重塑矢量/矩阵/数组,请使用reshape()
。
答案 1 :(得分:1)
如果您已经有了矩阵,那么您已经可以通过两个索引访问它:
如果你有
a = 1 4 7
2 5 8
3 6 9
您可以将其作为
进行访问 a(3,2) = 6
但是,索引从左上角开始,第一行然后是列。如果你想得到矩阵中的“4”,那就做:
a(1,2)
答案 2 :(得分:0)
或者您可以将其保留为一维数组并使用
((Column - 1) * 3) + Row - 1)
作为索引。 3因为有三列。
NB a(4)= 4,因为您在一维数组中排列列和行的方式,您的“加载”为
R1C1,R2C1,R3C1,R1C2等R是行,C是列 如果这不方便那么你只需要得到任何填充数组行然后列,所以上面的映射将是
((Row - 1) * 3) + Column - 1)
不要做Matlab所以上面的代码假设数组从0开始,如果不是只加1。