Matlabを使いこなす(入出力編)
Matlabの入出力にはいろんなファイル形式に対応してて便利です.
今日はそのうちの少しを紹介します.
・入力関数
load
dlmread
textread
wk1read
imread
wavread
aviread
・出力関数
save
fprintf
dlmwrite
wk1write
imwrite
wavwrite
avifile
以下によく使う出力・入力のセットをサンプルコードで書いたので,参考にどうぞ.
・saveとloadのサンプル
a=3 b=[2,3] % 出力(パラメータの保存) filename='matsample.mat' save(filename) % 入力(パラメータの取得 ) c=load(filename) c.a c.b
・dlmwriteとdlmreadのサンプル
b=[1,2,3;2,3,1;3;3;5] % 出力(保存) filename='csvsample.dat' dlmwrite(filename,b,',') csvwrite(filename,b) % 入力(ロード) dlm=dlmread(filename, ',') csv=csvread(filename)
・fopenを使ったテキスト入出力
% 出力 sampletext='aabbcc\ndef' filename='sample.txt' fileid=fopen(filename,'w') fprintf(fileid,sampletext) fclose(fileid) % 入力 fileid=fopen(filename) while fileid < 0 line=fgetl(fileid) disp(line) end fclose(fileid)
以上です.
Matlab入門講座はまた〜!
boost.pythonを使って見る
boost.pythonは,C++の関するやライブラリをpythonから簡単に使えるようにするためのパッケージ.
どれだけ便利かについては,以下のURLが参考になる.
Boost.Python の機能をざっと紹介してみる - muddy brown thang
以下はlinuxでのインストール手順について簡単にまとめたので参考程度に.
boost.pythonのサイトは,以下.
Boost C++ Libraries
まず,wgetコマンドにて,urlからパッケージをダウンロードします.
wget https://sourceforge.net/projects/boost/files/boost/1.62.0/boost_1_62_0.tar.bz2
次に,解凍.
tar --bzip2 -xf boost_1_62_0.tar.bz2
PATHに展開先ディレクトリを指定することで,
pythonファイル内でimport boost/python ができるはず.
以上です.また:)
anacondaを使ってpython2系3系を共存させる
python2系とpython3系って意外に違って困ることありますよね.
今日はanacondaを使って両方を切り替えて使う方法を紹介します.
# anacondaはすでにインストールされている前提で記載します.
anaconda3で,python3系が使われている場合
(pythonと打った時に,pythonのバージョンが表示されるのでどちらが動いているか確認できます)
以下のコマンドでpython2系の環境が構築できます.
conda create -n py2 python=2.7
続いて,
source activate py2
とすれば,上記で構築したpython2.7の環境に入ることができます.
以上.anacondaを使っていると簡単ですね.
anacondaでない場合には,pyenvを使って切り替える方法があります,
以下,簡単にメモしておきます.
まずはpyenvを使えるようにします.
以下からインストールしてください.
git clone https://github.com/yyuu/pyenv ~/.pyenv
次にpyenvを使えるように設定します.
~/.bashrcの中に,
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
を追記してください.
source ~/.bashrcもしくは,bashの再起動で,変更を反映させたら,
pyenv version
と打ってエラーにならないことを確認します.
環境構築はここまで.
その後,python実行時に,python2 *.pyやpython3 *.pyとすることで,
バージョンを指定して実行することができます.
以上.
これでpythonの実行環境が快適になりました☆
LaTeX Beamerのインストール方法のメモと注意点
数式をたくさん使うパワポを作る人は,LaTeXで作ると便利ですよね.
そいうことで,Beamerのインストール手順とその注意点を記述します.
# ここでは,TeXShopが,以下のサイトの手順でダウンロードされていること前提です.
http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/install_ptex.html
まず,Beamerのサイトから,beamer,pgf,xcolorをダウンロードしてきます.
https://sourceforge.net/projects/latex-beamer/files/?source=navbar
このときに,ダウンロード先は,できれば,texのshareの下とかにbeamerディレクトリを作って入れることと,
latex-beamer-x.x.x.tar.gzの展開は,beamerとして
pgf-x.x.x.tar.gzの展開は,pgfとして
xcolor-x.x.x.tar.gzの展開は,xcolorとして
保存してから,tar xzvfコマンドで展開するのが良い.
# 保存先を間違えたからといって,コピーして同じものを残しておくと,
# beamerファイルのコンパイルの時にエラーになるので注意.
最後に,binディレクトリの中にある.mktexlsrを実行する(なくても良いらしい)と,
beamerのサンプルファイルを,TeXShopのLaTeXコンパイルするだけで,pdfのプレゼン資料が完成する.
LaTeX便利ですね.以上です.
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も同時に中身が変わってしまいますね.
コードを書いててときどきしてしまうミスなので,メモ程度に書いときます.
ではまた:)