Matlab的GUI参数传递方式总结
Matlab的GUI参数传递方式总结 其实Matlab提供了很多种直接或间接方法实现多fig中的数据共享,只是大家没有注意罢了: 1、全局变量 2、作为函数的参数传递 3、利用控件的userdata数据 4、为handles结构体添加新字段 5、setappdata函数为句柄添加数据 6、跨空间计算evalin和赋值assignin 7、将数据保存到文件,需要时读取 8、带参数调用GUI的M文件 9、嵌套函数(不适用于GUIDE中,只适用纯命令是的GUI) 一、全局变量 运用global定义全局变量传递参数, 适用于 gui 内控件间以及不同 gui 间 。这种方式恐怕是最简单的方式,是很省心!但是,简单的问题就在于有时你会很头疼!因为在每一个要到该全局变量的地方,你都要添一句gloal x,还有就是如果你在一个地方修改了 x的值,那么所有x的值就都变了!有的时候恐怕会出现紊乱。另一个更重要的问题在于,套用C++的一句话,全局变量破坏了程序的封装性!所以,全局变量是能少用尽量少用。 以下创造一个简单的GUI给大家说明一下,建一个GUI, 包含两个按钮,一个坐标系,一个用来画y=sin(x),一个用来画y=cos(x); eg:在GUI的OpeningFcn函数中写: global x y1 y2 x=0:.1:2*pi;y1=sin(x);y2=cos(x);