如何捕获由disp()函数写入CLI的行?

1次观看(过去30天)
我有一个表,我想保存到一个文本文件。桌子上。写method lets me do this, but only as delimited text. I would like to write the same lines that the disp() function writes to the command line when I call it with a table as input. Is there a way to capture those lines, either as a char array or a cell array?
1评论
布鲁斯·艾略特
布鲁斯·艾略特 2018年6月7日
编辑:布鲁斯·艾略特 2018年6月7日
如果我重申一下我的问题可能会有帮助。我所要求的是一种方法,以编程方式产生相同的结果,我可以通过手动执行以下操作来获得:
  1. 调用disp(myTable)在命令行界面中显示该表。
  2. 选择显示的行并将它们复制到系统剪贴板。
  3. 将复制的行粘贴到文本文件中。
下面是命令行中的一个例子:
>> T = table([1:5]',[10:10:50]',“VariableNames”, {“Var_A”“Var_B”});
> > disp (T)
Var_AVar_B
__________
1 10
2 20
3 30
4个40
5 50
我可以简单地选择显示表内容的行,并将它们复制到我的文件中,以获得我想要的内容。
Walter Roberson在他的回答中建议我尝试使用evalc('disp(T)'),它给了我一些接近我想要的东西,但它包含标记代码(黑体字),如下所示:
< >强Var_A < /强> < >强Var_B < / >强
< >强_____< /强> < >强_____< / >强
1 10
2 20
3 30
4个40
5 50
我希望你能明白我的问题。

登录评论。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2018年6月6日
结果= evalc(“disp (NameOfTableGoesHere)”);
Fid = fopen(“NameOfOutputFile.txt”“wt”);
写入文件(支撑材,结果);
文件关闭(fid);
结果将已经嵌入\n个字符,这就是为什么我们不格式化它,只是将它发送到文件。
8的评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年6月7日
在R2016a之前是@table,在R2016b变成@tabular
检查任何系统最简单的方法是使用哪个:
T = table(123);
哪一个disp (T)

登录评论。

更多答案(0)

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!