怎么用matlab编写一个实验数据拟合的GUI界面程序,
1个回答
展开全部
1、设计GUI,应该说明一下要求,比如界面上有哪些要素、可进行哪些操作;
2、函数cacupsnr好像并不是MATLAB自带的。
按照你的要求,帮你做了一个GUI,请见附件。简单说明几点:
(1)从你给GUI示意看,其实就是要把程序的运行过程分成几个步骤,分别由各按钮的回调函数来调用。这样会带来一个问题:各步骤之间的某些变量是存在依赖关系的,如果分成多个回调函数,这些变量的值怎样传递?比较直接的做法是用全局变量,或者使用GUI的某些对象作为数据容器,我这里采用了另外一种做法。
(2)我的做法是,把你原来的代码仍集中在一个函数中,但分成几个部分,执行哪一部分由输入参数flag决定。各步骤之间需要公用的数据定义为静态变量(persistent),可以保证多次调用该函数时这几个变量的值可以保持。
(3)把代码分成多个部分后,会导致有些操作存在顺序问题,例如,加载图像之前,是无法进行后续操作的,所以,根据各步骤的逻辑关系,在进行部分操作后,改变某些按钮的状态(Enable属性)。
(4)GUI上各控件和坐标系的tag懒得修改了,就用默认的。
2、函数cacupsnr好像并不是MATLAB自带的。
按照你的要求,帮你做了一个GUI,请见附件。简单说明几点:
(1)从你给GUI示意看,其实就是要把程序的运行过程分成几个步骤,分别由各按钮的回调函数来调用。这样会带来一个问题:各步骤之间的某些变量是存在依赖关系的,如果分成多个回调函数,这些变量的值怎样传递?比较直接的做法是用全局变量,或者使用GUI的某些对象作为数据容器,我这里采用了另外一种做法。
(2)我的做法是,把你原来的代码仍集中在一个函数中,但分成几个部分,执行哪一部分由输入参数flag决定。各步骤之间需要公用的数据定义为静态变量(persistent),可以保证多次调用该函数时这几个变量的值可以保持。
(3)把代码分成多个部分后,会导致有些操作存在顺序问题,例如,加载图像之前,是无法进行后续操作的,所以,根据各步骤的逻辑关系,在进行部分操作后,改变某些按钮的状态(Enable属性)。
(4)GUI上各控件和坐标系的tag懒得修改了,就用默认的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询