开两个MATLAB运行同一个程序会出现交叉操作吗?
请问:在一台机上开两个MATLAB运行同一目录下的同一个程序(很长,耗时十几个小时),一个MATLAB先运行,再修改这个程序中的某些参数,然后在另一个MATLAB中运行,会互相覆盖交叉操作吗?我以前以为是不会交叉操作的,以为MATLAB运行时,先生成.asv文件,然后对这个.asv文件操作,所以两个不同的.asv不会有影响,但是现在发现,.asv根本只是一个自动保存文件,而不是MATLAB运行程序的必经之路。
比如 我在文件底部, save x234, 然后运行MATLAB, 然后我开了另一个MATLAB,改了一些参数后,save x235, 在这个MATLAB中运行,有时发现两个文件都会被保存下来了,x234 与x235都在文件夹中出现了,但是有时发现文件夹中只保存下来x235,x234被覆盖掉了,请问这到底是什么原因呢?MATLAB编译调试到底是什么步骤?
如果的确会交叉操作,那我所有程序就得全部重来了,还是copy这个程序再运行的好。
大家帮忙讨论下看,想弄清楚为什么可是google不到,help也不知查什么关键字。
[ 本帖最后由 ChaChing 于 2009-3-7 10:20 编辑 ] 把同一个文件copy到不同的文件夹运行就不会有这种问题了,为什么非要两个matlab运行同一个脚本文件呢?
回复 楼主 citywander 的帖子
..asv,只是一个你打开编辑m函数的时候得一个临时文件吧,没有什么用的。将后缀为m之后与原来的函数式一样的。save的问题我就不清楚了 不清楚楼主"交叉操作"的含义?
以前也时常开两个MATLAB, 但是运行不同程序, 没出过问题! MATLAB也能同时打开两个了,一直都没注意到,也没用过,呵呵 我那个时代, 电脑速度没现在快, 随便小东西就要跑好久!
所以那时有习惯开两个, 一个跑case, 另一个继续programing
现在快太多了, 很少如此了! 原帖由 sogooda 于 2009-3-6 18:51 发表 http://www.chinavib.com/forum/images/common/back.gif
把同一个文件copy到不同的文件夹运行就不会有这种问题了,为什么非要两个matlab运行同一个脚本文件呢?
嗯,这样的确就没有任何问题了。只是我一开始没有意识到可能会有交叉覆盖这个问题,所以是在同一个脚本文件上操作,每一个程序运行了大概十多个小时。但是如果的确存在交叉覆盖的话,那我所有保存下来的文件可能都是错误的,因为我修改过之后,在另一个MATLAB中运行,但实际这个程序在原来的已经在运行的MATLAB中也被改变了,如果MATLAB编译运行是一直按照.m在走的话,那么它底下的运行就会按照修改过后的,而不是原来的。。。
如果是错误的,所有的就都要重新再运行了,555,之前时间全浪费了。。。
[ 本帖最后由 ChaChing 于 2009-3-7 23:33 编辑 ] 原帖由 ChaChing 于 2009-3-6 23:35 发表 http://www.chinavib.com/forum/images/common/back.gif
不清楚楼主"交叉操作"的含义?
以前也时常开两个MATLAB, 但是运行不同程序, 没出过问题!
是的,运行不同程序是没有任何问题的,就好比你同时打开了两个word,但是在写不同的.doc,所以没有问题。
我本意是打开两个MATLAB,虽然在运行同一个程序,但是我在这个程序里修改过参数后,希望原来已经在运行的那个MATLAB还是运行原来没有改参数时的文件,修改过后的对它不会产生影响。我所指的交叉操作是指:修改过后的对原来的有影响了。。。
[ 本帖最后由 ChaChing 于 2009-3-7 23:32 编辑 ] 原帖由 ChaChing 于 2009-3-7 10:19 发表 http://www.chinavib.com/forum/images/common/back.gif
我那个时代, 电脑速度没现在快, 随便小东西就要跑好久!
所以那时有习惯开两个, 一个跑case, 另一个继续programing
现在快太多了, 很少如此了!
对啊,跟这个是类似的!那ChaChing你那个继续programming的是不是在同一个程序上?如果是在同一个程序上你发现它对于在跑的那个有影响么?我现在不确定我的两个之间有没有影响,如果有影响那就得全部重跑了。。。
[ 本帖最后由 ChaChing 于 2009-3-7 23:34 编辑 ] 原帖由 friendchj 于 2009-3-7 00:08 发表 http://www.chinavib.com/forum/images/common/back.gif
MATLAB也能同时打开两个了,一直都没注意到,也没用过,呵呵
偶有一台机上在同时跑四个。。。那个是最快的一个机器。。。
[ 本帖最后由 ChaChing 于 2009-3-7 23:35 编辑 ] 原帖由 无水1324 于 2009-3-6 21:07 发表 http://www.chinavib.com/forum/images/common/back.gif
..asv,只是一个你打开编辑m函数的时候得一个临时文件吧,没有什么用的。将后缀为m之后与原来的函数式一样的。
save的问题我就不清楚了
哦,我以为.asv是运行时产生的呢。。。不对啊,编辑之后不会出现.asv,只是每次运行后会出现吧?是不是?我试试看。先回去sleep了。。。
[ 本帖最后由 ChaChing 于 2009-3-7 23:35 编辑 ] 原帖由 citywander 于 2009-3-6 11:30 发表 http://www.chinavib.com/forum/images/common/back.gif
...有时发现两个文件都会被保存下来了,x234 与x235都在文件夹中出现了,但是有时发现文件夹中只保存下来x235,x234被覆盖掉了 ...
早上有试了下! 试不出LZ的这现象!
回复 8楼 citywander 的帖子
你会发现用word根本就不能打开同一个文件两次。应该就是防止出现修改的冲突这样的问题。回复 11楼 citywander 的帖子
.asv是matlab自动生成的自动保存文件,目的是在编辑之后可以执行undo操作;当然,在原来的m文件被误删除的情况下也可以用来当做备份。.asv可能不是每次保存都会生成的,可能比如修改一两次之后就会生成asv了,以后随着你对m文件的修改,matlab自动更新.asv文件。
回复 7楼 citywander 的帖子
具体个人不很确定! 或许也与LZ改那些部分有关系!我的经验与印象是, 当你下命令执行m script时, matlab好像是将所有指令存至一个buffer等待执行!
所以若LZ只更动script的内容, 应该是不会跑新参数的, 也就是LZ的结果有效, 但若script很大的话, 就不怎麽确定了!
但若LZ更动script呼叫到的m function, 就会视程序跑到那里而定! 即m function什麽时候被呼叫到, 就用那当时的m function!
12F我指出的现象是一个矛盾, "有时发现文件夹中只保存下来x235", 怪! 不解!?
个人不善言词打字又慢, 希望LZ看了懂我的意思!
页:
[1]
2