matlab R2012a 之后提供了会话多开功能,可以开多个会话,但是每个会话的占用内存都和原来一样多,运行前请先预留内存空间。
可以用这个功能建立服务机和客户机通信,调试程序等等。
本文中给出TCP 服务器和客户机通信示例。
1.找到matlab安装目录;
unix:应用程序中找到matlab-右键(显示包内容)-bin-matlab windows: 安装目录-bin-matlab
2.制作替身/快捷方式
3.运行替身/快捷方式 在已经打开matlab的基础上,运行快捷方式,可以看到运行了两个matlab程序(要开多个类似)
4.Server
这里给出mathwork support team给的简单通信例子; 一个会话运行Server,另一个会话运行Client
t = tcpip('0.0.0.0', 30000, 'NetworkRole', 'server'); %Open a connection. This will not return until a connection is received. fopen(t); %Read the waveform and confirm it visually by plotting it. data = fread(t, t.BytesAvailable); plot(data);5.Client
%Create a waveform and visualize it. data = sin(1:64); plot(data); %Create a client interface and open it. t = tcpip('localhost', 30000, 'NetworkRole', 'client'); fopen(t) %Write the waveform to the server session. fwrite(t, data)6.运行结果
补充: 关于更详细的Socket通信可以访问mathworks 关于matlab会话多开的想了解matlab团队的答案的可以访问MathWorks Support Team