2016-08-01 22 views
1

Wenn ich meine Daten (numerische Matrix von NYSE Bestandsdaten) importieren, werden die Daten nicht ordnungsgemäß geladen:MATLAB CSV Import Warping Daten

der letzte Teil meiner CSV-Daten disp() angezeigt sein sollte -

9,76, 10, 9,99, 9,94, 9.97,9.944,9.95,10,9.956,10.01

Was bekomme ich, wenn ich die disp (importDataResult) nennen, ist -

0,0100 0,0099 0,0099 0,0100 etc ..

Haben Sie eine Idee, warum ich die Daten vollständig importiere, wenn ich sie importiere? Der folgende Link enthält meine gezippte CSV-Datei, so dass Sie das Problem sehen können (Ich verstehe völlig, wenn Sie nicht gestört werden, aber ich würde gerne wissen, ob das gleiche Problem für andere MATLAB/Computer gilt).

https://www.sendspace.com/file/slif0y

Der Code Ich verwende ist:

function [ c ] = CreateCov_Test() 
c = csvread('nyse_data_matrix_no_tags.csv'); 
disp(c); 
end 

Hier ein Screenshot des Problems ist: https://s32.postimg.org/os74qfrlx/matlab_screen.png

Vielen Dank!

+0

Es ist wahrscheinlich besser, ein 'csvread' zu machen, wenn Ihre Daten alle numerisch sind und' textscan', wenn es Strings enthält. – GameOfThrows

+0

Hallo, wenn ich CSVread mache, bleibt das gleiche Problem - ist die numerische Matrix zu groß für MATLAB? Ich habe versucht, die Schaltfläche 'Daten importieren', die Funktion importdata() und jetzt die Funktion csvread() zu verwenden. Sie alle transformieren die Daten, wenn ich sie importiere - der Code ist so einfach, dass ich nicht verstehe, was schief gehen kann. Danke für den Versuch, obwohl! :) – lel23

+0

Stellen Sie sicher, dass es keine '1.00e + 03' oder etwas ähnliches vor dem angezeigten Text gibt. Das ist nur Matlab, das Dinge in die 'Format Short'-Ausgabe passt. – Matt

Antwort

0

Matlab wandelt keine Daten um. Die Konfiguration, wer Matlab Variablen anzeigt, wird mit format gesteuert, der Standardwert ist format short.

Ein Ausschnitt aus der Dokumentation:

Format zwischen unterschiedlichen Ausgabeanzeigeformaten aller Floatvariablen schalten kann wie folgt verwendet werden:

Format SHORT Fixpunkt Scaled-Format mit 5 Ziffern.

Was bedeutet Scaled Festkommaformat mit 5 Ziffern bedeuten, können auch

>> a = [0.1 10000 100] 
>> disp(a) 
    1.0e+04 * 

    0.0000 1.0000 0.1000 

Notiere die 1.0e+04 *, es ist ein Multiplikator für alle Daten in der Matrix sehen. Bei der Darstellung einer großen Matrix wird dieser Multiplikator oft ausgeblendet (wie in Ihrem Fall), was zugegebenermaßen eher verwirrend sein kann.

+0

Hallo Jorgen, danke für deine Antwort! Ich verstehe jetzt, was Sie meinten, der Multiplikator ist ausgeblendet, da die Ausgabe größer ist als der Ausgabebereich. Wenn ich also das Ergebnis in CSV exportieren würde, wären die Zahlen wieder normal? Leider lief meine kostenlose Testversion von MATLAB heute aus, also muss ich warten, bis ich zur Universität komme, um diese CSV zu bekommen (was nervig ist, da ich einen Java-Investitionsalgorithmus mit dem Ergebnis schreiben muss) deine Zeit! – lel23