马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
窗口上面的popup控件定义为选择0,就返回k=0,选20,返回k=20,等等,同时在另外的一个窗口上面就会用到这个k值来计算。如果代码写成下面的,k值是可以传到另一个界面中进行计算:
global hpop k;
Fig=figure('unit','normalized','position',[.78 .15 .2 .7],...
'name','绘制渐近线','menubar','none','numbertitle','off',...
'resize','on','toolbar','none');
set(Fig,'defaultuicontrolunits','normalized') %设置用户缺省控件单位属性值
set(Fig,'defaultuicontrolfontsize',10);
set(Fig,'defaultuicontrolhorizontal','center');
set(Fig,'defaultuicontrolfontname','隶书');
uicontrol(Fig,'style','text',...
'position',[0.2,0.82,0.4,0.05],...
'string','直线斜率(k)','horizontalalignment','left','backgroundcolor',[.8 .8 .8]);
hpush=uicontrol(Fig,'style','pushbutton',...
'position',[0.3,0.4,0.2,0.05],...
'string','退出','callback','close,clear all');
hpop=uicontrol(Fig,'style','popup',... %制作弹出菜单
'position',[0.3,0.7,0.45,0.12],...
'string',' 0| -20| 20| -40| 40| -60| 60');
hpop_callback=['global hpop,',...
'asym_v=get(hpop,''value''),',...
'switch asym_v,',...
'case 1,',...
'k=0,',...
'case 2,',...
'k=-20,',...
'case 3,',...
'k=20;',...
'case 4,',...
'k=-40,',...
'case 5,',...
'k=40,',...
'case 6,',...
'k=-60,',...
'case 7,',...
'k=60;',...
'end'];
set(hpop,'callback',hpop_callback);
但如果前面加上了function
function asym_plot
global hpop k;
.......后面的代码跟前面的一样
点击popup按钮选择数值,k值也会和前面一样显示在workspace,但是无法传递到另外一个窗口里面,我在两个界面函数中都定义k为全局变量了啊。虽然第一种可以实现我的需求,但是出现一些其他的问题,就不赘述。查了一些资料,但未领会到答案,愚钝之极,特请教各位这是什么问题,k如何传递? |