您的位置:首页 > 编程语言 > MATLAB

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

2013-04-03 11:33 281 查看
在linux的emacs环境下运行matlab程序,一般需要安装以下三个程序,我是按照以下三个链接安装的(其实CEDET在新版本的emacs中有,只要配制一下就行了):

CEDET matlab matlab-emacs

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



我按照这个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):

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