Перейти к содержанию
    

MATLAB, запись тектового файла

Подскажите, как выкрутиться. Скрипт сохраняет результаты неких измерений в столбцах текстового файла. Каждая строка соответствует измерениям в какой-то момент времени.

Всё бы хорошо, но измерения иногда прерываются и данные в эти моменты времени просто отсутствуют. В МАТЛАБе в соответствующих ячейках массива у меня просто NaN.

Так же эта аббревиатура переносится и в текстовый файл. То есть, там где есть данные - циферки, а где нет - буковки "NaN".

Но я хотел бы заменить эти NaN-ы при записи пробелами.

Чтобы, скажем, при экспорте данных из такого текстового файла в Excel, соответствующие ячейки таблицы оставались пустыми. Такое возможно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нужен промежуточный этап, фильтрующий NaN

либо завести еще один столбец, в котором будет флаг валидности измерений

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если фильтровать NaN, то как сохранить целостность последовательности? Иными словами, чем их заменить? Можно, конечно, перевести численные значения в набор символов, и там где NaN - заменить на пробелы, но мне это кажется уж очень корявым каким-то решением.

Вот флаг валидности, пожалуй, красивее. Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 часа назад, Herz сказал:

Такое возможно?

Если из MATLAB экспортировать в какой-нибудь экселевский формат, то да.

https://stackoverflow.com/a/45764228

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Меня просили делать именно txt- файлы, не хотелось бы промежуточной конвертации. С csv-файлом действительно было бы проще.

Надо уточнить у заказчика, как его устроит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 hours ago, Herz said:

Подскажите, как выкрутиться. Скрипт сохраняет результаты неких измерений в столбцах текстового файла.

Но я хотел бы заменить эти NaN-ы при записи пробелами.

Чтобы, скажем, при экспорте данных из такого текстового файла в Excel, соответствующие ячейки таблицы оставались пустыми. Такое возможно?

-> perl-script

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Tanya said:

-> perl-script 

И куда его, простите? После генерации текстового файла модифицировать его скриптом на Perl? Или такой скрипт существует для MATLAB?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, Herz said:

И куда его, простите? После генерации текстового файла модифицировать его скриптом на Perl? Или такой скрипт существует для MATLAB?

А из матлаба вызвать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное, возможно. Но Матлаб и сам довольно мощный инструмент, не думаю, что он нуждается в сторонних скриптах для такой операции. Кроме того, с Perl я не знаком. Вы готовый такой скрипт встречали, или?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, Herz said:

Наверное, возможно. Но Матлаб и сам довольно мощный инструмент, не думаю, что он нуждается в сторонних скриптах для такой операции. Кроме того, с Perl я не знаком. Вы готовый такой скрипт встречали, или?

А я не знакома с Матлабом. На перле давно когда-то писала разбор постскриптовского файла. Ваша задача - одна строчка всего будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Матлабе есть функция fprinf, аналогичная такой же функции в Си. Можно выводить в текстовый файл в любом виде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 minutes ago, Herz said:

Вполне допускаю. Но на изучение Перла... времени просто нет.

Попросите тут. Для некоторых это займет минуту.

у меня тоже времени нет...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 minutes ago, Nickolas said:

В Матлабе есть функция fprinf, аналогичная такой же функции в Си. Можно выводить в текстовый файл в любом виде.

Ею я и пользуюсь. Но и для "любого" есть ограничения...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...