2012年03月26日

R言語でグラフを描画する メモ


R言語でグラフを描画する メモ

R言語の説明
R言語(アールげんご)は、オープンソースでフリーソフトウェアの統計解析向けプログラミング言語、及びその開発実行環境である。

―wikipediaより

グラフ描画に必要な要素を挙げると,

1.データを読み込む
2.データを描画する
3.グラフの保存
4.グラフの太さ,色を変える
5.グラフの軸のラベル,凡例
6.グラフの目盛間隔
7.グラフの大きさ
8.グラフで使われるフォント
9.グラフ上に文字を入れる

このくらいか.

なおR言語のインストール作業があるが,これは各webページで詳しく紹介されているので省略する.
例えば
http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html
など

次に基本事項

1.データを読み込む
プログラムでシミュレーションしたデータや,計測データなどをグラフにする場合には読み込む必要がある.
参考:http://cse.naro.affrc.go.jp/takezawa/r-tips/r/40.html

作業ディレクトリにあるdata.txtから読み込み,変数"data"に保存するものとする.
なお,1行目に列名が入っている場合は関数 read.table() の引数 headerに T を指定


( data <- read.table("data.txt", header=T) )



またデータ間をカンマで区切られたりしていてもオプションを使うことで正常に読み込みできる.
詳しくは参考サイト参照.

2.データを描画する

typeでグラフを点で表すか,線で表すかなどを決める.
"l"は折れ線.


plot(data, type="l")



3.グラフの保存

グラフをクリックした状態で
[ファイル]→[別名で保存]

コマンドでは


plot(data, type="l")
dev.print(file="data.eps")



4.グラフの太さ,色を変える

[col] 線の色 1黒,2赤,3緑,4青,5水色,6紫,7黄,8灰
[lwd] 線の太さ デフォルトが1と思われる.

plot(data, type="l", col=2, lwd=5)




5.グラフのラベル,凡例

グラフのx軸とy軸のラベルは読み込んだデータにヘッダがある場合そのまま反映される.

x軸のラベルは[xlab]
y軸のラベルは[ylab]

で変更できる.


plot(data, type="l", xlab="time[sec]", ylab="value")



凡例は[legend()]関数を用いる
[lty] 線の種類.破線などが選べる
["topleft"] 本来は座標を指定するが,"topright"のように大雑把な位置を指定できる.


plot(data, type="l", col=2, lwd=2, xlab="time[sec]", ylab="Value")
legend("topleft", legend="Value", lty=1, lwd=2, col=2)



参考:http://r.livedocs.net/graph/legend.html

6.グラフの目盛間隔

まずグラフの範囲を決める
[xlim] 横軸の範囲
[ylim] 縦軸の範囲


plot(data, type="l", col=2, lwd=2, xlab="time[sec]", ylab="Value", xlim=c(-5, 5), ylim=c(-50, 50))



labオプションを使って目盛の数を指定する
[lab] 一つ目が横軸,二つ目が縦軸,三つ目がまだ実装されていない機能らしい


plot(data, type="l", col=2, lwd=2, xlab="time[sec]", ylab="Value",
xlim=c(-5, 5), ylim=c(-50, 50), lab=c(5,5,10))



xaxsオプションとyaxsオプションを用いて軸のスタイルを変える

"i"を選ぶとデータ範囲内にグラフを描く."r"の場合余白ができる.


plot(data, type="l", col=2, lwd=2, xlab="time[sec]", ylab="Value",
xlim=c(-5, 5), ylim=c(-50, 50), lab=c(5,5,10), xaxs="i", yaxs="i")



7.グラフの大きさ

グラフの保存時に[width]などのオプションを使う

いずれも単位はインチらしい
[width] 幅を設定
[height] 高さを設定
どちらかを設定すれば自動で適当なアスペクト比にするらしい.


dev.print(file="data.eps", width=5)



8.グラフで使われるフォント

グラフの保存時に[family]オプションを使う
[family] ここでは論文などでよく使われるTimes New Roman体と思われるフォントにする.


dev.print(file="data.eps", family="Times")#, horizontal=FALSE)



9.グラフ上に文字を入れる

text関数を使う.また,数式の場合はexpression関数とpaste関数を組み合わせるらしい.

text(2,30,expression(paste(x^n, y^{n-1})))

参考:http://cse.naro.affrc.go.jp/takezawa/r-tips/r/56.html


その他
めんどいのでリンクをメモる

複数のグラフを一つのグラフで扱う場合
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/49.html

グラフを並べる
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/55.html
ラベル:r言語 R Grahp
posted by CODE-440 at 14:17| Comment(0) | TrackBack(0) | R言語 | このブログの読者になる | 更新情報をチェックする

2012年03月23日

