matlab写代码应该用什么方式存放变量呢?我觉得有必要统一一下。按我的个人习惯:
-
向量:
- 单一向量
统一设置成列向量,一是因为行向量太长,比如20维的查看行向量的值需要拖拽滚动条,就有点够呛了。写成列向量,鼠标滚轮一拉多方便,二是符合教材向量默认列向量的形式。 - 多个向量
有时候我们使用循环,存储了多个向量,这时候最好每个向量按行存放,类似excel表一样,每一列都对应向量中特定的索引对应的值,符合表格的习惯。
- 单一向量
-
矩阵:
- 单一矩阵
我们可以不用管,就按它的维数进行存放。这个很自然,不再折腾了。 - 多个矩阵
有时候我们循环要存储多个矩阵,这个时候怎么保存好呢,如果不想破坏矩阵的结构,我们可以用元胞数组{}
来进行存储,然而我还是觉得太麻烦,我在网上看别人的代码时看到一种方法,提供一种新思路:可以把二维数组拉直成一维数组,比如机器人学中常用的齐次变换44矩阵,拉成116的行向量,按行存储每个矩阵,也很直观,主要减少存储的复杂性。
- 单一矩阵
比如
A=magic(4)
b=reshape(A',1,[])
用到的函数reshape