Чтение файла...

Работа с файлами и базами данных
MAzayko
junior
junior
Сообщения: 50
Зарегистрирован: 29 июл 2009, 10:10
Версия LabVIEW: 9.0
Контактная информация:

Чтение файла...

Сообщение MAzayko »

Имеем большой файл..85к+ строк. текстовик типа Время дата дата дата дата дата дата. Необходимо выделить измерения в началах часа (0:00:00, 1:00:00... 23:00:00, 23:59:59)
Далее провести математические вычисления типа ((дата2-дата1)/(час2-час1)) для каждого часа (для этого и нужно измерение 23-59-59) полученные измерения просуммировать для каждого столбца и поделить на 24...
Результат записать в табличку типа время результат1 рез2 рез3 рез4 и построить 4 графика... время-результат по 24 полученным значениям...
Как сделать грамотно не знаю... сделал сумасшедший вариант по подсчету суммы...Помогите разумным советом
Вложения
for_comporator.vi
(25.28 КБ) 153 скачивания
scan_string_small.vi
(14.19 КБ) 147 скачиваний
summ.vi
(7.37 КБ) 140 скачиваний
phase_pco_01-01-2010.rar
(2.7 МБ) 140 скачиваний
MAzayko
junior
junior
Сообщения: 50
Зарегистрирован: 29 июл 2009, 10:10
Версия LabVIEW: 9.0
Контактная информация:

Re: Чтение файла...

Сообщение MAzayko »

Требуется чтобы прога считала данные по вариации Аллана, но ви, скаченное с ni.com почему-то выдает вместо ответа NaN... Не пойму где и что не так =\
Вложения
Компаратор.vi
(39.15 КБ) 169 скачиваний
Calc_Allan-Variance.VI
(27.27 КБ) 153 скачивания
Часовой отсчёт.vi
(13.71 КБ) 146 скачиваний
Компаратор1.vi
(42.16 КБ) 151 скачивание
Последний раз редактировалось MAzayko 05 фев 2010, 11:25, всего редактировалось 2 раза.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чтение файла...

Сообщение FireFly »

Компаратор.vi
Упорство и труд всё перетрут :haha:
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чтение файла...

Сообщение FireFly »

Nan потому что в обрабатываемом массиве 24 символа, а тау у тебя 3600. Если посомтреть на Calc_Allan, то видно что 24 делёное нацело на 3600 = 0, т.е. обработка даже не запускается.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чтение файла...

Сообщение FireFly »

Может это то что нужно?
Вложения
Компаратор1.vi
(10.28 КБ) 169 скачиваний
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чтение файла...

Сообщение FireFly »

Вот поиск индексов начала каждого часа. Это работает пока у тебя измерения раз в секунду. В противном случае нужно будет сравнивать в цикле предыдущий и нынешний час и если не совпадут - записывать индекс.
Вложения
Компаратор1.vi
(12.44 КБ) 150 скачиваний
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чтение файла...

Сообщение FireFly »

Должно работать
Вложения
Компаратор1.vi
(13.62 КБ) 149 скачиваний
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
MAzayko
junior
junior
Сообщения: 50
Зарегистрирован: 29 июл 2009, 10:10
Версия LabVIEW: 9.0
Контактная информация:

Re: Чтение файла...

Сообщение MAzayko »

Возникает проблема...порой измерение с нулевой секундной в начале часа отсутствует- измерения её перескакивают. В связи с этим не захватывается значение. Как сделать, чтобы записывалось первое измерение в часе, а все остальные игнорировались до начала следующего часа? Плюс для вычисления часового изменения мне нужно последнее значение массива...как добавить именно последнию строку массива, а не заданную не знаю :dntknw:
Вложения
phase_pco_14-02-2010.rar
(2.25 МБ) 150 скачиваний
Компаратор5.vi
(25.17 КБ) 148 скачиваний
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: Чтение файла...

Сообщение FireFly »

Попробуй так.
Вложения
s1.PNG
s1.PNG (5.42 КБ) 7462 просмотра
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
MAzayko
junior
junior
Сообщения: 50
Зарегистрирован: 29 июл 2009, 10:10
Версия LabVIEW: 9.0
Контактная информация:

Re: Чтение файла...

Сообщение MAzayko »

Вот конечный вариант...Проверьте, товарищи, правильно ли работают все структуры...
Вложения
Компаратор_таблица.vi
(29.26 КБ) 167 скачиваний
MAzayko
junior
junior
Сообщения: 50
Зарегистрирован: 29 июл 2009, 10:10
Версия LabVIEW: 9.0
Контактная информация:

Re: Чтение файла...

Сообщение MAzayko »

Вопрос: Как удалять из массива значения, которые больше заданного значения? Например все значения величиной больше 1Е-13?
Вложения
Компаратор_таблица_календарь_1.vi
(28.62 КБ) 113 скачиваний
Calendar_data.vi
(28.32 КБ) 121 скачивание
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5464
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Чтение файла...

Сообщение IvanLis »

MAzayko писал(а):Вопрос: Как удалять из массива значения, которые больше заданного значения? Например все значения величиной больше 1Е-13?
Блин... в подписи версия написана 8.5, а файлы выложены 9.0

Можно удалять по условию, можно записывать.
Примерно так:
Вложения
Если 1d массив, то проще отсортировать и разделить по порогу
Если 1d массив, то проще отсортировать и разделить по порогу
1d.png (4.8 КБ) 7028 просмотров
Если 2d, то разбираем его. Вырезаем значимый элемент и по нему принимаем решение. Либо дописываем его в новый массив, либо нет
Если 2d, то разбираем его. Вырезаем значимый элемент и по нему принимаем решение. Либо дописываем его в новый массив, либо нет
2d.png (6.6 КБ) 7028 просмотров
MAzayko
junior
junior
Сообщения: 50
Зарегистрирован: 29 июл 2009, 10:10
Версия LabVIEW: 9.0
Контактная информация:

Re: Чтение файла...

Сообщение MAzayko »

Второй вариант помог,спасибо, но работает он не совсем корректно. У меня массив 4 на 24, и при условии, указанном во 2м способе, проверяется строка по первому её элементу. Если 1 из 4 элементов строки меньше 1Е-13, то берутся все 4 элемента, что не есть правильно :( Как сделать поэлементную фильтрацию?О_о
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5464
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 87 раз

Re: Чтение файла...

Сообщение IvanLis »

MAzayko писал(а):У меня массив 4 на 24, и при условии, указанном во 2м способе, проверяется строка по первому её элементу.
совершенно верно, по 1-му элементу
но можно по любому из четырех
MAzayko писал(а):Как сделать поэлементную фильтрацию?О_о
а как вы будете удалять из массива 4*24 один элемент?
удаляется либо строка, либо столбец.... в крайнем случае можно прировнять "0"

либо преобразовать 2d => 1d, а потом использовать вариант 1
MAzayko
junior
junior
Сообщения: 50
Зарегистрирован: 29 июл 2009, 10:10
Версия LabVIEW: 9.0
Контактная информация:

Re: Чтение файла...

Сообщение MAzayko »

Просто бывают случаи, когда 1й элемент строки удовлетворяет требованию, а 2й и 3й нет - строка добавляется в массив, а это недопустимо.

Если разбить на 4 массива по 24 элемента, то поиск из Вашего первого примера не убирает элементы, которые не удовлетворяют требованию...что то не так :(
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»