今天遇到这样一个问题,需要在一个GUI界面输入几个控制变量来控制一个本来已经写好的.m文件的运行,查了半天资料发现别人与我需要解决的问题似乎都不太一样,最后在某个百度经验下找到了一种办法,但我又理解错了答主的意思,导致折腾了很久,所以干脆记录一下自己最终使用的方法。
GUI界面变量值传递到其他.m文件
1.在GUI界面的“可编辑文本”上点击右键,选择“回调函数”。
2.在对应的回调函数中定义之后在脚本文件中需要用到的全局变量,如global x。
3.定义全局变量后:x=str2double(get(handles.edit1,‘string’)); 由于我需要用到的是数值控制,而get到的变量类型是字符串,所以加了一步数据类型转换。
4.在自己本来写好的脚本文件首行也加入全局变量声明 global x。
5.将GUI界面对应的.m文件和.fig文件与自己的.m文件放在一个文件夹里,运行自己的.m文件,就会自动跳出图形界面让你输入所需的变量。
这种办法有个问题就是全局变量可能引发低效问题,而且全局变量在任何一个地方更改就会被更改,因此这种办法最好还是少用为好…………