如何按索引替换矩阵中的值:修改4X4矩阵指定位置元素
修改4X4矩阵指定位置元素的操作方法
首先需要明确:不同编程语言的矩阵索引规则有差异,主流分为0起始索引(如Python、JavaScript)和1起始索引(如Matlab)两种,以下针对常见场景给出实现:
Python
Python中用二维列表模拟矩阵,采用0起始索引,第2行对应索引1,第3列对应索引2:
# 构造行优先的4X4矩阵(填充1-16,若需适配1-20可调整填充逻辑) matrix = [[i + 4*j + 1 for i in range(4)] for j in range(4)] # 修改第2行第3列元素为100 matrix[1][2] = 100 # 验证结果 print(matrix)
Matlab
Matlab默认采用1起始索引,直接通过行号和列号定位目标元素:
% 构造行优先的4X4矩阵(取1-16填充) matrix = reshape(1:16, 4, 4)'; % 修改第2行第3列元素为100 matrix(2, 3) = 100; % 查看结果 disp(matrix);
JavaScript
JavaScript中二维数组采用0起始索引,操作逻辑与Python一致:
// 构造4X4矩阵(填充1-16) let matrix = Array.from({length:4}, (_, row) => Array.from({length:4}, (_, col) => row * 4 + col + 1) ); // 修改目标位置元素 matrix[1][2] = 100; console.log(matrix);
注:你提到的"包含1至20数值的4X4矩阵"存在元素数量矛盾(4X4仅能容纳16个元素),上述示例默认按1-16的行优先填充,若需包含1-20可调整矩阵维度或填充规则。
内容的提问来源于stack exchange,提问作者TheCodeHunter
相关产品推荐
相关产品推荐

