从一个函数返回的句柄绘制情节图

时间:2015-10-05 09:59:12

标签: 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是任何输入向量。

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

get(fh1,' show_me_the_figure')

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

2 个答案:

答案 0 :(得分:2)

如果之前使用其他figure(handle)来电创建了句柄,您可以选择使用figure()显示哪个数字。

答案 1 :(得分:0)

如何根据选择绘制指定的数字,而不是生成3个数字?由于handle=figure(number);将始终生成新窗口,或覆盖现有窗口。 在gui中,您可以在选择回调中使用一个开关,它使用开关中的选定选项(简单的功能示例如下)。

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