konglong267 发表于 2008-2-29 15:55

调用m文件时参数传递的问题

在做课题的过程中,我遇到了下面的一个问题,哪位大大帮忙解决一下:
    我编制了一个循环,每个循环里要调用外部的一个文件A.m,调用后,执行一段程序,将变化的量再存入A.m中。下一个循环会调用新的A.m。问题就在这里:下一个循环调用的并不是最新的A.m文件,而是原来的第一个A.m文件。
   哪位可以帮忙解决一下,感激不尽!

[ 本帖最后由 eight 于 2008-2-29 16:50 编辑 ]

sigma665 发表于 2008-2-29 16:17

原帖由 konglong267 于 2008-2-29 15:55 发表 http://www.chinavib.com/forum/images/common/back.gif
将变化的量再存入A.m中

确定存进去了吗

eight 发表于 2008-2-29 16:20

原帖由 konglong267 于 2008-2-29 15:55 发表 http://www.chinavib.com/forum/images/common/back.gif
在做课题的过程中,我遇到了下面的一个问题,哪位大大帮忙解决一下:
    我编制了一个循环,每个循环里要调用外部的一个文件A.m,调用后,执行一段程序,将变化的量再存入A.m中。下一个循环会调用新的A.m。问题就在 ...
matlab 没有C语言的那种按照引用来传递参数的值,只有按值传递,所以不能通过参数传递达到你的目的。你最好贴一下核心代码

konglong267 发表于 2008-3-1 19:45

差不多是这样的:
for i=1:3
    = case30H;---------%case30H是一个文件(函数)名,取其中的branch量
    branch=i;----------------%改变branch的量
    savecase('flow',branch);———%把改变的量存到flow文件里.savecase是自己编的一个
                              函数
    = flow;---------------------%调回branch的量
   s=branch+1;
end
%%%%%%%%%%%%循环结束后,s应该是4,可是最后的结果是2,问题出在倒数
第二行,它调用的flow始终是第一次的结果。
谢谢各位大大啦!!!!!!!!!!!!!!!

eight 发表于 2008-3-1 20:43

原帖由 konglong267 于 2008-3-1 19:45 发表 http://www.chinavib.com/forum/images/common/back.gif
差不多是这样的:
for i=1:3
   = case30H;---------%case30H是一个文件(函数)名,取其中的branch量
    branch=i;----------------%改变branch的量
    savecase('flow',branch);———%把改变的量存到flo ...
= case30H;
branch=i;
branch = flow(branch);
页: [1]
查看完整版本: 调用m文件时参数传递的问题