2015-05-12 3 views
0

Я подобно команде ImportData, но он не работает на моих файлов без меня переименования расширения файла .txt (или удаления расширения файла) перед импортом.Использование ImportData без переименования расширения файла .txt

Эта проблема возникает только при запуске Matlab 2014b, другие версии, как представляется, действуют как предсказанные.

Я могу открыть файлы в любом стандартном текстовом редакторе, поэтому формат файла должен быть понятным для Matlab (я думаю). Расширение может быть, например, .res, .ida или другие «пользовательские» имена расширений ...

Могу ли я получить Matlab, чтобы понять, как лечить этот файл как .txt без переименования ? Или любое другое обходное решение (которое было бы несколько строк короткими как importdata) ??

Пример файла:

текст текст текст текст
текст 11 12 13
текст 21 22 23

Любая помощь приветствуется!

+0

Неверно, что 'importdata' работает только с файлами' * .txt'. Если он не является стандартным файловым форматом, он будет рассматривать его как разделительный ASCII-файл. Вероятно, происходит то, что встроенные вспомогательные функции не могут обнаружить структуру вашего файла. Каков формат данных? Обозначение пробела, разделитель табуляции, другой разделитель? Есть ли заголовки? Общие параметры см. В [документации по импорту и экспорту данных MATLAB] (http://www.mathworks.com/help/matlab/data-import-and-export.html), в частности, «Стандартные форматы файлов» и «Низкие -Level File I/O '. – excaza

+0

Существует как текст (несколько строк), так и матрица. Ограничено пространством. Использование ** importdata ** удобно, поскольку оно автоматически отделяет данные и текстовые данные. – Erik

+0

Без примера функционирования, который воспроизводит вашу проблему, сложно помочь с вашей проблемой. См. [MVCE] (http://stackoverflow.com/help/mcve) для руководства. – excaza

ответ

1

Файл может иметь любое расширение, которое вы хотите. просто укажите разделитель, в вашем случае пробел

my_delim = ' '; 
M = importdata(any_file_type_with_text_in_it, my_delim): 
+0

Это не сработало, я все равно получаю пустой массив. Итак, я получил подозрение и попробовал Matlab (2011) в Windows, и он работает, а также старая версия в Gnome (2012b). Это версия, которую я использую в настоящее время (2014b), которая не работает (используя Gnome) по какой-то причине ... Это проблема, поскольку я использую новые функции, выпущенные в 2014 году. С какой версией вы тестировали? – Erik

+0

Я использовал 2012a (который я считаю достаточно старым, как есть) с окнами и mac. Может быть, это проблема дистрибутива Linux? Я не уверен, что ваш тип рабочего стола (gnome, kde и т. Д.) Будет иметь значение, поскольку все они получают один и тот же java-дистрибутив. Можете ли вы попробовать машину окон 2014? – andrew

+0

Нет, у меня нет этой версии, установленной в Windows. – Erik

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