visual studioでセンサの値を取得する メモ


visual studioでセンサの値を取得する メモ

参考になりそうなページ

『Cプログラミング診断室』
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.1.9.html


シリアルポートをつかう通信クラス SerialPortについて
http://www.technoveins.co.jp/dev/vb2005/serialport.html

あと,

arrayの初期化はForm_Load関数でやる.



private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
{
this->ShowCOMRevieveBuffer = ( gcnew array< Byte >(29) );
for(int i=0; i<29; i++)
{
this->ShowCOMRevieveBuffer[i] = 0;
}
}

とか.
まだデバッグ中なので間違っているかも
ラベル:Visual Studio
posted by CODE-440 at 17:30| Comment(0) | TrackBack(0) | Visual Studio | このブログの読者になる | 更新情報をチェックする

2012年03月17日

f-paletteで遊ぶ メモ 4


f-paletteで遊ぶ メモ 4

なんか参考になりそうなwebページ.
http://www.atmarkit.co.jp/fcoding/articles/c/06/c06a.html

開発環境自体はeclipseなのでこちらに精通していたほうが有利なのは事実

4_1書き込み画面1.png

↑ どうやらエラーじゃなかったかもしれないので,Resume (F8) を押す.


↓ できたのか?
4_1LEDピカチュウ1.jpg


おさらいすると,


Launch →Connect Target → Load Program→ Resume

                 ⇒ LED「ピカチュウ!」
ラベル:f-palette マイコン
posted by CODE-440 at 16:33| Comment(0) | TrackBack(0) | f-palette | このブログの読者になる | 更新情報をチェックする

f-paletteで遊ぶ メモ 3 


f-paletteで遊ぶ メモ 3 

なんかCCS 5の説明があった

http://processors.wiki.ti.com/index.php/C2000_Getting_Started_with_Code_Composer_Studio_v5

前回の続き

3_3書き込み画面3.png

↑ ソースコードにエラーがある模様


92  IER = 0x0000;
93  IFR = 0x0000;



132 IER |= M_INT1;

 
↑ 上記のところがおかしいと言われている.よくわからないので全部コメントアウト

3_2書き込み画面2.png

↑ とりあえず Launch

3_4書き込み画面4.png

↑ 順調っぽい



で,この時に
"license cannot be acquired"
的なことを言われた場合,起動時出た

3_1書き込み画面1.png

↑ ライセンスがどうのこうの聞いてきたとこで

FREE LICENSE

を選ぶ.
後で変更する場合は
↓ helpのCode Composer Studio Licensing Informationの

3_6書き込み画面6.png

↓ UpgradeのLaunch License Setup... で変えられるっぽい

3_7書き込み画面7.png




3_8書き込み画面8.png

↑ Connect Target が出現.ちなみにf-paletteが接続された状態でやってるよ.

3_9書き込み画面9.png

↑ よくわからんがいいのかこれ?

3_10書き込み画面10.png

↑ そういえばさっき書き換えたあと放置してたのでビルドしてみた


いよいよ書き込みっぽいですな


3_11書き込み画面11.png

↑ webページ(冒頭参照)の通りに進める.一応f-paletteの説明書もちら見しつつ.

3_12書き込み画面12.png

↑ いけてる

3_13書き込み画面13.png

↑ なんか怒られている気が・・・

3_14書き込み画面14.png

↑ 信じて突き進むのみ


ダメっぽかったので
View Disassembly...
を押してみる

3_15書き込み画面15.png

↑ うーむ.どうやら途中エラーになってたところがあやしい気がする.


続く
ラベル:f-palette マイコン
posted by CODE-440 at 14:57| Comment(0) | TrackBack(0) | f-palette | このブログの読者になる | 更新情報をチェックする

f-paletteで遊ぶ メモ 2


f-paletteで遊ぶ メモ 2
プログラミング編

基本的には説明書通りにやる.

2_1プログラミング画面1.png

↑ 管理者権限がどうのこうのを設定する.これで毎回聞かれことがなくなるらしい.

2_2プログラミング画面2.png

↑ デフォルト

2_3プログラミング画面3.png

↑ !???? 画面が違う...

2_4プログラミング画面4.png

↑ Targetがみつからないのでその先のimportを試してみることにした

2_5プログラミング画面5.png

↑ こっちは大丈夫そう

2_6プログラミング画面6.png

↑ うまくいっているのかわからない.targetはでてこないまま

2_7プログラミング画面7.png

↑ ノリとイキオイ.できるとこから

2_8プログラミング画面8.png

↑ なんか右に出てきた.なんか全然違うので路頭に迷った感が...

2_9プログラミング画面9.png

↑ こんなところに[New target config...]が!


2_10プログラミング画面10.png

↑ わーい!できてるよー

