我有一个.m文件(脚本)来控制一个实时机器人。
我在这个文件中做的是:
1- find a trajectory
2-infinite loop:
read from robot
update robot
plot some stuff (basically I'm drawing a new point in each iteration that represents the position of the robot in a previously opened map, it's updating the map)
end of loop
我想做的是创建一个GUI,让我可以绘制图形,并看到机器人同时返回的一些值,实时的。
从我读到的,MATLAB不能同时运行脚本和GUI ..我可以在GUI中实时绘制,但我似乎无法更新GUI中文本框中机器人返回的值。
我是否必须把它全部放在同一个文件中,或者是否有一种方法可以让GUI和脚本在单独的文件中工作?提前感谢!
MATLAB运行两者都没有问题。我不知道你们是从哪里读到的,但这不是真的;MATLAB不是解决这个问题的最佳工具,但它可以做到。
首先,我要用代码来描述你的问题,使它更容易解决。你的问题既模糊又笼统,所以我的回答也必须笼统。我对你的函数结构做了一些假设,但它实际上应该看起来像这样:
endflag = 0;
while ~endflag
robotData = getRobotData(robotHandel);
derivedData = doStuffWithData(robotData);
updateRobot(derivedData);
showData(robotData, derivedData)
endflag = checkEndFlag(robotData, derivedData)
end
所以,你的问题是showData功能。它应该做的是确定需要从它的输入中显示哪些值,并将这些值传递给GUI。像这样:
function showData(robotData, derivedData)
guiInputData = dataParser(robotData, derivedData)
YourGUIFunctionName(guiInputData)
end
然后,GUI函数应该使用这些输入构建自己。任何以这种方式工作的GUI函数,都将做您想要它做的事情。如果你想要一个更具体的解决方案,你需要给我关于你的问题更具体的信息。祝你好运,我希望这对你有帮助。