我经常发现自己正在检查变量资源管理器中的深层嵌套数据,例如:
objectName.structArray1(5).structArray2(3).structArray3(7).doubleArray(4)
为了描述,变量名通常很长。我经常想要使用我在命令行编写的Matlab表达式中查看的一些数据。所以我最终输入了一系列冗长的变量名和索引。自动完成有帮助,但并不多,特别是因为我的变量名称共享许多子串。
如果我可以将与变量查看器中正在检查的数据相对应的整个表达式复制到剪贴板中,那将是一种救星。我还没有找到一种方法(最明显的方法是右键单击正在检查的数据的选项卡)。所以我不确定这个功能是否存在。任何人都可以确认或否认(希望是前者)这个功能是否存在?如果是的话,它是如何完成的?
例如,假设您在当前工作目录中有一个类文件myClass.m:
% myClass.m
%----------
classdef myClass
properties
structArray1
end % properties
end % class
现在假设你发出了以下命令:
objectName = myClass
objectName.structArray1(5).structArray2(3).structArray3(7).doubleArray(1:3)=rand(1,3)
openvar('objectName.structArray1(5).structArray2(3).structArray3(7).doubleArray')
您现在正在检查深层嵌套数据结构中的大量数据。通常情况下,数据将是除上述rand语句之外的计算结果,我会手动浏览它而不是使用上面的openvar
语句。所以我通常不会随时提供表达式的文本
objectName.structArray1(5).structArray2(3).structArray3(7).doubleArray
如果我想在Matlab表达式中使用它进行进一步的计算,我必须在命令行手动输入它。如果我能以某种方式指向变量资源管理器中的数据选项卡,并以某种方式将数据的表达式复制到剪贴板,那就太棒了。这样,我就可以将它粘贴到命令行。
所感: 如果没有办法做到这一点,那么作为手动输入上面整个表达式的替代方法,有没有办法通过变量资源管理器窗口对象以编程方式访问相应的数据对象(或其副本)?当然,这假设变量资源管理器本身也是一个数据对象,通过它可以访问属性。如果是这样,也许它有一个属性(可能是深度嵌套的),它表示当前具有焦点的选项卡中的数据表达式。如果是这样,我可以编写一个函数来检索相应的数据对象。
答案 0 :(得分:0)
我发现如果从“变量”编辑器中取消选项卡,我可以通过双击选项卡中的变量名来选择变量名。
很抱歉措辞含糊不清,但“tab”用于表示数据表中用于显示数据表名称的突出部分。如今,“tab”表示整个数据表。在上面的第一句中,我的意思是突出,不幸的是,这些天没有一个明确的名称(至少没有一个我知道)。
从突出部分复制并粘贴变量名称后,标签可以停靠,这似乎会将其放回原来的位置。