Открытие файлов в цикле

Простейшие вопросы в области инженерной разработки
Ответить
molotok
beginner
beginner
Сообщения: 17
Зарегистрирован: 19 сен 2017, 20:56
Версия LabVIEW: 8.6
Контактная информация:

Открытие файлов в цикле

Сообщение molotok »

Доброго времени суток, у меня возникла проблема с реализацией алгоритма открытия 73-х файлов в цикле, не знаю как это реализовать. Открыть два, три файла и посчитать проблем нет, но вот для 73-х уже проблемно. В каждом файле находится матрица 2048 строк на 11 столбцов, нужно считать все эти файлы и записать в один массив посчитав среднее арифметическое значение каждого элемента матрицы, то есть значение первого элемента матрицы x[i,j] получается из 73 матриц и так для каждого значения. Значения в файлах отделены пробелом. Заранее спасибо за помощь.
Аватара пользователя
IvanLis

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

Re: Открытие файлов в цикле

Сообщение IvanLis »

molotok писал(а):Доброго времени суток, у меня возникла проблема с реализацией алгоритма открытия 73-х файлов в цикле, не знаю как это реализовать. Открыть два, три файла и посчитать проблем нет, но вот для 73-х уже проблемно. В каждом файле находится матрица 2048 строк на 11 столбцов, нужно считать все эти файлы и записать в один массив посчитав среднее арифметическое значение каждого элемента матрицы, то есть значение первого элемента матрицы x[i,j] получается из 73 матриц и так для каждого значения. Значения в файлах отделены пробелом. Заранее спасибо за помощь.
Т.е. в результате Вам необходимо получить матрицу 2048 строк на 11 столбцов, где каждый элемент это среднее значение соответствующих элементов 73 матриц?

Если да, то грузите 1-й файл, получаете 2D массив (2048*11).
Грузите 2-й файл и дописываете его в первый, получаете 3D массив (2048*11*2 [page]).... и т.д. В результате получится 3D массив (2048*11*73).
:labview: без проблем проглотит массив из чуть более 1.5 мл. элементов.
После этого выдергиваете столбик из 73 элементов и считаете среднее, пишите его в соответствующую позицию 2D массива.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Открытие файлов в цикле

Сообщение Blackman »

:think:
Вложения
Calculate Array from Files.png
molotok
beginner
beginner
Сообщения: 17
Зарегистрирован: 19 сен 2017, 20:56
Версия LabVIEW: 8.6
Контактная информация:

Re: Открытие файлов в цикле

Сообщение molotok »

Т.е. в результате Вам необходимо получить матрицу 2048 строк на 11 столбцов, где каждый элемент это среднее значение соответствующих элементов 73 матриц?
да именно эту матрицу нужно получить, но уровень знаний в :labview: оставляет желать лучшего и реализовать это практически :dntknw:
Аватара пользователя
IvanLis

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

Re: Открытие файлов в цикле

Сообщение IvanLis »

molotok писал(а):да именно эту матрицу нужно получить, но уровень знаний в :labview: оставляет желать лучшего и реализовать это практически :dntknw:
Дорогу осилит идущий.

Лучше Вас никто не сделает, мы можем только помочь и подсказать.
Прочтите и посмотрите, что Вам напредлагали. Соберите все в кучу и получите результат.


Что касается вычисления среднего:
1.png
Untitled 1.vi
lv8.0 save from 2010
(507.59 КБ) 96 скачиваний
molotok
beginner
beginner
Сообщения: 17
Зарегистрирован: 19 сен 2017, 20:56
Версия LabVIEW: 8.6
Контактная информация:

Re: Открытие файлов в цикле

Сообщение molotok »

Что касается вычисления среднего:
Это вот так просто и изящно делается? искал на форуме на формировать 3d массив и вообще ничего не нашел. Получается нужно вместо цикла слева, цикл для захвата 73 файлов и готово? Не получается 73 в цикле открыть, открывает только первый файл.
Вложения
Безымянный.png
Безымянный.png (6.81 КБ) 5404 просмотра
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Открытие файлов в цикле

Сообщение Kosist »

molotok писал(а):Не получается 73 в цикле открыть, открывает только первый файл.
Нужно получить массив путей к файлам (например, функция Recursive File List.vi), а затем открывать их в цикле. Т.е. Ваш код сейчас нужно "завернуть" в еще один цикл "сверху".
Используйте пример IvanLis - левый цикл нужно изменить, и вместо генерации чисел открывать файлы, и собирать данные в 3-х мерный массив.
Мы делили апельсин - много наших полегло...
molotok
beginner
beginner
Сообщения: 17
Зарегистрирован: 19 сен 2017, 20:56
Версия LabVIEW: 8.6
Контактная информация:

Re: Открытие файлов в цикле

Сообщение molotok »

Kosist писал(а):
molotok писал(а):Не получается 73 в цикле открыть, открывает только первый файл.
Нужно получить массив путей к файлам (например, функция Recursive File List.vi), а затем открывать их в цикле. Т.е. Ваш код сейчас нужно "завернуть" в еще один цикл "сверху".
Используйте пример IvanLis - левый цикл нужно изменить, и вместо генерации чисел открывать файлы, и собирать данные в 3-х мерный массив.
Не пойму почему ошибку выдаёт
Вложения
1.png
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2206
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Открытие файлов в цикле

Сообщение Borjomy_1 »

Наверное, указали путь к файлу, а не к каталогу. В свойствах Path укажите, что выбор каталога
molotok
beginner
beginner
Сообщения: 17
Зарегистрирован: 19 сен 2017, 20:56
Версия LabVIEW: 8.6
Контактная информация:

Re: Открытие файлов в цикле

Сообщение molotok »

Borjomy_1 писал(а):Наверное, указали путь к файлу, а не к каталогу. В свойствах Path укажите, что выбор каталога
Спасибо, всё именно так было, всё заработало, ещё раз всем огромное спасибо!
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Открытие файлов в цикле

Сообщение Blackman »

Не зависит от размера входного массива + остальные преимущества)
Вложения
Mean Page of 3D Array.png
Ответить

Вернуться в «Для чайников»