Domanda

In Matlab, come controllare il numero di cifre decimali per la visualizzazione nella finestra di comando?

Ad esempio,

  

>> x = 0,4654

     

x =

0.4654

come visualizzare il valore della variabile x 0,5, 0,47, 0,465 rispettivamente nella finestra di comando?

Grazie!

È stato utile?

Soluzione

Non credo che c'è costruito in arrotondamento a luoghi arbitrarie, ma è possibile ottenere il risultato arrotondato facendo round (x * 10 ^ numero di posti ) / 10 ^ numero dei luoghi . Questo stampa con gli zeri finali, se si vuole sbarazzarsi di quelli che hanno a che fare una stampa appositamente formattato come sprintf ai gradi così nel tuo caso si potrebbe ottenere i risultati desiderati per fare:

sprintf('%.1f', round(x*10)/10)
sprintf('%.2f', round(x*100)/100)
sprintf('%.3f', round(x*1000)/1000)

Mi auguro che aiuta!

Edit: Se si desidera farlo per le matrici, non sono sicuro se c'è un modo migliore, ma si può solo ciclo sopra le righe dato x come matrice:

for i=1:length(x(:,1)),
disp(sprintf('%.2f\t', round(x(i,:)*100)/100))
end

Altri suggerimenti

Hai il controllo sopra la finestra dei comandi utilizzando il comando format. Vi suggerisco di dare un'occhiata a doc format, che vi dà opzioni specifiche.

Se avete bisogno di una maggiore precisione, si sarebbe meglio utilizzare disp, e / o di una funzione di arrotondamento come ad esempio: z = round(x/y)*y

Cambia il formato.

format shortG
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top