夢に向かって、好奇心を持ち、疑問を持ち続ける。それが努力。

博士課程に在学するロボット好き学生のブログです。

vimのカラー表示on MAC

macで普通にvi コマンドでスクリプトを開いても,白黒の表示しかしてくれない.

どうやってやるんだろう?って思ったら,以外に簡単でした.

しかもデフォルトで,色のパッケージが入っている...素敵すぎる..


/usr/share/vim/vim73/colorsの中に,パッケージ群 (〜.vimというファイルが複数)
あるので,それの一つを .vimrcで指定するだけでOK.

たとえば,murphy.vimにしたければ,

~/.vimrcの中身に,

colorscheme murphy
syntax on

と記述するだけ.

基本,ここで,
source ./vimrc
とかやりたくなるけど,そうするとcolorscheme command not foundと怒られる.

vimは,viコマンドで起動するごとに,~/.vimrcが読み込まれるので,
sourceは実行する必要なし.

command not foundが返ってきて心配になったけど,ちゃんと反映されてました(パチパチ)

快適な環境になったので,ソースコードが捗りそうだぁ〜

ではまた.

How to use anaconda from cygwin?

Windows環境でもanaconda使えると便利ですよね.
ということで,今日はcygwinにanacondaを入れる手順です.
cygwinのダウンロードについては,cygwinサイトから行けば時間はかかりますが,
難しくないので省略)


Anaconda公式サイトから,.exeをダウンロード.

Anaconda公式サイトhttps://www.continuum.io/downloads:Anaconda公式サイト



ダブルクリックして,anacondaをインストールしていきます.

そのとき,インストール先のフォルダを覚えておき,{anaconda_dir}であるとします.

インストール環境後,cygwinを起動し,

export PATH={anaconda_dir}:$PATH

のコマンドを実行すると,PATHに追加されます.


ここで,which pythonと実行すると,

{anaconda_dir}/python

が表示されれば,anacondaへのパスの追加完了です.

失敗している場合には,which python実行時に,
/usr/bin/python
等,anaconda外のパスになっているので,パス指定に誤りがないか確認してみてください.


以上です.

Pythonにおけるリストのコピー

リストのコピーでよく間違えてしまうので,覚え書き.

正常にコピーした場合.

>> list = []
>> list.append('a')
>> list.append('c')
>> list.append('b')
>> list
>> list = ['a','c','b']
cplist = list[:]
>> cplist
cplist = ['a','c','b']
>> list.append('d')
>> list
list = ['a','c','b','d']
>> cplist
cplist = ['a','c','b']


誤った例.

>> cplist = list
>> list.append('d')
>> list

list = ['a','c','b','d']
>> cplist
cplist = ['a','c','b','d']


これをしてしまうと,listもcplistも同時に中身が変わってしまいますね.


コードを書いててときどきしてしまうミスなので,メモ程度に書いときます.

ではまた:)

viのcommentが黒地に青色で見えずらい

viのcommentがいつも見えずらいなぁと思っていて我慢ができなくなったので(笑)
ようやく色を変更してみることにした.

highlightというhiコマンドがある.これを使ってコメントの色を変更する.

設定方法は以下.

:hi Comment ctermfg=DarkGreen


参考にさせて頂いたページは以下.設定可能な色も記載があるのでありがたい.
goo.gl/R1gkY8

Python: Defの中にDef

恥ずかしながら,初めて知りました..

Pythonで関数定義defの中にdefを書けるんですね.


確かに,普通かもしれないけど…

defの中でしか使わない関数なら,その中で定義した方が,
構造体は(見た目で)わかりやすいかもですね.

以下サンプルコードです.

def functionA():

a = []

def functionB(x):
b = x * x
return b

X = [5, 3, 13]
for x in X:
value = functionB(x)

a.append(value)

return a

以上です.

Matlab:配列の作り方

Matlabで配列や行列をこんな簡単に扱えるの?と思うこと多々有ります.

今日は,配列の作り方の基礎+α編です.

初期配列は以下.
> a=[]

サイズを指定しなくても作れることを以下の記事で紹介しました.
Matlab:配列を作ってデータを順次格納する - 夢に向かって、好奇心を持ち、疑問を持ち続ける。それが努力。


xを,a以上b以下であり,aからsずつ増加したときの,数字の集合であるとき,
それをx=aから順に整列した数字の配列Xを,以下のように生成できる.

>> X=a:s:b


従って,X生成時に具体的な数字を当てはめて実行すると以下のような結果になる.

>> X=1:3:10

X =

1 4 7 10

>> X=1:3:11

X =

1 4 7 10


尚,s=1のときは省略できる.

>> X=1:5

X =

1 2 3 4 5

また,サイズは,

>>size(X)

で確認できるが,行列としてsizeを出力するため,左が行数,右が行の長さであることに注意する.

ans =

1 5


基本ではあるが,他言語からMatlabに入るときに苦戦する部分でもあるので,参考に記載しておく.

以上.

Matlab:配列を作ってデータを順次格納する

実はMatlabPythonみたいにできるんです.
しかも,サイズを予め指定してなくても(!)というのがすごいところ.

> a = []
> a(1) = 6
> a(2) = 4
> a

a = [6, 4]

上記の場合には,配列なのでデータに数字しか入らないけど,
以下のようにすればオブジェクトを格納できる.

> b = {}
> b{1} = object1
> b{2} = object2

上記の場合に,参照するときのカッコの形がかわらないのが少し違和感ありますが,
順次入ってくるデータを扱う時には便利なのでメモメモ.