在找到how empty structs are dealt with中的一些邏輯之後,我想檢查這是如何推廣到矩陣的。1x1矩陣的第一個元素和1x1矩陣的所有元素之間的區別
在這裏,我注意到以下幾點:
如果你有一個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(:,:) = []
看到這個,我的問題後:
爲什麼分配以不同的方式同樣的事情,導致四個不同的結果?
你只是感興趣,或者這是一個實際問題嗎? –
@DennisJaheruddin你應該在TMW的QA團隊中工作:) –
@SamRoberts問題*爲什麼*最不受歡迎,但特別是第一種和第四種情況之間的差異使我擔心我的代碼的健壯性。因此,這不僅是一個問題,也是一個警告。 –