声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 933|回复: 4

[综合讨论] 调用m文件时参数传递的问题

[复制链接]
发表于 2008-2-29 15:55 | 显示全部楼层 |阅读模式

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

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

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

[ 本帖最后由 eight 于 2008-2-29 16:50 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-2-29 16:17 | 显示全部楼层
发表于 2008-2-29 16:20 | 显示全部楼层
原帖由 konglong267 于 2008-2-29 15:55 发表
在做课题的过程中,我遇到了下面的一个问题,哪位大大帮忙解决一下:
    我编制了一个循环,每个循环里要调用外部的一个文件A.m,调用后,执行一段程序,将变化的量再存入A.m中。下一个循环会调用新的A.m。问题就在 ...

matlab 没有C语言的那种按照引用来传递参数的值,只有按值传递,所以不能通过参数传递达到你的目的。你最好贴一下核心代码
 楼主| 发表于 2008-3-1 19:45 | 显示全部楼层
差不多是这样的:
for i=1:3
    [branch] = case30H;---------%case30H是一个文件(函数)名,取其中的branch量
    branch=i;----------------%改变branch的量
    savecase('flow',branch);———%把改变的量存到flow文件里.savecase是自己编的一个
                                函数
    [branch] = flow;---------------------%调回branch的量
   s=branch+1;
end
%%%%%%%%%%%%循环结束后,s应该是4,可是最后的结果是2,问题出在倒数
第二行,它调用的flow始终是第一次的结果。
谢谢各位大大啦!!!!!!!!!!!!!!!
发表于 2008-3-1 20:43 | 显示全部楼层
原帖由 konglong267 于 2008-3-1 19:45 发表
差不多是这样的:
for i=1:3
     = case30H;---------%case30H是一个文件(函数)名,取其中的branch量
    branch=i;----------------%改变branch的量
    savecase('flow',branch);———%把改变的量存到flo ...

[branch] = case30H;
branch=i;
branch = flow(branch);
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-23 15:19 , Processed in 0.056258 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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