2016-08-01 2 views
1

Когда я импортировать мои данные (числовая матрица фондовых данных NYSE), данные не загружена:MATLAB CSV Импорт данных Искривление

заключительная часть моей ИЗОБ данных CSV() должны быть отображены -

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

Что я получаю, когда я называю DISP (importDataResult) является -

0,0100 0,0099 0,0099 0,0100 и т.д ..

У вас есть идеи, почему, когда я импортирую данные, он полностью преобразуется? В приведенной ниже ссылке содержится мой zip-файл CSV, чтобы вы могли видеть проблему (я полностью понимаю, если вы не можете это проверить, но мне было бы интересно узнать, относится ли эта проблема к другим MATLAB/компьютерам других пользователей).

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

код я использую:

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

Вот скриншот выпуска: https://s32.postimg.org/os74qfrlx/matlab_screen.png

Большое спасибо!

+0

Возможно, лучше сделать 'csvread', если ваши данные являются численными и' textscan', если они содержат строки – GameOfThrows

+0

Привет, когда я делаю CSVread, остается та же проблема - слишком ли многочисленна матрица для MATLAB? Я попытался использовать кнопку «импорт данных», функцию importdata() и теперь функцию csvread(). Все они преобразуют данные при импорте - код настолько прост. Я не понимаю, что может быть неправильным. Спасибо за попытку! :) – lel23

+0

Убедитесь, что на вашем отображаемом текстовом результате нет '1.00e + 03' или что-то в этом роде. Это просто Matlab, который делает вещи подходящими для выхода формата. – Matt

ответ

0

Matlab не преобразует данные. Конфигурация того, кто Matlab отображает переменные, управляется format, по умолчанию format short.

Выдержка из документации:

формата

может быть использован для переключения между различными форматами отображения выходных данных всех переменных с плавающей точкой следующим образом:

формата КОРОТКОГО Scaled формата неподвижных точек с 5 цифрами.

Так что же Чешуйчатый формат с фиксированной точкой с 5 цифр значит, хорошо позволяет увидеть

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

    0.0000 1.0000 0.1000 

Обратите внимание на 1.0e+04 *, его множитель для всех данных в матрице. При отображении большой матрицы этот множитель часто скрывается (как в вашем случае), что, по общему признанию, может быть довольно запутанным.

+0

Привет, Йорген, спасибо за ваш ответ! Теперь я понимаю, что вы имели в виду, множитель скрыт, поскольку выход больше, чем выходное пространство. Итак, если бы я экспортировал результат в CSV, цифры вернутся к норме? К сожалению, моя бесплатная пробная версия MATLAB закончилась сегодня, поэтому мне придется подождать, пока я не получу университет, чтобы получить этот CSV (что раздражает, поскольку мне нужно написать алгоритм инвестиций в Java с результатом) ... в любом случае спасибо за ваше время! – lel23

Смежные вопросы