重複の可能性:
ベクトル数学用のオープンソースC++ライブラリ
非常に簡単な質問をする必要があります。MATLABのように、c ++を使用して、2つの異なるintベクトルで合計、差、積などの基本的な操作を行うにはどうすればよいですか?それを実行できる関数はありますか?前もって感謝します。
重複の可能性:
ベクトル数学用のオープンソースC++ライブラリ
非常に簡単な質問をする必要があります。MATLABのように、c ++を使用して、2つの異なるintベクトルで合計、差、積などの基本的な操作を行うにはどうすればよいですか?それを実行できる関数はありますか?前もって感謝します。
標準ライブラリにはないので、サードパーティのライブラリを使用する必要があります。要件が何であるかはわかりませんが、のようなものを見ることができますboost::ublas
。
標準のアルゴリズムを見てください:http://en.cppreference.com/w/cpp/algorithm
要件(実際には詳しく説明していません)によっては、Boost ::uBLAS ..std::for_each
から何かを探している場合があります。
std::accumulate
合計または合計積などの単一の値を累積するために使用します。
std::inner_product
2つのベクトルの値の間の二項演算子、および連続する結果の間の二項演算の結果である値を生成するために使用します。問題を正しく定式化できれば、これは非常に便利な関数です。これはMapReduceに関連しています。
ただし、おそらく本当に必要なのはstd::transform
、2つの入力で動作し、3番目の出力に書き込むことができるものです。
+、-、*などの演算子をオーバーロードする、VectorクラスやMatrixクラスなどの独自のクラスを作成できます。または、LAPACK、boost ublas、...などのライブラリを使用できます。