红联Linux门户
Linux帮助

matlab-emacs运行matlab程序出错.不能调用matlab命令行模式

发布时间:2016-03-30 15:26:05来源:linux网站作者:蒋国宝

在linux的emacs环境下运行matlab程序,一般需要安装以下三个程序,(其实CEDET在新版本的emacs中有,只要配制一下就行了):

CEDET matlab matlab-emacs

不过在安装好matlab后记得把bin/matlab加入到环境变量,我的环境变量(这个怎么加请看linux的书籍)如下:

matlab-emacs运行matlab程序出错.不能调用matlab命令行模式


我按照这个link配制matlab-emacs的时候,到达第4步matlab-shell就出问题,在emacs下总是调不出matlab的命令行模式,而出现如下错误提示:

Searching for program: no such file or directory, matlab 

comint-send-string: Output file descriptor of MATLAB is closed 


我想,我已经把matlab的可执行文件加入到PATH了呀?为什么会之样呢,估计emacs中没有搜索到这个路径,那只能把它链接到/usr/bin,如下:

aborn@aborn-lisp ~> sudo ln -s /usr/matlab/bin/matlab /usr/bin/matlab 

重新启动emacs,打开一个m文件,C-c C-s运行它就行啦,如下:

matlab-emacs运行matlab程序出错.不能调用matlab命令行模式


附,我的matlab的配制如下(.emacs):

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
;;set matlab-emacs environment 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 
(add-to-list 'load-path "~/.emacs.d/matlab-emacs/matlab-emacs")   ;matlab.el path 
(add-to-list 'load-path "/usr/matlab/bin/matlab")                 ; matlab path 
(require 'matlab-load) 
(autoload 'run-octave "octave-inf" nil t)                         ;special 
(autoload 'matlab-mode "matlab" "Enter MATLAB mode." t) 
(setq auto-mode-alist (cons '("\\.m\\'" . matlab-mode) auto-mode-alist)) 
(autoload 'matlab-shell "matlab" "Interactive MATLAB mode." t) 
(setq matlab-indent-function-body t)    ; if you want function bodies indented 
(setq matlab-verify-on-save-flag nil)   ; turn off auto-verify on save 
(defun my-matlab-mode-hook () 
(setq fill-column 76))        ; where auto-fill should wrap 
(add-hook 'matlab-mode-hook 'my-matlab-mode-hook) 
(defun my-matlab-shell-mode-hook () 
'()) 
(add-hook 'matlab-shell-mode-hook 'my-matlab-shell-mode-hook) 
(global-font-lock-mode t) 
;  To get hilit19 support try adding: 
(require 'tlc) 
(autoload 'tlc-mode "tlc" "tlc Editing Mode" t) 
(add-to-list 'auto-mode-alist '("\\.tlc$" . tlc-mode)) 
(setq tlc-indent-function t)


本文永久更新地址:http://www.linuxdiyf.com/linux/19382.html