2015年8月23日日曜日

Levenberg-Marquardt法について

以前にC++ Library Eigen を利用する簡単な手順を書きましたが,ある問題に対する非線形最適化を行うことを目的とし,その準備としてEigen の利用方法を調べていました。

今回は信頼領域法のひとつであるLevenberg-Marquardt法を利用します。

Levenberg-Marquardt法については"Wikipedia"に詳しく記載されています。

Eigenを利用した実装方法は「iPhone アプリ研究会」に記載されています。


Eigenの利用メモ

VisualStudioでC++library Eigenを使いたいなと思い,あれこれと苦労した内容を残します。

できてしまえばすごく簡単なことでしたが,参考にした情報の順番がややこしい問題を引き起こしてました。問題のサイトについては伏せて説明します。

WindowsOSから環境変数でパスを貼るのが個人的にすごくキライなだけです。

2015年8月19日水曜日

作業用BGM

作業用BGMに下記サイトをよく利用しています。
 
JAZZ and RAIN
http://jazzandrain.com/vocal_jazz.html

名前のとおり,JAZZと雨の音です。

集中したいときは雨音だけにして流しています。

あとは気分転換にYoutubeを適当に流したりしています。

2015年8月17日月曜日

シールドケーブルの処理

電気関係の実技アビリティが少ないので,取得。

ノイズからケーブル内の信号を守るシールド線。
シールド線をコネクタなどを介して中継する際の注意点とテクニックを習得した。

シールドケーブルの処理
  • 複数ケーブルの場合はシールド線を束ねて一本の線にしてコネクタと接続
  • 同軸ケーブルの場合は外被の上に折り返して被せて,線とつなぎ,コネクタと接続


2015年7月26日日曜日

確率論の勉強(1)

ベイズ推定を利用したアプリケーションを開発する上で,確率論を勉強しはじめました。

あとあと,資料として使えるように測度論から勉強し,内容をPDF形式で保管しています。

まだまだ書きかけの参考文献もロクに書き足してないメモ程度のもの⇒

2015年7月23日木曜日

Dll内のクラス丸ごと利用の注意点

"*.dll"ファイル内のクラスを丸ごと利用しようとした場合,"*.def"ファイルを使った方法では以下の2点が厄介です。
  1. 個別にクラス内関数・変数を"*.def"ファイルに記入する必要がある
  2. クラス内関数・変数の名前は装飾名になってしまう。
 特に,上記2が厄介です。装飾名を調べるために"*.map"ファイルを作成し,ファイル内を探索する必要があり,クラスの規模が大きくなるほど労力も増加します。四則演算のクラス程度でも探すのが面倒と感じました。

ですので,素直に"__declspec(dllexport)"を利用したほうが楽です。 クラスそのものがエクスポートされるので、関数をひとつずつエクスポートする必要がなくなります。

次回はクラスを丸ごとインポートして,利用するプログラムを作成しようと思います。