Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 从函数返回的句柄打印图形_Matlab_Matlab Figure - Fatal编程技术网

Matlab 从函数返回的句柄打印图形

Matlab 从函数返回的句柄打印图形,matlab,matlab-figure,Matlab,Matlab Figure,是否可以让matlab从一个函数返回多个图形的句柄,然后用户可以指定要显示的图形。例如: function [fha, fh2, fh3] = my_funct(x,y) fh1 = figure(1); plot(x,y); fh2 = figure(2); plot(x,y*3); fh3 = figure(3); plot(x,y*7); end 其中x和y是任何输入向量 我意识到我可以放置一个输入变量,说明从函数返回哪个图形,但我希

是否可以让matlab从一个函数返回多个图形的句柄,然后用户可以指定要显示的图形。例如:

function [fha, fh2, fh3] = my_funct(x,y)

    fh1 = figure(1);
    plot(x,y);

    fh2 = figure(2);
    plot(x,y*3);

    fh3 = figure(3);
    plot(x,y*7);
end
其中x和y是任何输入向量

我意识到我可以放置一个输入变量,说明从函数返回哪个图形,但我希望用户能够从列出的输出中选择他们想要的图形。然后,如果有必要,他们可以看另一个数字。我希望能够做一些类似的事情:

获取(fh1,“向我展示图形”)


这将显示第一个图,来自函数返回的句柄。这可能吗

与其生成3个图形,不如根据选择绘制指定的图形?因为
handle=数字(数字)将始终生成新窗口,或覆盖现有窗口。
在gui中,您可以在选择回调中使用开关,它使用开关中的选定选项(下面是简单的函数示例)


如果句柄是以前使用另一个
figure()
调用创建的,则可以使用
figure(handle)
选择要显示的图形。

figure(fh2)
是否执行此任务?记住,在任何情况下,如果图形关闭,手柄将失效!我想安德是对的……是的,对。我已使函数中的数字不可见(可见=关闭),因此您的建议非常有效。@Emmatebs很乐意提供帮助!如果你的问题已经解决了,请考虑接受其中的一个答案!是的,这是我最初看到的,但是如果我想看到第二个图形,我需要重新运行函数。在我的情况下,这是不可取的,因为该函数需要一些时间来运行。那么使用assignin或save来保存结果,并使用单独的函数来绘制所选的图形如何?
function [fh] = my_funct(x,y,chosen)

switch chosen
   case 1
      fh = figure(1);
      plot(x,y);
   case 2
      fh = figure(1);
      plot(x,y*3);
   case 3
      fh = figure(1);
      plot(x,y*7);
   otherwise
      fh = figure(1);
      disp('No Valid Choice')
end