WIL説明書(C++)  3.0.0
全メンバ一覧 | 公開型 | 公開メンバ関数 | フレンド
FVCL::Data::CFvVector クラス

ベクトルクラス [詳解]

詳解

ベクトルクラス

namespace FVCL::Data

ベクトル情報を保有するクラスです。

必要条件:
ヘッダー: FVCLbasic.h
参照
FVCL::Data::CFvMatrix
FIE:
FVECTOR
バージョン
FVCLbasic v2.0.0.0: 新規追加
+ FVCL::Data::CFvVector の継承関係図

公開型

enum  { DataID = 201 }
 

公開メンバ関数

 CFvVector ()
 コンストラクタ [詳解]
 
 CFvVector (INT dim)
 コンストラクタ [詳解]
 
 CFvVector (INT dim, DOUBLE *vector)
 コンストラクタ [詳解]
 
 CFvVector (FVECTOR *vector, bool attach)
 コンストラクタ [詳解]
 
 CFvVector (const CFvVector &src)
 コピーコンストラクタ [詳解]
 
virtual ~CFvVector ()
 デストラクタ [詳解]
 
virtual INT GetDataID () const
 データIDの取得 [詳解]
 
virtual bool GetPointer (INT id, void **val) const
 インスタンスのthisポインタの取得 [詳解]
 
virtual bool Resize (INT dim)
 領域の確保 [詳解]
 
virtual void Free ()
 ベクトルの解放 [詳解]
 
virtual bool Attach (INT dim, DOUBLE *vector)
 アタッチ [詳解]
 
virtual bool Attach (FVECTOR *vector)
 アタッチ [詳解]
 
virtual void IsAttach (bool value)
 アタッチ属性の設定 [詳解]
 
virtual bool IsAttach () const
 アタッチ属性の取得 [詳解]
 
virtual bool SetHandle (FVECTOR *vector)
 ハンドルの設定 [詳解]
 
virtual FVECTOR * GetHandle () const
 ベクトル構造体のアドレスの取得 [詳解]
 
virtual FVECTOR * GetFVECTOR () const
 ベクトル構造体のアドレスの取得 [詳解]
 
INT GetDim () const
 次元数の取得 [詳解]
 
DOUBLEGetAddress () const
 ベクトル要素の先頭アドレス取得 [詳解]
 
virtual DOUBLEoperator[] (INT index)
 ベクトル要素への参照 [詳解]
 
virtual const DOUBLEoperator[] (INT index) const
 ベクトル要素への参照 [詳解]
 
virtual CFvVectoroperator= (const CFvVector &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvVector &src) const
 比較オペレータ(等価演算子) [詳解]
 
virtual bool operator!= (const CFvVector &src) const
 比較オペレータ(非等価演算子) [詳解]
 
virtual CFvVector operator+ (const CFvVector &src) const
 加算オペレータ(ベクトル) [詳解]
 
virtual CFvVector operator+ (DOUBLE scalar) const
 加算オペレータ(スカラー) [詳解]
 
virtual CFvVectoroperator+= (const CFvVector &src)
 加算代入オペレータ(ベクトル) [詳解]
 
virtual CFvVectoroperator+= (DOUBLE scalar)
 加算代入オペレータ(スカラー) [詳解]
 
virtual CFvVector operator- (const CFvVector &src) const
 減算オペレータ(ベクトル) [詳解]
 
virtual CFvVector operator- (DOUBLE scalar) const
 減算オペレータ(スカラー) [詳解]
 
virtual CFvVectoroperator-= (const CFvVector &src)
 減算代入オペレータ(ベクトル) [詳解]
 
virtual CFvVectoroperator-= (DOUBLE scalar)
 減算代入オペレータ(スカラー) [詳解]
 
virtual CFvVector operator* (DOUBLE scalar) const
 乗算オペレータ(スカラー) [詳解]
 
virtual CFvVectoroperator*= (DOUBLE scalar)
 乗算代入オペレータ(スカラー) [詳解]
 
void zeros ()
 要素が全て0のベクトルの作成 [詳解]
 
CFvVector cross (const CFvVector &vector) const
 ベクトル外積計算 [詳解]
 
DOUBLE inner (const CFvVector &vector) const
 ベクトル内積計算 [詳解]
 
CFvVector normalize () const
 単位ベクトルの計算 [詳解]
 
