m0_72709134 2022-07-25 23:39 采纳率: 50%
浏览 20
已结题

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

  • 写回答

1条回答 默认 最新

  • falwat 2022-07-26 06:31
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月4日
  • 已采纳回答 7月27日
  • 创建了问题 7月25日

悬赏问题

  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载