-2
多次元配列(この場合は3次元)から1次元配列または2次元配列への変換に関するクエリがあります。私は、二項分布に従って乱数を生成する三次元の行列を持っています。行列の3つの次元は、cluster_nbrs、timeslots、およびserver_nbrsを表します。このコードはMATLABに実装されています。多次元配列から1次元ベクトルへの変換
cluster_nbrs = 3;
timeslots = 4;
server_nbrs = 2;
d_cts = zeros(cluster_nbrs,timeslots,server_nbrs); % Three Dimensional Matrix
for c = 1:cluster_nbrs
for t = 1:timeslots
for s = 1:server_nbrs
d_cts(c,t,s) = binopdf(randi(300),300,0.5);
s = s + 1;
end
t = t + 1;
end
c = c + 1;
end
今、私は私が使用する必要があり、その後どのような機能のみの次元としてcluser_nbrsとタイムスロットを持つ別の行列を生成する場合。私はこの方法を使用しました。私が間違いを犯した場合は、私に修正してください。
d_ct = zeros(cluster_nbrs,timeslots); % Two Dimensional Matrix
for c = 1:cluster_nbrs
for t = 1:timeslots
d_ct(c,t) = sum(d_cts(c,t,:))./server_nbrs;
t = t + 1;
end
c = c + 1;
end
さらに、cluster_nbrsディメンションの値だけを使用する場合は、このロジックに従っています。
d_c = zeros(cluster_nbrs,1); % 1 Dimensional Matrix
for c = 1:cluster_nbrs
d_c(c,1) = sum(d_ct(c,:))./timeslots;
c = c + 1;
end
私は1つの& 2次元行列の値を取得していますが、私は、これは多次元配列を変換するための正しい方法であればお願いしたいと思います。
コードで期待される出力が得られない場合は、出力の内容と実際に期待する内容を記述してください。 – mikkola
@mikkola私の質問は、多次元配列を1次元配列に変換するために使用しているメソッドが正しいかどうかです。 – shahrukh