DOUBLE norm_l1 () const
 L1ノルムの算出 [詳解]
 
DOUBLE norm_l2 () const
 L2ノルムの算出 [詳解]
 
DOUBLE norm_l3 () const
 L3ノルムの算出 [詳解]
 
CFvVector mul_elem (const CFvVector &src) const
 成分ごとの乗算 (ベクトル*ベクトル) [詳解]
 
CFvVector div_elem (const CFvVector &src) const
 成分ごとの除算 (ベクトル/ベクトル) [詳解]
 
bool is_normal () const
 非数値判定 [詳解]
 
- 基底クラス FVCL::CFvDataObject に属する継承公開メンバ関数
 CFvDataObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvDataObject ()
 デストラクタ [詳解]
 
virtual bool Load (LPCTSTR szFileName)
 データファイルの読み込み [詳解]
 
virtual bool Save (LPCTSTR szFileName)
 データファイル保存 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承公開メンバ関数
 CFvObject ()
 標準のコンストラクタ [詳解]
 
virtual ~CFvObject ()
 デストラクタ [詳解]
 
INT SetErrorCode (INT err)
 エラーコードの設定 [詳解]
 
INT SetErrorCode (INT err) const
 エラーコードの設定 [詳解]
 
INT GetErrorCode () const
 エラーコードの取得 [詳解]
 
bool SetAllocateOption (INT value)
 画像領域確保時のオプションの設定 [詳解]
 
INT GetAllocateOption () const
 画像領域確保時のオプションの取得 [詳解]
 
void * operator new (size_t uiSize)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject)
 delete[] オペレータ [詳解]
 
void * operator new (size_t uiSize, LPCSTR szFileName, INT iLine)
 new オペレータ [詳解]
 
void * operator new[] (size_t uiSize, LPCSTR szFileName, INT iLine)
 new[] オペレータ [詳解]
 
void operator delete (void *pvObject, LPCSTR szFileName, INT iLine)
 delete オペレータ [詳解]
 
void operator delete[] (void *pvObject, LPCSTR szFileName, INT iLine)
 delete[] オペレータ [詳解]
 
virtual CFvObjectoperator= (const CFvObject &src)
 代入オペレータ [詳解]
 
virtual bool operator== (const CFvObject &src) const
 比較オペレータ (==) [詳解]
 
virtual bool operator!= (const CFvObject &src) const
 比較オペレータ (!=) [詳解]
 

フレンド

FVCL_API friend CFvVector operator/ (const CFvVector &vector, DOUBLE scalar)
 除算オペレータ(ベクトル/スカラー) [詳解]
 
FVCL_API friend CFvVector operator/ (DOUBLE scalar, const CFvVector &vector)
 除算オペレータ(スカラー/ベクトル) [詳解]
 

その他の継承メンバ

- 基底クラス FVCL::CFvObject に属する継承静的公開メンバ関数
static bool SetDefaultAllocateOption (INT value)
 既定の画像領域確保時のオプションの設定 [詳解]
 
static INT GetDefaultAllocateOption ()
 既定の画像領域確保時のオプションの取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開メンバ関数
INT fnCPUCheck ()
 CPU情報の取得 [詳解]
 
- 基底クラス FVCL::CFvObject に属する継承限定公開変数類
INT m_ErrorCode
 エラーコード [詳解]
 
INT m_AllocateOption
 画像領域確保時のオプション [詳解]
 

列挙型メンバ詳解

anonymous enum
列挙値
DataID 

ベクトルクラスのデータID

このクラスのデータIDです。

構築子と解体子

FVCL::Data::CFvVector::CFvVector ( )

コンストラクタ

標準のコンストラクタです。

次元 3 のベクトルを確保します。各成分は 0 初期化されています。

FVCL::Data::CFvVector::CFvVector ( INT  dim)

コンストラクタ

引数に指定されたサイズでベクトルを生成してオブジェクトを構築します。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。

確保されたベクトルの内容は、0 で初期化されます。
確保されたメモリはデストラクタで自動的に解放されます。

引数
[in]dimベクトルの次元(要素数)
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
参照
~CFvVector
Resize
FVCL::Data::CFvVector::CFvVector ( INT  dim,
DOUBLE vector 
)

コンストラクタ

