声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1694|回复: 0

[编程技巧] 自动运行Matlab程序

[复制链接]
发表于 2015-10-16 09:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
cd  C:\Users\SONY\Desktop
start D:\matlab2012\bin\matlab.exe -r "run(' .\liu.m')"
由以上内容建立一个批处理文件如liu.bat
liu.m 简单举例如:
  1. figure(1)
  2. plot(1:100)
  3. n=1
  4. saveas(gca,strcat('C:\Users\SONY\Desktop','\',num2str(n)),'png')
  5. exit
复制代码

把做好的批处理文件liu.bat添加到计划任务,即可让电脑定时自动运行liu.m

-------------------------------------------------------------------------------------------
改进版本:
start  matlab.exe  -r "run(' .\liu.m')"  %%启动matlab,并运行liu.m文件。
运行完如果想退出的话有两种方法。
一:像上面一样在m文件里加上exit
二:在批处量文件liu.bat中加入进程中止语句
    taskkill/im matlab.exe
liu.bat 内容如下:
----------------liu.bat-------------------------------
cd  C:\Users\SONY\Desktop
start  matlab.exe  -r "run(' .\liu.m')"
taskkill/im matlab.exe
----------------liu.bat-------------------------------
在txt记事本中写下如上内容,保存为liu.bat即可。
很简单奥。如果工作需要m文件定时执行。
把做好的批处理文件liu.bat添加到计划任务,即可让电脑定时自动运行liu.m

尝试后会发现,matlab程序刚打开就被关闭了。因此。在start 和 taskkill代码间需要加一个间隔时间。这个就要看我们的liu.m运行完估计需要多长时间了。
--------------------------------------------
cd  C:\Users\SONY\Desktop
start matlab.exe -r "run(' .\liujunhu.m')"
@ping -n 60 127.1 >nul 2>nul
taskkill/im matlab.exe
------------------------------------------
其中-n 后面为60秒。
这样问题就解决了。当然在liu.m里面加exit 是最省心的办法。
转自:http://blog.sina.com.cn/s/blog_9d0b00a4010131yk.html
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-3-28 22:40 , Processed in 0.072688 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表