転置(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'の値が0以外の場合にのみうまくいくことはどう思いますか? 'rand(0,0)'がエラーを出しているという事実に基づいていますか?これはロジック実装とはまったく関係がないので、2つを混同しないでください。 – crazyGamer
私が書いたコードは、0ではないmとnの値について提出しているシステムのチェックポイントを通過します。システムはm = 0とn = 0(空の配列)をチェックし、私の変数transposedArrayは定義されていないと言います。私はm = 0でn = 0の場合は空の配列を返すと思います。 – Hoist