引数に指定されたアドレスにアタッチしてオブジェクトを構築します。
ベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは解放されません。

引数
[in]dimベクトルの次元(要素数)
[in]vectorベクトルの配列のアドレス
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
参照
Attach
FVCL::Data::CFvVector::CFvVector ( FVECTOR *  vector,
bool  attach 
)

コンストラクタ

初期値を指定してオブジェクトを構築します。

引数
[in]vectorベクトル構造体
[in]attachアタッチ指定
  • true : アタッチします。引数に指定した vector は、ユーザー側で管理してください。
  • false : アタッチしません。引数に指定した vector は、このクラスが破棄される際に解放されます。

例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
FVCL::Data::CFvVector::CFvVector ( const CFvVector src)

コピーコンストラクタ

引数のベクトルと同じサイズのベクトルを生成し、データをコピーします。 確保されたメモリはデストラクタで自動的に解放されます。

引数
[in]src複製元
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
参照
~CFvVector
operator = ( const CFvVector& src )
FVCL::Data::CFvVector::~CFvVector ( )
virtual

デストラクタ

メモリの解放を行います。

関数詳解

FVCL::Data::CFvVector::GetDataID ( ) const
virtual

データIDの取得

データIDを取得します。

戻り値
データIDを返します。
参照
CFvVector::DataID

FVCL::CFvDataObjectを実装しています。

FVCL::Data::CFvVector::GetPointer ( INT  id,
void **  val 
) const
virtual

インスタンスのthisポインタの取得

指定されたデータIDと自身のIDが一致する場合に thisポインタを返します。

引数
[in]idデータID
[out]valthisポインタを格納する変数へのポインタ
戻り値
true正常
false異常
参照
CFvVector::DataID

FVCL::CFvDataObjectを実装しています。

FVCL::Data::CFvVector::Resize ( INT  dim)
virtual

領域の確保

引数に指定されたサイズでベクトルを生成してオブジェクトを構築します。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。

確保されたベクトルは、0 で初期化されます。

引数
[in]dimベクトルの次元(要素数)
戻り値
true正常
false異常
GetErrorCodeメソッドによりエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
参照

GetDim
FVCL::Data::CFvVector::Free ( )
virtual

ベクトルの解放

参照
~CFvVector
FVCL::Data::CFvVector::Attach ( INT  dim,
DOUBLE vector 
)
virtual

アタッチ

引数に指定されたアドレスにアタッチします。
ベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは解放されません。

引数
[in]dimベクトルの次元(要素数)
[in]vectorベクトルの配列のアドレス
戻り値
true正常
false異常
GetErrorCodeメソッドによりエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
FVCL::Data::CFvVector::Attach ( FVECTOR *  vector)
virtual

アタッチ

引数に指定されたアドレスにアタッチします。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは解放されません。

引数
[in]vectorベクトル構造体
通常は fnFIE_mat_valloc で確保したベクトルを指定してください。
戻り値
true正常
false異常
GetErrorCodeメソッドによりエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
参照
CFvVector::SetHandle( FVECTOR *vector )
FVCL::Data::CFvVector::IsAttach ( bool  value)
virtual

アタッチ属性の設定

アタッチ属性を設定します。

引数
[in]valueアタッチ属性
  • true : アタッチします。アタッチ対象の領域はユーザー側で管理する必要があります。
  • false : アタッチしません。このクラスの内部に管理している領域はクラスが破棄される際に解放されます。

参照
CFvVector::SetHandle( FVECTOR *vector )
CFvVector::Attach( FVECTOR *vector )
FVCL::Data::CFvVector::IsAttach ( ) const
virtual

アタッチ属性の取得

現在のアタッチ属性を取得します。

戻り値
trueアタッチしています。アタッチ対象の領域はユーザー側で管理する必要があります。
falseアタッチしていません。このクラスの内部に管理している領域はクラスが破棄される際に解放されます。
参照
CFvVector::SetHandle( FVECTOR *vector )
CFvVector::Attach( FVECTOR *vector )
FVCL::Data::CFvVector::SetHandle ( FVECTOR *  vector)
virtual

ハンドルの設定

引数に指定されたアドレスを設定します。
確保するベクトルのサイズは 0 < dim < 2^29 を満たすように指定してください。
指定されたメモリアドレスは、このクラスが破棄される際に解放されます。

