MATLAB gui单步调试时,下面set_param函数可以设置,进去运行时set_param就不可以设置!

function pushbutton_APK_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton_APK (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a=str2num(get_param('Logicnew/apk','value'));%获取到的是符号类型数“’0‘”,需转换为数字“0”。
if a>0
a=0;
else
a=0;
end
for i=1:1:7
if((i>0)&&(i<6))
a=1;
else
a=0;
end
i=i+1;
set_param('Logicnew/apk','value',num2str(a));
end

我猜测matlab里代码的执行和gui的更新是异步的。当你运行上述脚本时,gui的更新是在回调结束才更新的。当然,也可能是因为setparam()函数执行的太快,而你的回调函数每次执行完都是0,所以看不出变化。
另外指出你的代码中的两处错误:if a>0...else... 这个判断,两个分支里的代码都一样;i=i+1 这行代码应该是多余的,