研究の掃溜ノオト
since 2011/2/13 知能ロボ研究の合間に思ったこととか書いてます。
カテゴリー「未選択」の記事一覧
- 2025.02.09
[PR]
- 2011.02.16
ランベルトのW関数
- 2011.02.14
UbuntuでWebカメラ!
- 2011.02.13
UbuntuでCpplapack!!
ランベルトのW関数
指数関数と多項式が混ざった方程式を解くときによく出てくる”ランベルトのW関数”。
これは
f(x)=x*e^x
の逆関数として定義されています。
反復計算による関数値の計算法はよく知られているようです。
ちなみに
x=c*e^x
の解は
W(-c)
となります。
(両辺をexpで割って-1をかければ出るはず!)
参考文献:ランベルトのW関数(wikipedia)
W(c)を求める。10^1オーダーの計算で大体収束します。速いです!
Scilabソース
**********************************************************
これは
f(x)=x*e^x
の逆関数として定義されています。
反復計算による関数値の計算法はよく知られているようです。
ちなみに
x=c*e^x
の解は
W(-c)
となります。
(両辺をexpで割って-1をかければ出るはず!)
参考文献:ランベルトのW関数(wikipedia)
W(c)を求める。10^1オーダーの計算で大体収束します。速いです!
Scilabソース
**********************************************************
//calculate W(z)
z=10;
//initial value
w1=0;
for i=1:20
w2=w1-(w1*exp(w1)-z)/((exp(w1)*(w1+1)-(w1+2)*(w1*exp(w1)-z)/(2*w1+2)))
w1=w2;
end
w1
PR
UbuntuでWebカメラ!
Ubuntu10.10でWEBカメラを使おうと適当に買ってきたカメラは
調べてみるとLinuxに対応していない!?
ちなみに買ってきたのはElecomの”UCAM-DLU130HSV”です
確かに接続しても何も表示されない・・・
これは買いなおしか?と思いつつも一応動画表示ソフトでみてみました。
使ったのはxawtvとか言うソフト。導入は
sudo apt-get install xawtv
と端末に入れるだけ。使うときは
xawtv -v /dev/video0
と端末に入れます。
おぉ!何と見れました!うんともすんとも言ってなかったのに
ちゃんと動画が表示されています!。
でもxawtvにでてるエラーが少し気になる・・・
まぁ映像が取得できてたらこっちのもんだよね^^;
参考文献:blog.livedoor.jp/vine_user/archives/50700984.html#
表示されたエラー:
i-horse@ihorse-CF-W4JW8AXR:~$ xawtv -c /dev/video0
This is xawtv-3.95.dfsg.1, running on Linux/i686 (2.6.35-25-generic)
xinerama 0: 1024x768+0+0
/dev/video0 [v4l2]: no overlay support
v4l-conf had some trouble, trying to continue anyway
Warning: Cannot convert string "-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct
ioctl: VIDIOC_G_STD(std=0x1 [PAL_B]): 無効な引数です
ioctl: VIDIOC_S_STD(std=0x0 []): 無効な引数です
UbuntuでCpplapack!!
Windowsでは動かない開発環境もLinuxなら!と考えてUbuntuをDualBootでインストールしました。
今日はC++で行列を扱うためのライブラリであるCpplapackをインストールして使えるようにしたので
その方法を書いておきます。
OSはUbuntu10.10です。
1.
まず下準備としてlapaclとblasをインストールします。
上にあるタスクバーから
システムーシステム管理ーSynapticパッケージマネージャ
を選択します。PWの入力画面が出るので打ち込んでください。
出てきたウィンドウの右上にあるクイック検索に"lapack"と打ち込んで検索すると
"liblapack3gf"というパッケージが見つかると思うのでインストールしてください。
これで"lapack"と"blas"のインストールは完了しました。
2.
次にcpplapackの本体をインストールします。
cpplapackのホームページを開きます。
cpplapack.sourceforge.net/
左のメニューにある
Downloadsの”Latest CPPLapack in svn”をクリックしてください。
開いたページのメニューバーにある"Files"をクリックしてください。
"cpplapack-2010.03.27"をクリック。
そして”cpplapack-2010.03.27.tar.gz”をクリックすればダウンロードが始まります。
ダウンロードしたファイルは適当に作ったフォルダに入れます。
端末を開いて作ったフォルダまで移動して
tar xvf cpplapack-2010.03.27.tar.gz
と入力して実行してください。
これで準備完了です。
3.
さてインストールしたcpplapackの使い方です。
cpplapackの関数を使うためには
#include "(インストールしたフォルダ)/cpplapack-2010.03.27/include/cpplapack.h"
という文をプログラムの先頭に追加します。
そしてコンパイル時に
g++ ファイル名 -llapack -lblas
とすれば正常にコンパイルできます。
これであなたもcpplapackユーザー!!
ちなみに僕はLinux初心者なので説明が不十分なところや意味不明なところがあったらごめんなさいです(汗)。
本当はパスとか通せれば便利なのかも・・・