引数
[in]vectorベクトル構造体
通常は fnFIE_mat_valloc で確保したベクトルを指定してください。
戻り値
常に true を返します。
参照
CFvVector::Attach( FVECTOR *vector )
FVCL::Data::CFvVector::GetHandle ( ) const
virtual

ベクトル構造体のアドレスの取得

ヒープ領域に確保されたベクトル構造体のアドレスを取得します。
GetFVECTOR と同様の値を返します。

戻り値
ベクトル構造体のアドレスを返します。
参照
GetFVECTOR
FVCL::Data::CFvVector::GetFVECTOR ( ) const
virtual

ベクトル構造体のアドレスの取得

ヒープ領域に確保されたベクトル構造体のアドレスを取得します。
GetHandle と同様の値を返します。

戻り値
ベクトル構造体のアドレスを返します。
FIE:
FVECTOR
解説:
この関数は FIE ライブラリのベクトル演算関数にベクトルオブジェクトを渡す場合に使用します。
#include "FVCLbasic.h"
#include "fie.h"
void test_sub_vector_scalar()
{
FVECTOR* _vs = vs.GetFVECTOR();
FVECTOR* _vd = vd.GetFVECTOR();
fnFIE_mat_sub_vs( _vs, 1.0, _vd );
}

参照
GetHandle
FVCL::Data::CFvVector::GetDim ( ) const

次元数の取得

ベクトルの次元数を取得します。

戻り値
ベクトルの次元数を返します。
参照
Resize
FVCL::Data::CFvVector::GetAddress ( ) const

ベクトル要素の先頭アドレス取得

ベクトルデータの先頭アドレスを取得します。

戻り値
ベクトルデータの先頭アドレスを返します。
サンプルコード:
CFvVector vector(3);
DOUBLE* adrs = vector.GetAddress();
for( UINT i=0; i<vector.GetDim(); i++ )
{
adrs[i] = 1;
}

参照
operator [] ( INT index )
FVCL::Data::CFvVector::operator[] ( INT  index)
virtual

ベクトル要素への参照

指定位置のベクトル要素への参照を取得します。

戻り値
ベクトル要素への参照を返します。
サンプルコード:
CFvVector vector(3);
for( UINT i=0; i<vector.GetDim(); i++ )
{
vector[i] = 1;
}

FVCL::Data::CFvVector::operator[] ( INT  index) const
virtual

ベクトル要素への参照

指定位置のベクトル要素への参照を取得します。

戻り値
ベクトル要素への参照を返します。
FVCL::Data::CFvVector::operator= ( const CFvVector src)
virtual

代入オペレータ

同一クラスのオブジェクトの内容を複製して、自身に代入します。

引数
[in]srcコピー元
戻り値
自分自身への参照を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
FVCL::Data::CFvVector::operator== ( const CFvVector src) const
virtual

比較オペレータ(等価演算子)

同一クラスのオブジェクトの内容と比較します。

引数
[in]src比較対象
戻り値
true一致
false不一致
参照
operator!=
FVCL::Data::CFvVector::operator!= ( const CFvVector src) const
virtual

比較オペレータ(非等価演算子)

同一クラスのオブジェクトの内容と比較します。

引数
[in]src比較対象
戻り値
true不一致
false一致
参照
operator==
FVCL::Data::CFvVector::operator+ ( const CFvVector src) const
virtual

加算オペレータ(ベクトル)

自身と右辺値(ベクトル)を加算した結果を返します。自身の内容は更新されません。
次元数が一致している必要があります。

引数
[in]src右辺値
戻り値
計算結果を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sum_vv
FVCL::Data::CFvVector::operator+ ( DOUBLE  scalar) const
virtual

加算オペレータ(スカラー)

自身と右辺値(スカラー)を加算した結果を返します。自身の内容は更新されません。

引数
[in]scalar右辺値
戻り値
計算結果を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sum_vs
FVCL::Data::CFvVector::operator+= ( const CFvVector src)
virtual

加算代入オペレータ(ベクトル)

自身に右辺値(ベクトル)を加算した結果を返します。自身の内容を更新します。
次元数が一致している必要があります。

引数
[in]src右辺値
戻り値
計算後の自身への参照を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sum_vv
FVCL::Data::CFvVector::operator+= ( DOUBLE  scalar)
virtual

