矩阵是二维数组,行宽和列宽均大于2的二维数组是矩阵(易语言中)。
我们可以这样理解:一堆数据排列成一个阵,这个阵的形状是矩形,于是咱们称阵(这种形式)为矩阵。
转置是矩阵的一种算法,就像四则运算(即加、减、乘、除)那样的;它将矩阵的每一行变成列,那么原先的每一列就会变成行,简单点说就是行列互换。
【矩阵转置前后】
【易语言 - 矩阵转置算法】
(算法不一定最优,只是比较简单罢了)
(算法由我[砹小翼]编写,没有参考其它资料)
1 .版本 2 2 3 .子程序 整数矩阵转置, 逻辑型, 公开, 对一个整数矩阵进行“转置”运算,可理解为行和列互相调换。数组不为整数矩阵则返回假。 4 .参数 欲转置的整数矩阵, 整数型, 数组 5 .参数 存放结果的变量, 整数型, 参考 可空 数组, 如果不提供此参数,则将结果返回给矩阵所在变量;如果提供此参数,则矩阵不变,结果存放在此参数。 6 .局部变量 一维下标, 整数型 7 .局部变量 二维下标, 整数型 8 .局部变量 i, 整数型 9 10 一维下标 = 取数组下标 (欲转置的整数矩阵, 1) 11 二维下标 = 取数组下标 (欲转置的整数矩阵, 2) 12 .如果真 (一维下标 < 2 或 二维下标 < 2 或 取数组下标 (欲转置的整数矩阵, 3) ≠ 0) 13 返回 (假) 14 .如果真结束 15 .计次循环首 (一维下标 × 二维下标, i) 16 加入成员 (存放结果的变量, 欲转置的整数矩阵 [i]) 17 \' 易语言中,非线性数组可当作线性数组读取。 18 \' 设数组为[4,3],依照读取顺序,对应关系为: 19 \' [1] : [1] [1] 20 \' [2] : [1] [2] 21 \' [3] : [1] [3] 22 \' [4] : [2] [1] 23 \' [5] : [2] [2] 24 \' ... 25 \' [9] : [3] [3] 26 \' [10] : [4] [1] 27 \' [11] : [4] [2] 28 \' [12] : [4] [3] 29 .计次循环尾 () 30 重定义数组 (存放结果的变量, 真, 二维下标, 一维下标) 31 .如果真 (是否为空 (存放结果的变量)) 32 复制数组 (欲转置的整数矩阵, 存放结果的变量) 33 .如果真结束 34 返回 (真)
【易语言 - 矩阵判断】
易语言中,只要二维数组两个维度的下标都大于1,那么二维数组一定是矩阵。
详细代码:(其实很简单)
1 .版本 2 2 3 .子程序 是否为整数矩阵, 逻辑型, 公开, 检验一个二维数组是否为整数矩阵,是则返回真,否则返回假。 4 .参数 欲检查的数组, 整数型, 数组 5 6 返回 (取数组下标 (欲检查的数组, 1) ≥ 2 且 取数组下标 (欲检查的数组, 2) ≥ 2 且 取数组下标 (欲检查的数组, 3) = 0)