声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 8283|回复: 27

[综合讨论] 开两个MATLAB运行同一个程序会出现交叉操作吗?

[复制链接]
发表于 2009-3-6 11:30 | 显示全部楼层 |阅读模式

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

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

x
请问:在一台机上开两个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 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-3-6 18:51 | 显示全部楼层
把同一个文件copy到不同的文件夹运行就不会有这种问题了,为什么非要两个matlab运行同一个脚本文件呢?

评分

1

查看全部评分

发表于 2009-3-6 21:07 | 显示全部楼层

回复 楼主 citywander 的帖子

..asv,只是一个你打开编辑m函数的时候得一个临时文件吧,没有什么用的。将后缀为m之后与原来的函数式一样的。

save的问题我就不清楚了
发表于 2009-3-6 23:35 | 显示全部楼层
不清楚楼主"交叉操作"的含义?
以前也时常开两个MATLAB, 但是运行不同程序, 没出过问题!
发表于 2009-3-7 00:08 | 显示全部楼层
MATLAB也能同时打开两个了,一直都没注意到,也没用过,呵呵
发表于 2009-3-7 10:19 | 显示全部楼层
我那个时代, 电脑速度没现在快, 随便小东西就要跑好久!
所以那时有习惯开两个, 一个跑case, 另一个继续programing
现在快太多了, 很少如此了!
 楼主| 发表于 2009-3-7 22:47 | 显示全部楼层


嗯,这样的确就没有任何问题了。只是我一开始没有意识到可能会有交叉覆盖这个问题,所以是在同一个脚本文件上操作,每一个程序运行了大概十多个小时。但是如果的确存在交叉覆盖的话,那我所有保存下来的文件可能都是错误的,因为我修改过之后,在另一个MATLAB中运行,但实际这个程序在原来的已经在运行的MATLAB中也被改变了,如果MATLAB编译运行是一直按照.m在走的话,那么它底下的运行就会按照修改过后的,而不是原来的。。。
如果是错误的,所有的就都要重新再运行了,555,之前时间全浪费了。。。

[ 本帖最后由 ChaChing 于 2009-3-7 23:33 编辑 ]
 楼主| 发表于 2009-3-7 22:53 | 显示全部楼层
原帖由 ChaChing 于 2009-3-6 23:35 发表
不清楚楼主"交叉操作"的含义?
以前也时常开两个MATLAB, 但是运行不同程序, 没出过问题!


是的,运行不同程序是没有任何问题的,就好比你同时打开了两个word,但是在写不同的.doc,所以没有问题。
我本意是打开两个MATLAB,虽然在运行同一个程序,但是我在这个程序里修改过参数后,希望原来已经在运行的那个MATLAB还是运行原来没有改参数时的文件,修改过后的对它不会产生影响。我所指的交叉操作是指:修改过后的对原来的有影响了。。。

[ 本帖最后由 ChaChing 于 2009-3-7 23:32 编辑 ]
 楼主| 发表于 2009-3-7 22:56 | 显示全部楼层
原帖由 ChaChing 于 2009-3-7 10:19 发表
我那个时代, 电脑速度没现在快, 随便小东西就要跑好久!
所以那时有习惯开两个, 一个跑case, 另一个继续programing
现在快太多了, 很少如此了!


对啊,跟这个是类似的!那ChaChing你那个继续programming的是不是在同一个程序上?如果是在同一个程序上你发现它对于在跑的那个有影响么?我现在不确定我的两个之间有没有影响,如果有影响那就得全部重跑了。。。

[ 本帖最后由 ChaChing 于 2009-3-7 23:34 编辑 ]
 楼主| 发表于 2009-3-7 22:58 | 显示全部楼层
原帖由 friendchj 于 2009-3-7 00:08 发表
MATLAB也能同时打开两个了,一直都没注意到,也没用过,呵呵

偶有一台机上在同时跑四个。。。那个是最快的一个机器。。。

[ 本帖最后由 ChaChing 于 2009-3-7 23:35 编辑 ]
 楼主| 发表于 2009-3-7 23:00 | 显示全部楼层
原帖由 无水1324 于 2009-3-6 21:07 发表
..asv,只是一个你打开编辑m函数的时候得一个临时文件吧,没有什么用的。将后缀为m之后与原来的函数式一样的。

save的问题我就不清楚了


哦,我以为.asv是运行时产生的呢。。。不对啊,编辑之后不会出现.asv,只是每次运行后会出现吧?是不是?我试试看。先回去sleep了。。。

[ 本帖最后由 ChaChing 于 2009-3-7 23:35 编辑 ]
发表于 2009-3-7 23:31 | 显示全部楼层
原帖由 citywander 于 2009-3-6 11:30 发表
...有时发现两个文件都会被保存下来了,x234 与x235都在文件夹中出现了,但是有时发现文件夹中只保存下来x235,x234被覆盖掉了 ...

早上有试了下! 试不出LZ的这现象!
发表于 2009-3-8 08:38 | 显示全部楼层

回复 8楼 citywander 的帖子

你会发现用word根本就不能打开同一个文件两次。应该就是防止出现修改的冲突这样的问题。
发表于 2009-3-8 08:43 | 显示全部楼层

回复 11楼 citywander 的帖子

.asv是matlab自动生成的自动保存文件,目的是在编辑之后可以执行undo操作;当然,在原来的m文件被误删除的情况下也可以用来当做备份。
.asv可能不是每次保存都会生成的,可能比如修改一两次之后就会生成asv了,以后随着你对m文件的修改,matlab自动更新.asv文件。
发表于 2009-3-8 11:02 | 显示全部楼层

回复 7楼 citywander 的帖子

具体个人不很确定! 或许也与LZ改那些部分有关系!
我的经验与印象是, 当你下命令执行m script时, matlab好像是将所有指令存至一个buffer等待执行!
所以若LZ只更动script的内容, 应该是不会跑新参数的, 也就是LZ的结果有效, 但若script很大的话, 就不怎麽确定了!
但若LZ更动script呼叫到的m function, 就会视程序跑到那里而定! 即m function什麽时候被呼叫到, 就用那当时的m function!
12F我指出的现象是一个矛盾, "有时发现文件夹中只保存下来x235", 怪! 不解!?

个人不善言词打字又慢, 希望LZ看了懂我的意思!

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2024-11-19 12:20 , Processed in 0.089081 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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