2010-11-24 10 views
0

Dans Matlab, j'ai un objet IDPOLY que je souhaite "présenter" et stocker le texte résultant dans un fichier texte.Comment capturer la sortie de la fonction "present" et la stocker dans une chaîne

par exemple si a est un objet IDPOLY et je ne

>> present(a)

Je reçois

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 

Est-ce que quelqu'un sait comment capturer ce texte que je voudrais écrire à un fichier texte dans un fichier journal. Il n'y a pas d'arguments renvoyés par present.

+1

duplication possible de [Comment obtenir le résultat de DISP comme paramètre de retour dans une variable?] (Http://stackoverflow.com/questions/3862815/how-to-get-result-of-disp-as-return- paramètre-dans-une-variable) – Jonas

Répondre

0

J'ai trouvé la commande evalc() qui fait exactement ce dont j'ai besoin.

evalc 

Evaluate MATLAB expression with capture 
Syntax 

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

et de passer l'expression sous la forme d'une chaîne.

1

Vous pouvez essayer d'utiliser la commande diary.