**一、基本矩阵定义及赋值**
创建一个简单的二维矩阵可以通过直接元素输入的方式实现:
matlab
A = [1 2; 3 4];
上述代码即声明了一个 2x2 的矩阵 A,并将其各元素分别赋予了数值1至4。
对于已存在的矩阵也可以通过索引或子域方式来进行重新赋值:
matlab
B = zeros(3,3); % 创建全零3*3矩阵 B
B(2,:) = [5 6 7]; % 将第二行的所有元素赋为[5 6 7]
**二、动态扩展矩阵维度**
MATLAB 支持按需增加矩阵尺寸,在已有矩阵末尾添加新列或者行可以这样操作:
matlab
C = [8 ;9 ]; % 初始化 C 是一个两行一行维数组
D = horzcat(C,[10]); % 水平拼接向量,新增加了一列
E = vertcat(D ,[11 12 ]); % 垂直拼接,增加了新的一行
% 或者使用更简洁的语法:
F = [G ,13 ]; % 向 G矩阵阵尾追加一列
H = [I ; 14 15]; % 在 I矩阵下方附加新的一行
**三、部分区域赋值(块赋值)**
你还可以选择性地替换矩阵中的特定区块:
matlab
J = ones(4,4); % 创造一个全是1的4x4单位矩阵 J
K = reshape([1:4]',[],1)'; % 创建一个由1到4构成的一列矩阵 K
% 使用 ':' 表示选取整个范围,用 [] 包含起来表示选区间的跨度
J(2:end-1,2:end-1) = K;
以上例子将会把矩阵 J 中除去首尾行与首尾列的部分替换成矩阵 K 的内容。
**四、逻辑索引下的赋值**
利用布尔型矩阵作为下标可精准定位需要修改的目标位置:
matlab
L = magic(3);
M = L > 5; % 计算得到一个对应原矩阵每个元素是否大于5的真/假判断结果矩阵 M
N = (L .* M) + 10; % 对于满足条件的位置(L>M),对应的元素加上10后更新回原始矩阵 N
总结来说,MATLAB 提供了一系列丰富且强大的矩阵赋值功能,无论是基础的数据填充还是复杂的局部改写都能轻松应对。熟练掌握这些技巧能够显著提高程序编写效率和灵活性,更好地服务于科研计算需求。