2010-10-05 13 views
7

Entrambe le funzioni disp e display non hanno parametri di ritorno e visualizza il contenuto della variabile nella finestra di comando.Come ottenere il risultato di DISP come parametro di ritorno in una variabile?

Desidero ottenere il risultato della chiamata di funzione (stringa visualizzata) in una variabile anziché in output nella finestra di comando, qualcosa di simile a str = ToString(myStruct); dove la variabile di input è una struttura MATLAB!

Sono consapevole del fatto che il risultato della visualizzazione dipende dalla larghezza disponibile della finestra di comando, può essere ampia o stretta.

In tutti i moderni linguaggi di programmazione sarebbe un metodo obj.ToString().

risposta

13

toString = @(x) evalc('disp(x)')

Non abbastanza, ma dovrebbe ottenere il lavoro fatto.

2

struct2str potrebbe essere una soluzione per il tuo problema.

+0

+1 ma penso che ci sia anche una soluzione generale, non solo per le strutture. – Mikhail

0

Considerare l'utilizzo di sprintf. È possibile scrivere la propria funzione per il proprio tipo di dati, se necessario.

+0

Questo è esattamente quello che non volevo fare. Questo post riflette il mio approccio http://www.codinghorror.com/blog/2009/07/nobody-hates-software-more-than-software-developers.html – Mikhail

Problemi correlati