行列に同じ長さではないベクトルを自動的に追加することは可能ですか?
すなわち:
a = [1 2 3 4]
b = [1 2]
Cを次のようにするにはどうすればよいですか。
c = [1 2 3 4 ; 1 2 0 0]
また
c = [1 2 3 4 ; 1 2 NaN NaN]
またはそのようなもの
ありがとう
行列に同じ長さではないベクトルを自動的に追加することは可能ですか?
すなわち:
a = [1 2 3 4]
b = [1 2]
Cを次のようにするにはどうすればよいですか。
c = [1 2 3 4 ; 1 2 0 0]
また
c = [1 2 3 4 ; 1 2 NaN NaN]
またはそのようなもの
ありがとう
これは役立つかもしれません
a = [1 2 3 4];
b = [1 2];
c = a;
c(2,1:length(b)) = b;
c =
1 2 3 4
1 2 0 0
次に、NaN
よりも0
必要な場合は、以下のコメントでDennisJaheruddinが提案することを行うことができます。
このような関数を作ります
function out = cat2(a, b)
diff = length(a) - length(b)
if diff > 0
b = [b, nan(1, diff)];
else
a = [a, nan(1, -diff)];
end
out = [a;b];
end
(ただし、列ベクトルを処理するためのチェックも追加します)
cat2([1 2 3 4], [1 2])
ans =
1 2 3 4
1 2 NaN NaN