加算代入オペレータ(スカラー)

自身と右辺値(スカラー)を加算した結果を返します。自身の内容を更新します。

引数
[in]scalar右辺値
戻り値
計算後の自身への参照を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sum_vs
FVCL::Data::CFvVector::operator- ( const CFvVector src) const
virtual

減算オペレータ(ベクトル)

自身と右辺値(ベクトル)を減算した結果を返します。自身の内容は更新されません。
次元数が一致している必要があります。

引数
[in]src右辺値
戻り値
計算結果を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sub_vv
FVCL::Data::CFvVector::operator- ( DOUBLE  scalar) const
virtual

減算オペレータ(スカラー)

自身と右辺値(スカラー)を減算した結果を返します。自身の内容は更新されません。

引数
[in]scalar右辺値
戻り値
計算結果を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sub_vs
FVCL::Data::CFvVector::operator-= ( const CFvVector src)
virtual

減算代入オペレータ(ベクトル)

自身に右辺値(ベクトル)を減算した結果を返します。自身の内容を更新します。
次元数が一致している必要があります。

引数
[in]src右辺値
戻り値
計算後の自身への参照を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sub_vv
FVCL::Data::CFvVector::operator-= ( DOUBLE  scalar)
virtual

減算代入オペレータ(スカラー)

自身と右辺値(スカラー)を減算した結果を返します。自身の内容を更新します。

引数
[in]scalar右辺値
戻り値
計算後の自身への参照を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_sub_vs
FVCL::Data::CFvVector::operator* ( DOUBLE  scalar) const
virtual

乗算オペレータ(スカラー)

自身(ベクトル)の各成分と右辺値(スカラー)を乗算した結果を返します。
自身の内容は更新されません。

引数
[in]scalar右辺値
戻り値
計算結果を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_mul_vs
FVCL::Data::CFvVector::operator*= ( DOUBLE  scalar)
virtual

乗算代入オペレータ(スカラー)

自身(ベクトル)の各成分と右辺値(スカラー)を乗算した結果を返します。
自身の内容を更新します。

引数
[in]scalar右辺値
戻り値
計算後の自身への参照を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_mat_mul_vs
FVCL::Data::CFvVector::zeros ( )

要素が全て0のベクトルの作成

現在のベクトルの成分を全て 0.0 に設定します。

例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
11 FVCL_ErrorCode::INVALID_PARAMETER ベクトルが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
FIE:
fnFIE_mat_vinit
FVCL::Data::CFvVector::cross ( const CFvVector vector) const

ベクトル外積計算

現在のベクトルと指定されたベクトルの外積を計算して返します。
現在のベクトルの内容は更新されません。

※ 2つのベクトルの次元は 3 でなければなりません。
2つのベクトルの外積は次式で定義されます。 ここでは、現在のベクトルを v1 、引数に指定されたベクトルを v2 として記載しています。

\[ {\bf V1} \times {\bf V2} \equiv \left( V1_1 V2_2 - V1_2 V2_1, V1_2 V2_0 - V1_0 V2_2, V1_0 V2_1 - V1_1 V2_0 \right) \]

引数
[in]vector外積を計算するベクトル
戻り値
算出されたベクトルを返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_cross
FVCL::Data::CFvVector::inner ( const CFvVector vector) const

ベクトル内積計算

現在のベクトルと指定されたベクトルの内積を計算して返します。
現在のベクトルの内容は更新されません。

※ 2つのベクトルの次元は等しくなければなりません。
2つのベクトルの内積は次式で定義されます。 ここでは、現在のベクトルを v1 、引数に指定されたベクトルを v2 として記載しています。

\[ {\bf V1} \cdot {\bf V2} \equiv \sum_{i=0}^{dim} V1_i V2_i \]

式中の dim は各ベクトルの次元を表します。

引数
[in]vector内積を計算するベクトル
戻り値
算出された値を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_inner
FVCL::Data::CFvVector::normalize ( ) const

単位ベクトルの計算

現在のベクトルの単位ベクトルを計算して返します。 算出されるベクトルの L2 ノルムが 1.0 となるように、 スカラー係数を現在の行列に掛け合わせます。

現在のベクトルの内容は更新されません。

戻り値
算出されたベクトルを返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_normalize
FVCL::Data::CFvVector::norm_l1 ( ) const

