Archive

Archive for the ‘Matlab’ Category

Visual Studio调试Matlab Mex

October 21, 2011 Leave a comment

1 编写Mex源文件

关于mex的编写有一些规则,一个简单的例子可以看这里[2]。

2 使用-g选项编译Mex源文件

注意这里的-g选项是调试时必须的。这里很重要的一点是生成的.pdb文件是路径依赖的,即使是同一个.cpp文件生成的mex文件,它们在不同路径下的得到的.pdb文件也不能互用。在某一个路径下调试mex程序(.cpp文件),必须用这个路径下的的.pdb文件。

3 在VS中打开Mex源文件

就是.cpp文件

4 将Matlab进程绑定到VS编译器中

具体操作为VS的菜单中,Debug->Attach to Process … , 找到matlab.exe的进程,双击之。vs进入调试等待阶段,在等待。

5 在源文件中添加断点

这个时候的断点在vs2008中是以空心点的方式出现的,正常的。

6 在Matlab中运行上面的Mex程序

就是相关的mex函数(函数名即.cpp文件的名字,这点注意)。

7 等待击中断点后在VS中进行调试

Categories: Matlab

SSH远程运行Matlab脚本

October 11, 2011 Leave a comment

使用命令:

nohup matlab -nojvm -nodisplay -nosplash -nodesktop < matlabscript.m 1>running.log 2>running.err &

nohup matlab -nojvm -nodisplay -nosplash < matlabscript.m 1>running.log 2>running.err &

或:

nohup matlab -nojvm -nodisplay < matlabscript.m 1>running.log 2>running.err &

其中:
matlabscript.m是将要运行的脚本文件,存在于服务器上;
running.log是matlab标准屏幕输出的重定向文件,将建立于服务器上;
running.err是matlab运行时的错误重定向文件,将建立于服务器上。

(1) 如果你想中断正在运行的matlab请使用
kill -9 进程号 或 fg %n; Ctrl+C
(2) 如果你想在字符环境的matlab中运行脚本,请使用
run 脚本文件名 ( 不含.m扩展名 )
(3) 如果你想用ssh运行有X界面的matlab,登陆时请使用
ssh 主机名 -l 用户名 -X

Categories: Matlab

MATLAB R2011a无法关联.m问题的解决方法

September 20, 2011 Leave a comment

用管理员权限打开MATLAB

执行:

>> cd([matlabroot '\toolbox\matlab\winfun\private']);
>> fileassoc('add', {'.m', '.mat', '.fig', '.p', '.mdl', ['.' mexext]});
Categories: Matlab

今天配置了实验室的ubuntu

August 3, 2011 Leave a comment

check the byte-step of ubuntu system

uname -m

An common error when installing MATLAB in ubuntu 11.04

Under the new Ubuntu 11.04 (Natty Narwhal), when you try and run MATLAB you’ll get the following error

/matlab/bin/util/oscheck.sh: 605: /lib64/libc.so.6: not found

To resolve this problem, go to a terminal window (Alt + F2 from anywhere) and type

For 64 bit:

sudo ln -s /lib64/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6

For 32 bit:

sudo ln -s /lib/i386-linux-gnu/libc-2.13.so /lib/libc.so.6

Categories: Linux, Matlab