0

こんにちは私は、すべてサイズ[1 3]の9つのベクトル、3次元ベクトルを含むオブジェクトAを持っています。これらすべてを合計してサイズ[13]の新しいベクトルを作成するにはどうすればよいですか。つまり、各ベクトルの寄与を取得し、それぞれの寄与を合計して最終的なベクトルを得る方法です。前もって感謝します。私のベクトルはセル配列に格納されています。Aの定義方法:

 ri = Rix{1,1};
 rj = Riy{1,1};


 vec2 = @(i)[ri(i), rj(i), 0];
 A = arrayfun(vec2, reshape(1:numel(ri), size(ri)), 'UniformOutput', 0);

これは私がこれまでに試したことです:

 B = cellfun(@(A)nansum(A(:))'un', 0);

このエラーで

??? b = cellfun(@(distance)nansum(distance(:))'un'、0); | エラー:予期しないMATLAB式。

4

1 に答える 1

3

これはあなたが探しているものですか?

dummy = [1 2 3];
A = {dummy;dummy;dummy;dummy;dummy;dummy;dummy;dummy;dummy}
Asum = sum(cell2mat(A));

結果:

Asum = [9 18 27]

ご覧のとおり、cell2matここにトリックがあります。

于 2012-07-18T15:06:59.517 に答える