L1ノルムの算出

現在のベクトルの L1 ノルムを計算して返します。 現在のベクトルの内容は更新されません。

下式にて定義されます。

\[ {\bf V} = (v_0, v_1, \ldots , v_n) \]

\[ \|{\bf V}\|_1 = \sum_{i=1}^{n}{|x_i|} \]

戻り値
算出された値を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_norm_l1
FVCL::Data::CFvVector::norm_l2 ( ) const

L2ノルムの算出

現在のベクトルの L2 ノルムを計算して返します。 現在のベクトルの内容は更新されません。

下式にて定義されます。

\[ \mbox{\boldmath$V$} = (v_0, v_1, \ldots , v_n) \]

\[ \|\mbox{\boldmath$V$}\|_2 = \sqrt{|v_0|^2 + |v_1|^2 + \cdots + |v_n|^2 } \]

戻り値
算出された値を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_norm_l2
FVCL::Data::CFvVector::norm_l3 ( ) const

L3ノルムの算出

現在のベクトルの L3 ノルムを計算して返します。 現在のベクトルの内容は更新されません。

下式にて定義されます。

\[ {\bf V} = (v_0, v_1, \ldots , v_n) \]

\[ \|{\bf V}\|_3 = \max( |v_0|, |v_1|, \ldots , |v_n| ) \]

戻り値
算出された値を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_norm_l3
FVCL::Data::CFvVector::mul_elem ( const CFvVector src) const

成分ごとの乗算 (ベクトル*ベクトル)

現在のベクトルと指定されたベクトルの各成分について乗算した結果を返します。
現在のベクトルの内容は更新されません。

※ 2つのベクトルの次元は等しくなければなりません。

引数
[in]src右辺値
戻り値
算出されたベクトルを返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_mul_elem_vv
FVCL::Data::CFvVector::div_elem ( const CFvVector src) const

成分ごとの除算 (ベクトル/ベクトル)

現在のベクトルと指定されたベクトルの各成分について除算した結果を返します。
現在のベクトルの内容は更新されません。

※ 2つのベクトルの次元は等しくなければなりません。

引数
[in]src右辺値
戻り値
算出されたベクトルを返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode メソッドからエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER パラメータが不正です。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_div_elem_vv
FVCL::Data::CFvVector::is_normal ( ) const

非数値判定

戻り値
true非数値を含んでいる。
false非数値を一つも含んでいない。
例外
CFveBadParamExceptionベクトルが NULL です。
FIE:
fnFIE_vect_is_normal

フレンドと関連関数の詳解

FVCL::Data::CFvVector::operator/ ( const CFvVector vector,
DOUBLE  scalar 
)
friend

除算オペレータ(ベクトル/スカラー)

左辺値(ベクトル)の各成分と右辺値(スカラー)を除算した結果を返します。

引数
[in]vector左辺値
[in]scalar右辺値
戻り値
計算結果を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_div_elem_vs
参照
operator / ( const CFvVector& vector, DOUBLE scalar )
FVCL::Data::CFvVector::operator/ ( DOUBLE  scalar,
const CFvVector vector 
)
friend

除算オペレータ(スカラー/ベクトル)

左辺値(スカラー)と右辺値(ベクトル)の各成分を除算した結果を返します。

引数
[in]scalar左辺値
[in]vector右辺値
戻り値
計算結果を返します。
例外
FVCL::CFveException処理に失敗した場合は例外を発行します。 発行された例外インスタンスの GetErrorCode からエラーコードを取得できます。
エラーコード:
定数 内容
51 FVCL_ErrorCode::LICENSE_ERROR ライセンスがありません。
1 FVCL_ErrorCode::FAILED_TO_ALLOCATE メモリの確保に失敗しました。
11 FVCL_ErrorCode::INVALID_PARAMETER 引数に誤りがあります。
12 FVCL_ErrorCode::INVALID_OBJECT メモリが確保されていません。
29 FVCL_ErrorCode::NOT_CALCULABLE 計算できません。
FIE:
fnFIE_vect_div_elem_sv
参照
operator / ( DOUBLE scalar, const CFvVector& vector )

Documentation copyright © 2007 FAST Corporation. [B-001864]
Generated on 2023年11月02日(木) 10時13分00秒 for WIL説明書(C++) by doxygen 1.8.11