Matlab 2012a がOSX 10.10 Yosemiteで動かない

サブPCのmatlabがYosemiteにしたら動かなくなったので修正

スクリーンショット 2014-10-20 16.24.16

スクリーンショット 2014-10-20 16.24.21
基本的にこのサイトに書いてある通りに修正.

http://www.mathworks.com/matlabcentral/newsreader/view_thread/336387

””

1- find Matlab application file under Applications folder
2- Right (Control) click and select “Show Package Contents”
3- Navigate to : “Contents/Mac OS”
4- Right (control) click on “startMatlab” file
5- Make an Alias
6- Copy the Alias to another folder e.g. your desktop.
7- Run the alias.

“”

事前に

をした方がいいかもしれない.

/System/Library/CoreService/SystemVersion.plist

のVerを書き換えたら直るって話がでてるのできわめて単純なバグだと思われる.OSXのVer.が 10.9 => 10.10 になったのでそこら辺の関係じゃないかなあと.

2015-02-20 追記

なんか最近yosemiteにした人によると直ってるらしい…謎




EmacsでMatlabする

emacsでmatlab : uhiahaの日記

この記事にはお世話になりました.
しかし2013年現在リンク切れしてるようですし,新しい日本語記事も見当たらないので手順と自分の設定を晒したいと思います.
(しかし今時EmacsでMatlabコード書いてるヒトがどのくらいいるのか…)

筆者の環境

  • OS: Mac OSX, 10.9
  • Matlab: 2012a, OSX, Student Version 64-bit
  • Emacs: GNU Emacs 24.3

まずはソース入手

SourceForgeに公式SVNがあるようですのでそこから.あんまりメンテされてないみたいですが.

http://matlab-emacs.cvs.sourceforge.net/matlab-emacs/matlab-emacs/

dl_emacs_support.m を matlabで実行するだけでも勝手にダウンロードされます.
普通に使うだけならこのファイルをEmacsのパスに通せばいいだけらしいです.

基本設定

.emacsファイルの修正

ほぼ上記サイトの通りです.
だいたいMacだとこんな基本設定になるかと思います.

auto-complete設定

ちょっとまだ煮詰めてないです.そのうちdictファイル作ろうかと

(add-to-list 'ac-modes 'matlab-mode)

yasnippet

上記サイトではリンク切れでしたので一応作ってみました.githubで公開してます.修正追加いつでも受け付けてます.
rysk-t/matlab-snippets

用例

scrs_matlabMode.png

M-x matlab-shell

でmatlab-shellがバッファに入ります.

M-C-<RET>

でセル毎に実行出来たりします.

追加

現在自分に合わせて細かい改造中です.
rysk-t/matlab-emacs
cell モードの区切りを見やすくする matlab-highlight-cellbreak,
whosを実行する matlab-shell-run-whosなどを追加しました.

scrs_matlabRe


MacOSXのMatlabでplexonのデータ (.plx, .ddt) を読み込む

MacOSXのMatlabでplexonのデータ (.plx, .ddt) を読み込む

なぜかmexコンパイルが駄目で,ちょっと前までUNIX非対応というクソ仕様でした.
英語でググルと,案の定皆ブーイングで,とりあえずこのサイトで解決策を見つけました.コメント欄です.

> A simple added ifdef for fopen works for me with OS X 10.8.3, XCode 4.6.2 and Matlab2013a:
>
> #Ifdef __APPLE__
> #define fopen64 fopen
> #endif
>
> It should be easy for Plexon to update their instructions and source…

まぁ書いてあるとおりで,


    #Ifdef __APPLE__
    #define fopen64 fopen
    #endif

の3行を “PlexMethods.cpp”の45行目辺りに突っ込むだけです.
僕の環境は OSX 10.8.3 Matlab2012a ですが,これでうまくいきました.
ただし僕の場合Matlabのmexコンパイル自体が駄目でこのパッチをあてたら解決しました.多分必須.


sublime text 2 で,matlabのセルモードの区切りをハイライト.

画像

 

sublime text 2 で,matlabのセルモードの区切りをハイライト.

hoge.tnTheme (自分の使ってるカラーテーマファイル)に

        <dict>
            <key>name</key>
            <string>comment.double.percentage.matlab</string>
            <key>scope</key>
            <string>comment.double.percentage.matlab</string>
            <key>settings</key>
            <dict>
                <key>foreground</key>
                <string>#00ff00</string>
                <key>background</key>
                <string>#000000</string>
            </dict>
        </dict>

を追加するととりあえず 行頭が “%%” の行がハイライトされる.好きな色にして下さい.

20130603

こんな感じ.コード汚い…給料入ったら$70払います.