bl1983126 发表于 2008-5-7 19:40

多文件如何共享变量?

问一个问题,如果在文件a中定义一个变量x,在文件b中如何访问x呢?我想在文件b中获得x的数据然后进行处理,这应该怎么办呢?谢谢大家!

eight 发表于 2008-5-7 19:52

原帖由 bl1983126 于 2008-5-7 19:40 发表 http://www.chinavib.com/forum/images/common/back.gif
问一个问题,如果在文件a中定义一个变量x,在文件b中如何访问x呢?我想在文件b中获得x的数据然后进行处理,这应该怎么办呢?谢谢大家! 输入输出的参数传递方式便可

wwbeyondww 发表于 2008-5-7 19:54

设置成全局变量:global

sogooda 发表于 2008-5-7 19:58

如果是多个脚本的话,不清空的变量都是存在workspace里的,可以公用。
如果是函数的话,可能需要global,或者把需要的变量传给主程序,再由主程序传给别的程序。

[ 本帖最后由 sogooda 于 2008-5-7 20:37 编辑 ]

bl1983126 发表于 2008-5-7 20:08

先谢谢大家!二楼的意思是,我在文件a中定义一个global x,那么在文件b中就可以访问x?

eight 发表于 2008-5-7 20:28

原帖由 bl1983126 于 2008-5-7 20:08 发表 http://www.chinavib.com/forum/images/common/back.gif
先谢谢大家!二楼的意思是,我在文件a中定义一个global x,那么在文件b中就可以访问x? 请看关于GUI的心得的精华帖,里面提到参数传递的问题

friendchj 发表于 2008-5-8 00:10

原帖由 bl1983126 于 2008-5-7 20:08 发表 http://www.chinavib.com/forum/images/common/back.gif
先谢谢大家!二楼的意思是,我在文件a中定义一个global x,那么在文件b中就可以访问x?
global X Y Z defines X, Y, and Z as global in scope. Ordinarily, each MATLAB function, defined by an M-file, has its own local variables, which are separate from those of other functions, and from those of the base workspace. However, if several functions, and possibly the base workspace, all declare a particular name as global, they all share a single copy of that variable. Any assignment to that variable, in any function, is available to all the functions declaring it global.

julie 发表于 2008-5-8 11:22

回复 楼主 的帖子

文件A中在变量第一次定义的时候定义为 global x
在其他如B文件引用该变量时,也要在B文件中注明global x
且运行B文件前得先运行A文件,即保证变量x已经存在。
这样应该就可以了。
页: [1]
查看完整版本: 多文件如何共享变量?