作者celestialgod (天)
看板MATLAB
标题Re: [讨论] matlab同步处理问题
时间Sun Aug 16 21:21:51 2015
※ 引述《forb9823018 (风过无痕)》之铭言:
: 我想要同步处理两段code
: 但两段code有部分相依性
: 因为一个要不断接收音讯并输出
: 另一个某些funtion处理时间就已经超过每个音讯sample点很多倍了
: 我的电脑有多核心
: 有没有可能matlab开两个视窗
: 同时用tic toc计时(我不知道有没有办法两个视窗同时按enter开始执行)
: 然後互相存档回传时间和几个变量?
我的想法有两种approach,都是开两个matlab
第一个是处理档案
主要就是读取ls()的内容 看看档案是否有增加
有增加就处理,没有就利用pause(),看你要停多久,再继续while
你就可以两边都打开哪一个先跑都没差
只要档案做改变就做相对应的动作就好
如果要控制变数的话,就存mat档案
利用load读取特定变数,并且透过isequal检视是否跟之前的变数相等
再决定是否继续动作
只是如果你的的变数需要比较大的记忆体
这里每一个变数需要多一份copy...
可能会有记忆体不足的问题产生
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.205.27.107
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1439731313.A.E16.html
1F:推 forb9823018: 我其中一段code要即时处理音讯所以不会有pause的时间 08/16 21:40
2F:→ forb9823018: 然後我变数只有几个 08/16 21:40
3F:→ forb9823018: 两份matlab 处理我想可能遇到比较大的问题是 08/16 21:41
4F:→ forb9823018: 其中一段code在等待另一段开始资料时 08/16 21:42
5F:→ forb9823018: windows把执行绪切走 造成时间有误差 08/16 21:42
6F:→ forb9823018: 因为影像和声音要做同步 所以clock time对时很重要 08/16 21:44
时间不能记录成资料?
by matlab function clock
http://www.mathworks.com/help/matlab/ref/clock.html
时间如果不能纪录
那你直接考虑用python的multiprocessing可能比较快
7F:推 forb9823018: 时间可以记录 08/16 22:21
那就直接对时间去做就好了...
就不需要去对准clock time吧?
反正开始秒数到结束秒数,你都可以记录下来
你最後只要确定影像跟声音的时间轴是一致就好了
8F:→ forb9823018: pause不是要手动按?来不及吧 08/16 22:22
看pause函数其中一个用途说明
pause(n) pauses execution for n seconds before continuing, where n is any
nonnegative real number. Pausing must be enabled for this to take effect.
pause(5)就停止五秒,这个动作只是保证你不会不断检查跟复制记忆体而已
况且你需要的是对时间又跟pause何关?
※ 编辑: celestialgod (123.205.27.107), 08/16/2015 22:27:17
9F:→ forb9823018: 了解 08/16 22:34
10F:→ forb9823018: 谢谢 08/16 22:34