空の構造体がどのように処理されるかについていくつかのロジックを見つけた後、これが行列にどのように一般化されるかを確認したいと思いました。
ここで、次のことに気付きました。
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(:,:) = []
これを見た後、私の質問は次のとおりです。
同じものを異なる方法で割り当てると、4 つの異なる結果が生じるのはなぜですか?