我需要創建我自己的數組轉置例程而不使用轉置(x)。我必須使用嵌套的for-loops來交換數組的列和行。我想出了下面的代碼,但是這隻適用於m和n(列數和行數)的非零值。我怎樣才能調整這段代碼,使它對n = 0和m = 0起作用?在此先感謝0x0陣列的Matlab轉置
clear
clc
% set dimensions
n = 2;
m = 3;
firstArray = rand(n,m);;
for ii = 1:n;
for jj = 1:m;
transposedArray(jj, ii) = firstArray(ii, jj); %transposing
end
end
disp(transposedArray);
@ m0h4mm4d:在MATLAB中,這在技術上是允許的,所以問題在這方面不是無效的。但是,我不明白代碼中的問題,你想讓它成爲一個函數嗎?它將適用於任何2D陣列。 – crazyGamer
@Hoist你怎麼知道它只適用於'm'和'n'的非零值?它是基於'rand(0,0)'給出錯誤的事實嗎?因爲這與邏輯實現完全無關,所以不要混淆這兩者。 – crazyGamer
讓我進一步澄清,我寫的代碼通過我提交的系統的檢查點,其中m和n值不是0.然後系統檢查它是否爲m = 0和n = 0(空數組)說我的變量transposedArray沒有定義。我猜只是返回空數組,如果它是m = 0和n = 0應該足夠。 – Hoist