すべての可能な組み合わせを使って配列の要素を掛けようとしました。たとえば、A = [2,3,5]
- >2*3,3*5,5*2
です。これはどのようにMATLABで行うことができますか?すべての配列要素を掛ける
-1
A
答えて
0
A = [2,3,5];
storage(numel(A),numel(A))=0; % or storage = zeros(numel(A)), whichever you prefer
for ii = 1:numel(A)-1
storage(1:numel(A)-ii,ii) = A(ii)*A(ii+1:end); % Multiplication
end
storage = storage(:); % Get a single vector
storage = storage(storage~=0); % remove zeros
あなたはすなわち、まず、第1の最初の1の後にすべての要素を掛け、乗算にループを使用することができ、その後、prod
付きなどの第二と第二の後にすべての要素
4
nchoosek
は正確に何でありますあなたが探しています。ワンライナーとして
C = nchoosek(A,2); %Finding the combinations taken two at a time
Req = prod(C,2) %Multipliying the combinations (columns)
%Output:
% Req =
% 6
% 10
% 15
又はReq=prod(nchoosek(A,2),2);
。
+1
'Req = prod(C、2)'を使用することができます – rahnema1
+0
ありがとう@ rahnema1これは一度に2つ以上の要素を使用する場合のより一般的です。 –
関連する問題
- 1. 配列内のすべての要素を掛ける
- 2. 配列の要素の掛け算
- 3. 配列内の特定の要素を掛け合わせる
- 4. 2次元配列の要素を掛ける
- 5. リスト内のすべての要素を掛ける方法
- 6. ループを使用せずに配列要素を掛ける
- 7. 配列内の各要素に配列以外のすべての配列要素を掛けてください
- 8. Mxnet要素の掛け算
- 9. ベクトルでベクトル要素を掛けて正方行列を返す
- 10. リスト内の要素を掛ける
- 11. 文字列のリストにint要素の要素リストを掛ける
- 12. リストに要素を掛ける
- 13. Numpy配列ランクすべての要素
- 14. 2種類の配列を掛ける
- 15. 1要素行列で掛け算する
- 16. 行列を要素ごとに掛ける
- 17. 配列のすべての要素を含むエントリを見つける
- 18. 配列要素の配列要素をJavaで配列する
- 19. スカラーでNumPy配列を掛ける
- 20. 2D配列を掛けるArrayIndexOutOfBoundsException? (Java)
- 21. 2D配列内の要素セットのすべての行インデックスを見つける
- 22. リストの各要素にlispの別のリストの各要素を掛けて
- 23. 列を交互に選択して配列を掛ける
- 24. n要素の配列から3要素のすべての組み合わせを見つける
- 25. BigQueryで配列のすべての要素をキャストする
- 26. 他のすべての配列要素を連結する
- 27. 行列の各列にベクトルで要素を掛ける方法Theanoでは?
- 28. 要素ごとの配列と長方形の行列を掛け合わせる
- 29. すべての要素を取得するSwift配列+
- 30. すべての要素を出力するJava配列リスト
ループを避ける必要があるので、これはMatlabにはありません。 – gamma
@gammaこのプログラムはMATLABの関数で構成されています...早すぎる最適化が悪いので、ループを避けることがまず考えられません。また、R2016aループの速度が大幅に向上しているので、代替方法が高速かどうかを確認する時間が必要です。 – Adriaan