如何在matlab中从一个矩阵中按6列顺序提取两列

如何在matlab中从一个矩阵中按6列顺序提取两列,matlab,Matlab,基本上我有一个矩阵,我想提取第1列和第2列,第8列和第9列,第15列和第16列,依此类推。。 所以我希望每6步中有2列。我希望我说得够清楚了。我是matlab的新手。 提前谢谢 您真正需要做的就是构建所需列的列表: columns = [1:7:size(matrix,2)+1, 2:7:size(matrix,2)+1]; submat = matrix(:, columns); 请记住,这不一定会按您想要的顺序返回列。如果希望列按升序排列,可以替换 submat = matrix(:,

基本上我有一个矩阵,我想提取第1列和第2列,第8列和第9列,第15列和第16列,依此类推。。 所以我希望每6步中有2列。我希望我说得够清楚了。我是matlab的新手。
提前谢谢

您真正需要做的就是构建所需列的列表:

columns = [1:7:size(matrix,2)+1,  2:7:size(matrix,2)+1];
submat = matrix(:, columns);
请记住,这不一定会按您想要的顺序返回列。如果希望列按升序排列,可以替换

submat = matrix(:, sort(columns));


这是一个相当不错的介绍,如果Matlab文档本身看起来有点密集的话。通过阅读文档或进行一点搜索,你可以更好地回答这个基本问题。@zeffii好的,这不是最难的问题,但对于一个完全的新手来说,这绝不是一个简单的问题,OP承认是这样的。记住,对于许多人来说,Matlab是他们第一次尝试用任何语言编程。然而,我要向OP提到,在这个问题上提供一些证据是一种习惯,证明你已经尝试过,但自己没能解决这个问题。即使有些代码不起作用也比根本没有代码好!:-)@当然,我很欣赏街上随机出现的人能够回答这个问题的可能性很小。但我们直接回答这个问题肯定是在剥夺这个人更重要的学习经验。即时的满足感和所有这些。OP将去哪里寻找其他问题的答案?@zeffii我当然同意这可能是一个灰色地带。但在这种情况下,我会选择胡萝卜而不是大棒,原因有两个:1)OP花时间选择了一个真实的用户名,这意味着如果给予一些鼓励,OP有机会成为社区的贡献成员;2)许多新手会自己得出结论,这个问题的“正确”解决方案是循环,可能要过几个月他们才会意识到自己的错误。“但是我当然同意这个问题应该包含试图找到解决办法的证据。”科林特鲍尔斯我们可以在这个问题上反复讨论一段时间,但我们的观点已经被其他人多次陈述过了。这类问题应该在发帖前被截取,比如“这是你关于(主题语言)的第一个问题,你读过(主题语言)文档/帮助/教程吗?”如果是,显示一些你尝试过的代码,即使它不起作用-如果不是,这里有一些链接,这是如何容易地添加代码到你的文章'。