Sto cercando di creare un'applicazione finanziaria chegestire dati economici utilizzando Matlab. Il file che voglio caricare è in un file CSV e sono doppi numeri in questo formato "1222.3". Finora, sto solo lavorando con una dimensione e sono in grado di caricare i dati in un vettore.
Il problema è che i dati vengono caricati nel vettore in formato String. Per cambiare tutto il vettore in doppio formato uso str2double (vettore), ma i numeri nel vettore finiscono in questo modo:
1222,3 -> 1,222
153,4 -> 0,1534
Ho provato a moltiplicare il vettore per 100 (vettore. * 100), ma non ha funzionato.
Qualche idea?
risposte:
0 per risposta № 1Matlab estrae automaticamente alcuni fattori comunivettori numerici, che mi ha confuso molte volte me stesso. La linea che dà il fattore comune è facile da perdere, specialmente per i vettori di grandi dimensioni, perché è visualizzata nella parte superiore.
Se definisco un vettore con i due numeri che hai dato, Matlab me lo mostra nel modo seguente:
Ha estratto un fattore 1000, come indicato dalla linea 1.0e+03 *
.
0 per risposta № 2
Se i componenti vettoriali sono sufficientemente grandi, MATLAB stamperà i numeri in formato esponenziale.
>> a = 1234.56
a =
1.2346e+03
I numeri sono anche mostrati in notazione scientifica nel browser dell'area di lavoro:
È possibile stampare i numeri in formato decimale utilizzando ad es. fprintf
:
>> fprintf("%5.3fn",a)
1234.560
>>
Come nota a margine, 1.222 * 100 ≠ 1222 ...