如何捕获“当前”的输出?函数并将其存储在字符串中

发布于 2024-10-04 08:33:02 字数 932 浏览 2 评论 0原文

在 Matlab 中,我有一个 IDPOLY 对象,我希望“呈现”并将结果文本存储在文本文件中。

例如,如果 a 是 IDPOLY 对象,并且我执行

>> present(a)

我得到

Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)                
A(q) = 1 - 1.31 q^-1 + 0.2425 q^-2 - 0.431 q^-3 + 0.4987 q^-4         

B1(q) = 0.01357 + 0.04006 q^-1 - 0.04489 q^-2 + 0.007757 q^-3         
              - 0.1761 q^-4 + 0.06396 q^-5 - 0.2874 q^-6 + 0.3835 q^-7


B2(q) = -0.006397                                                     

Estimated using ARX with focus on data set iddata_est_shift           
Loss function 0.0617185 and FPE 0.061879                              
Sampling interval: 0.025                                              
Created:       24-Nov-2010 13:05:10                                   
Last modified: 24-Nov-2010 13:06:56   

有谁知道如何捕获此文本,因为我想将其写入日志文件中的文本文件。 present 没有返回参数。

In Matlab, I have a IDPOLY object which I wish to "present" and store the resulting text in a text file.

eg if a is an IDPOLY object and I do

>> present(a)

I get

Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)                
A(q) = 1 - 1.31 q^-1 + 0.2425 q^-2 - 0.431 q^-3 + 0.4987 q^-4         

B1(q) = 0.01357 + 0.04006 q^-1 - 0.04489 q^-2 + 0.007757 q^-3         
              - 0.1761 q^-4 + 0.06396 q^-5 - 0.2874 q^-6 + 0.3835 q^-7


B2(q) = -0.006397                                                     

Estimated using ARX with focus on data set iddata_est_shift           
Loss function 0.0617185 and FPE 0.061879                              
Sampling interval: 0.025                                              
Created:       24-Nov-2010 13:05:10                                   
Last modified: 24-Nov-2010 13:06:56   

Does anyone know how to capture this text as I'd like to write it to a text file in a log file. There are no returned arguments from present.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷→糖丶微凉 2024-10-11 08:33:02

您可以尝试使用diary命令。

You can try using the diary command.

对你再特殊 2024-10-11 08:33:02

我发现 evalc() 命令完全可以满足我的需要。

evalc

Evaluate MATLAB expression with capture
Syntax

T = evalc(S)
[T, X, Y, Z, ...] = evalc(S)

并将表达式作为字符串传递。

I've found the evalc() command which does exactly what I need.

evalc

Evaluate MATLAB expression with capture
Syntax

T = evalc(S)
[T, X, Y, Z, ...] = evalc(S)

and pass the expression as a string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文