Come stampare una tabella usando fprintf in Matlab
Stampare una tabella in Matlab non garantisce sempre un buon risultato visivo. Usate la funzione fprintf per ottenere una stampa curata. Le istruzioni all'interno di fprintf — a partire dalla funzione boxSizeTable — permettono di aggiungere etichette alle colonne, impostare le dimensioni della tabella e formattare le variabili, dando il controllo completo sull'aspetto e la formattazione. Analizzate i dati, decidete le etichette e, se necessario, fate uno schizzo per facilitare l'uso di fprintf.
Passaggio 1
Aprite Matlab e avviate un nuovo progetto selezionando "Nuovo" dalla scheda "Finestra" nel menu principale.
Passaggio 2
Digitate "function boxSizeTable" sulla prima riga e specificate lo scopo della tabella con un commento come "% Questa tabella dimostra la stampa con fprintf" sulla seconda riga.
Passaggio 3
Definite le informazioni della tabella impostando etichette delle colonne, identificatori di riga e contenuto di ogni cella. Per una tabella che identifica le dimensioni disponibili per scatole di spedizione, ad esempio, digitate:
label = char('small','medium','large'); width = [5; 5; 10]; height = [5; 8; 15]; depth = [15; 15; 20]; % volume in metri cubi vol = width.*height.*depth/10000;
Passaggio 4
Avviate fprintf dando un titolo alla tabella. Identificate la funzione e il titolo, poi terminate con il carattere speciale "\n" che dice a Matlab di processare subito la riga successiva:
fprintf('\nDimensioni scatole spedizione\n\n');
Passaggio 5
Aggiungete un secondo fprintf per stampare gli identificatori di riga e passare alla riga successiva:
fprintf('dim larghezza altezza profondita volume\n');
Passaggio 6
Digitate ulteriori istruzioni fprintf per completare la formattazione. In questa tabella, ad esempio, aggiungete un'istruzione per indicare che le misure sono in centimetri:
fprintf(' (cm) (cm) (cm) (m^3)\n');
Passaggio 7
Completate la formattazione con un ciclo "for" che aggiunge spaziatura, formatta testo e numeri tramite codici di conversione e dice a fprintf di continuare finché non stampa tutte le informazioni. Ad esempio, "8s" riserva 8 spazi e formatta come stringa, "8d" riserva 8 spazi e formatta come intero:
for i=1:length(width) fprintf('%-8s %8d %8d %8d %9.5f\n',... label(i,:),width(i),height(i),depth(i),vol(i))
Passaggio 8
Salvate e visualizzate i risultati a schermo, o selezionate "Stampa" dal menu "File" per stampare su carta.
Suggerimento
Premete sempre "Invio" invece del tasto Tab per andare a capo.
Identificate le righe di commento non stampabili iniziandole con il segno di percentuale.