MATLAB显示工作区元素的链接

8
我试图提高输出结果的可读性。为了避免显示大量数据,最好显示指向工作区特定元素的链接(例如变量、表格、图形等)。
下面是一张图片来说明这个想法:

enter image description here

也许我们可以使用disp函数,我知道它允许生成到网页或计算机存储文件的超链接。在MATLAB中是否可能实现这一点?

@IKavanagh 感谢您的建议,但我希望该元素在MATLAB窗口内打开。我知道我可以创建一个带有输出的文件,保存它,然后创建超链接,但这不是我的想法... - mat
@mat fprintf(1, ...)会打印到MATLAB命令窗口。个人而言,我从来不使用MATLAB GUI,这就是我的意思。 - IKavanagh
@IKavanagh 我不想将元素打印到命令窗口。如果我有一个100x100的表怎么办?我也没有使用GUI,我只想让变量在“查看窗口”中打开(不知道它叫什么)。 - mat
1
@mat - 我想我有一个答案给你。让我写一个回答。 - rayryeng
1
@rayryeng 这正是我想要的,非常感谢! - mat
显示剩余4条评论
1个回答

12

好的,这是我的想法。首先使用openvar函数并指定您想要包裹在单引号中的变量。这将在变量编辑器中打开变量(在您的快照中显示的图像)。

现在,您还可以使用disp允许可点击链接运行MATLAB命令。结合这两个想法,您将组合disp链接和openvar以允许可点击链接执行openvar函数以显示所需的变量。

因此,假设我们的变量存储在A中,您基本上会这样做:

A = magic(5);
disp('<a href="matlab:openvar(''A'')">Click on me to show the matrix A</a>')
disp语句会显示一个可点击的链接,在您单击链接时执行所需的函数。您可以通过在href关键字中指定matlab:关键字来实现此所需效果,之后,您可以编写出任何想要使用的MATLAB函数或语句。在我们的例子中,我们只需要运行一个函数,那就是openvar。确保在openvar参数中指定您想要的变量时用单引号括起来。原因是disp的参数是一个字符串,如果您希望识别单引号,则必须使用一对单引号。因此,在disp字符串中,围绕您想要的变量有一对单引号。

以下是我在MATLAB中得到的结果。这些步骤被复制并显示在一个动画GIF中:

enter image description here


1
哇!毫无疑问,这是我最喜欢的问题(答案)! - Luis Mendo
1
@LuisMendo - 谢谢!:D 这是一个有趣的问题要解决。我今天学到了新东西! - rayryeng
1
@rayryeng 我也是!但你学习的方式更有趣 :-) - Luis Mendo
@LuisMendo - 谢谢 :) 我会再进一步制作一个动态GIF。 - rayryeng
@rayryeng 哈哈哈。带有拼写错误的所有内容!非常好。 - Luis Mendo
1
@LuisMendo - 必须向人们展示我并不完美 :D! - rayryeng

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接