在找到了如何处理空结构的一些逻辑之后,我想检查一下它是如何推广到矩阵的。
在这里,我注意到以下内容:
如果您有一个 1x1 矩阵,并分配给第一个元素。它与分配给所有元素不同。
这让我很惊讶,因为第一个元素实际上与本例中的所有元素相同。以下是我的观察:
x = 1;
y = 1;
z = 1;
x(:) = []; % Evaluates to [] as I expected
y(1) = []; % Evaluates to Empty matrix: 1-by-0, rather than []
z(1,1) = []; %Throws an error: 'Subscripted assignment dimension mismatch.' even though size(z) gives [1 1];
z(1,:) = []; % Evaluates to Empty matrix: 0-by-1, just like z(:,:) = []
看到这个后,我的问题是:
为什么以不同的方式分配给同一事物会导致四种不同的结果?