2_11プログラミング画面11.png


↑ 順調でござるな

2_12プログラミング画面12.png

↑ いいよいいよ〜

2_13プログラミング画面13.png

↑ さっきまでの不安がうそのように

2_14プログラミング画面14.png

↑ YES!YES!

2_15プログラミング画面15.png

↑ ここにきてちょっと違うという...

2_16プログラミング画面16.png

↑ project explorerのほうがそれっぽかったので一安心

2_21コーディング画面21.png

↑ 言われたとおりにやるがなんか怒られている気がする

2_22コーディング画面22.png

↑ よくわからないがビルド

2_23コーディング画面23.png

↑ ふむふむ


なんかだめだったっぽいす.

2_24コーディング画面24.png

↑ でもなんかfinish的な感じでもある



試にマイコンつないでdebugを押してみる



2_25コーディング画面25.png

↑ なんかでた

続く?
ラベル:f-palette マイコン
posted by CODE-440 at 04:09| Comment(0) | TrackBack(0) | f-palette | このブログの読者になる | 更新情報をチェックする

2012年03月16日

f-paletteで遊ぶ メモ 1


f-paletteで遊ぶ メモ 1

f-paletteとは
“f-palette(エフ・パレット)はマイコンボードとIOボード、そしてモータドライバボードが基本構成となる、fuRo開発の電子工作キット”
f-palette webサイトより

1.1 インストール編

下記サイトのドキュメントをダウンロードしておく
http://www.f-palette.org/downloads/

開発環境自体はテキサスインスツルメンツのものなのでそちらへいって取ってくる
http://processors.wiki.ti.com/index.php/Download_CCS
※要ユーザー登録

最新バージョンは CCS Ver5.2らしいのだが
自分がダウンロードしようとしたところうまくいきませんでした的なことを言われた.

Ver5.1にしたところダウンロード成功.

インストールは適当に行っていく

1_1インストール画面.png

1_2インストール画面2.png

↑ f-paleteの説明書とは違うところにインストールしようとする.めんどいのでそのまま

1_3インストール画面3.png


1_4インストール画面4.png

↑ f-paletteに使われているマイコンは28x Piccoloトレードマーク(TM) シリーズらしいのでそれっぽいのを選ぶ

1_5インストール画面5.png

↑ すでに説明書が意味をなしてないので不安になってくる

1_6インストール画面6.png


↑説明書と同じ内容が出てきて安心する.(ふぅ,脅かしやがって)

1_8インストール画面8.png

↑ マイクロソフトとか言っててビビる

1_9インストール画面9.png

↑ 一山越えたようだな

1_10インストール画面10.png

↑ フィニッシュ!(C.V. キノピオ)




次に“DSPのペリフェラル(周辺機能)の初期化ルーチン、サンプル集”なるものをダウンロード
http://www.tij.co.jp/tool/jp/sprc892

展開すると中に
setup_DSP2803x_v121.exeがあったのでダブルクリック

1_21インストール画面21.png

↑ インストールはノリとイキオイで切り抜ける.

1_22インストール画面22.png

↑ 押忍!

1_23インストール画面23.png

↑ 説明書通りっぽい


1_24インストール画面24.png

↑ クックック...


1_25インストール画面25.png

↑ フーハハハ!

1_26インストール画面26.png

↑ なんとたわいのない!


とりあえずこれでインストールが終了したっぽい.
(間違ってたら後日修正する)

次はプログラミングですの




ラベル:f-palette マイコン
posted by CODE-440 at 20:37| Comment(0) | TrackBack(0) | f-palette | このブログの読者になる | 更新情報をチェックする

2012年03月14日

機構知 メモ


機構知 メモ

「機構知」とは,"実用的で革新的な機能・価値を実現するシンプルな機構を生み出すための知の集合体である" RSJ2011オーガナイズドセッション概要より


機構知とは(俺的解釈)

日本ロボット学会 Vol.29, No.6 「機構の知と技」特集にて紹介されている機構の動画をメモしたいと思う.

1.広瀬・福島研究室 広瀬茂男教授
http://www-robot.mes.titech.ac.jp/home.html
蒼龍5号機


2.システム構成学研究室(鈴森康一教授)
http://www.act.sys.okayama-u.ac.jp/kouseigaku/overview/overview2010j.html

3.岡山大学異分野融合先端研究コア 脇元修一准教授(特任)
http://rcis.vbl.okayama-u.ac.jp/RCIS/index.php?option=com_content&view=article&id=62&Itemid=85

準備中


参考:
日本ロボット学会 Vol.29, No.6 「機構の知と技」特集
posted by CODE-440 at 23:03| Comment(0) | TrackBack(0) | インターンシップ | このブログの読者になる | 更新情報をチェックする