矩阵是二维数组,行宽和列宽均大于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 .版本 22 3 .子程序 是否为整数矩阵, 逻辑型, 公开, 检验一个二维数组是否为整数矩阵,是则返回真,否则返回假。4 .参数 欲检查的数组, 整数型, 数组5 6 返回 (取数组下标 (欲检查的数组, 1) ≥ 2 且 取数组下标 (欲检查的数组, 2) ≥ 2 且 取数组下标 (欲检查的数组, 3) = 0)