Чтение файла...
-
- junior
- Сообщения: 50
- Зарегистрирован: 29 июл 2009, 10:10
- Версия LabVIEW: 9.0
- Контактная информация:
Чтение файла...
Имеем большой файл..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 полученным значениям...
Как сделать грамотно не знаю... сделал сумасшедший вариант по подсчету суммы...Помогите разумным советом
Далее провести математические вычисления типа ((дата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 скачиваний
-
- junior
- Сообщения: 50
- Зарегистрирован: 29 июл 2009, 10:10
- Версия LabVIEW: 9.0
- Контактная информация:
Re: Чтение файла...
Требуется чтобы прога считала данные по вариации Аллана, но ви, скаченное с 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
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Чтение файла...
Упорство и труд всё перетрутКомпаратор.vi
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Чтение файла...
Nan потому что в обрабатываемом массиве 24 символа, а тау у тебя 3600. Если посомтреть на Calc_Allan, то видно что 24 делёное нацело на 3600 = 0, т.е. обработка даже не запускается.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Чтение файла...
Может это то что нужно?
- Вложения
-
- Компаратор1.vi
- (10.28 КБ) 169 скачиваний
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Чтение файла...
Вот поиск индексов начала каждого часа. Это работает пока у тебя измерения раз в секунду. В противном случае нужно будет сравнивать в цикле предыдущий и нынешний час и если не совпадут - записывать индекс.
- Вложения
-
- Компаратор1.vi
- (12.44 КБ) 150 скачиваний
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Чтение файла...
Должно работать
- Вложения
-
- Компаратор1.vi
- (13.62 КБ) 149 скачиваний
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- junior
- Сообщения: 50
- Зарегистрирован: 29 июл 2009, 10:10
- Версия LabVIEW: 9.0
- Контактная информация:
Re: Чтение файла...
Возникает проблема...порой измерение с нулевой секундной в начале часа отсутствует- измерения её перескакивают. В связи с этим не захватывается значение. Как сделать, чтобы записывалось первое измерение в часе, а все остальные игнорировались до начала следующего часа? Плюс для вычисления часового изменения мне нужно последнее значение массива...как добавить именно последнию строку массива, а не заданную не знаю
- Вложения
-
- phase_pco_14-02-2010.rar
- (2.25 МБ) 150 скачиваний
-
- Компаратор5.vi
- (25.17 КБ) 148 скачиваний
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Чтение файла...
Попробуй так.
- Вложения
-
- s1.PNG (5.42 КБ) 7462 просмотра
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
- junior
- Сообщения: 50
- Зарегистрирован: 29 июл 2009, 10:10
- Версия LabVIEW: 9.0
- Контактная информация:
Re: Чтение файла...
Вот конечный вариант...Проверьте, товарищи, правильно ли работают все структуры...
- Вложения
-
- Компаратор_таблица.vi
- (29.26 КБ) 167 скачиваний
-
- junior
- Сообщения: 50
- Зарегистрирован: 29 июл 2009, 10:10
- Версия LabVIEW: 9.0
- Контактная информация:
Re: Чтение файла...
Вопрос: Как удалять из массива значения, которые больше заданного значения? Например все значения величиной больше 1Е-13?
- Вложения
-
- Компаратор_таблица_календарь_1.vi
- (28.62 КБ) 113 скачиваний
-
- Calendar_data.vi
- (28.32 КБ) 121 скачивание
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Чтение файла...
Блин... в подписи версия написана 8.5, а файлы выложены 9.0MAzayko писал(а):Вопрос: Как удалять из массива значения, которые больше заданного значения? Например все значения величиной больше 1Е-13?
Можно удалять по условию, можно записывать.
Примерно так:
- Вложения
-
- Если 1d массив, то проще отсортировать и разделить по порогу
- 1d.png (4.8 КБ) 7028 просмотров
-
- Если 2d, то разбираем его. Вырезаем значимый элемент и по нему принимаем решение. Либо дописываем его в новый массив, либо нет
- 2d.png (6.6 КБ) 7028 просмотров
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- junior
- Сообщения: 50
- Зарегистрирован: 29 июл 2009, 10:10
- Версия LabVIEW: 9.0
- Контактная информация:
Re: Чтение файла...
Второй вариант помог,спасибо, но работает он не совсем корректно. У меня массив 4 на 24, и при условии, указанном во 2м способе, проверяется строка по первому её элементу. Если 1 из 4 элементов строки меньше 1Е-13, то берутся все 4 элемента, что не есть правильно :( Как сделать поэлементную фильтрацию?О_о
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Чтение файла...
совершенно верно, по 1-му элементуMAzayko писал(а):У меня массив 4 на 24, и при условии, указанном во 2м способе, проверяется строка по первому её элементу.
но можно по любому из четырех
а как вы будете удалять из массива 4*24 один элемент?MAzayko писал(а):Как сделать поэлементную фильтрацию?О_о
удаляется либо строка, либо столбец.... в крайнем случае можно прировнять "0"
либо преобразовать 2d => 1d, а потом использовать вариант 1
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- junior
- Сообщения: 50
- Зарегистрирован: 29 июл 2009, 10:10
- Версия LabVIEW: 9.0
- Контактная информация:
Re: Чтение файла...
Просто бывают случаи, когда 1й элемент строки удовлетворяет требованию, а 2й и 3й нет - строка добавляется в массив, а это недопустимо.
Если разбить на 4 массива по 24 элемента, то поиск из Вашего первого примера не убирает элементы, которые не удовлетворяют требованию...что то не так :(
Если разбить на 4 массива по 24 элемента, то поиск из Вашего первого примера не убирает элементы, которые не удовлетворяют требованию...что то не так :(
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение