Страница 1 из 1

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

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

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

Добавлено: 19 сен 2017, 22:27
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 массива.

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

Добавлено: 19 сен 2017, 22:34
Blackman
:think:

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

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

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

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

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


Что касается вычисления среднего:
1.png
Untitled 1.vi
lv8.0 save from 2010
(507.59 КБ) 96 скачиваний

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

Добавлено: 19 сен 2017, 23:48
molotok
Что касается вычисления среднего:
Это вот так просто и изящно делается? искал на форуме на формировать 3d массив и вообще ничего не нашел. Получается нужно вместо цикла слева, цикл для захвата 73 файлов и готово? Не получается 73 в цикле открыть, открывает только первый файл.

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

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

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

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

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

Добавлено: 20 сен 2017, 08:13
Borjomy_1
Наверное, указали путь к файлу, а не к каталогу. В свойствах Path укажите, что выбор каталога

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

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

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

Добавлено: 20 сен 2017, 10:42
Blackman
Не зависит от размера входного массива + остальные преимущества)