我制作了一个程序,我尝试进行自动测量。该程序到目前为止工作,但我不确定这是否是正确的方法。
该计划包括两个功能:
我还添加了一个用于生成设备矩阵的GUI。按钮触发measureAutomatically功能。
GUI应该显示当前测量值(实时,而不是在完成后),如果测量成功与否,它应该将另一个轴上的矩形颜色从灰色变为绿色/红色(如指示器)什么是给定的点)
到目前为止,我给测量函数赋予轴的句柄以绘制并格式化测量函数中的图。
我不确定如何更新矩形的东西。此时measureAutomatically函数获取测量结果,然后查找reactangle(findobj by tag)并更改颜色。
我希望保持这些功能独立于GUI(现在情况并非如此)。那么我应该在GUI中调用一个函数来改变矩形吗?但是我该怎么做?或者做这样的事情的正确方法是什么。我仍然是matlab的初学者,但我不仅想让它工作,而且还想学习正确的方法。
答案 0 :(得分:0)
我当然会创建一个接受测量状态并随后做任何事情的函数
function updateStatus(status, isGUI)
if isGUI
if status
% Change the rectangle color to green
else
% Change the rectangle color to red
end
else
if status
% Do something else
else
% Do something else
end
end
您还可以将句柄传递给图UserData
中的对象,或直接使用setappdata/getappdata
和引用对象,而不是通过findobj
查找它们。但这是偏好的问题。