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

Простейшие вопросы в области инженерной разработки

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

Postby molotok on 19 Sep 2017, 21:13

Доброго времени суток, у меня возникла проблема с реализацией алгоритма открытия 73-х файлов в цикле, не знаю как это реализовать. Открыть два, три файла и посчитать проблем нет, но вот для 73-х уже проблемно. В каждом файле находится матрица 2048 строк на 11 столбцов, нужно считать все эти файлы и записать в один массив посчитав среднее арифметическое значение каждого элемента матрицы, то есть значение первого элемента матрицы x[i,j] получается из 73 матриц и так для каждого значения. Значения в файлах отделены пробелом. Заранее спасибо за помощь.
molotok
beginner
beginner
 
Posts: 12
Joined: 19 Sep 2017, 20:56
LabVIEW Version: 8.6
Karma: 0

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

Postby IvanLis on 19 Sep 2017, 22:27

molotok wrote:Доброго времени суток, у меня возникла проблема с реализацией алгоритма открытия 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 массива.
User avatar
IvanLis
professor
professor
 
Posts: 4440
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 687
hardware VIP bloggers teachers

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

Postby Blackman on 19 Sep 2017, 22:34

:think:
Attachments
Calculate Array from Files.png
Blackman
leader
leader
 
Posts: 657
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 164

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

Postby molotok on 19 Sep 2017, 23:04

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

да именно эту матрицу нужно получить, но уровень знаний в :labview: оставляет желать лучшего и реализовать это практически :dntknw:
molotok
beginner
beginner
 
Posts: 12
Joined: 19 Sep 2017, 20:56
LabVIEW Version: 8.6
Karma: 0

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

Postby IvanLis on 19 Sep 2017, 23:08

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

Дорогу осилит идущий.

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


Что касается вычисления среднего:
1.png
Untitled 1.vi
lv8.0 save from 2010
(507.59 KiB) Downloaded 7 times
User avatar
IvanLis
professor
professor
 
Posts: 4440
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 687
hardware VIP bloggers teachers

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

Postby molotok on 19 Sep 2017, 23:48

Что касается вычисления среднего:


Это вот так просто и изящно делается? искал на форуме на формировать 3d массив и вообще ничего не нашел. Получается нужно вместо цикла слева, цикл для захвата 73 файлов и готово? Не получается 73 в цикле открыть, открывает только первый файл.
Attachments
Безымянный.png
Безымянный.png (6.81 KiB) Viewed 245 times
molotok
beginner
beginner
 
Posts: 12
Joined: 19 Sep 2017, 20:56
LabVIEW Version: 8.6
Karma: 0

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

Postby Kosist on 20 Sep 2017, 00:42

molotok wrote:Не получается 73 в цикле открыть, открывает только первый файл.

Нужно получить массив путей к файлам (например, функция Recursive File List.vi), а затем открывать их в цикле. Т.е. Ваш код сейчас нужно "завернуть" в еще один цикл "сверху".
Используйте пример IvanLis - левый цикл нужно изменить, и вместо генерации чисел открывать файлы, и собирать данные в 3-х мерный массив.
Мы делили апельсин - много наших полегло...
User avatar
Kosist
leader
leader
 
Posts: 757
Joined: 21 Feb 2011, 23:44
Location: СумГУ
Medals: 2
Activity (1) Gold (1)
LabVIEW Version: 2013-2017
Karma: 224
CLAD I/O VIP students

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

Postby molotok on 20 Sep 2017, 01:08

Kosist wrote:
molotok wrote:Не получается 73 в цикле открыть, открывает только первый файл.

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


Не пойму почему ошибку выдаёт
Attachments
1.png
molotok
beginner
beginner
 
Posts: 12
Joined: 19 Sep 2017, 20:56
LabVIEW Version: 8.6
Karma: 0

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

Postby Borjomy_1 on 20 Sep 2017, 08:13

Наверное, указали путь к файлу, а не к каталогу. В свойствах Path укажите, что выбор каталога
Borjomy_1
expert
expert
 
Posts: 1754
Joined: 28 Jun 2012, 09:32
Location: город семи холмов
Medals: 3
Activity (1) Professionalism (1) Silver (1)
LabVIEW Version: 4-8.6,9-14
Karma: 309
VIP

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

Postby molotok on 20 Sep 2017, 09:40

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

Спасибо, всё именно так было, всё заработало, ещё раз всем огромное спасибо!
molotok
beginner
beginner
 
Posts: 12
Joined: 19 Sep 2017, 20:56
LabVIEW Version: 8.6
Karma: 0

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

Postby Blackman on 20 Sep 2017, 10:42

Не зависит от размера входного массива + остальные преимущества)
Attachments
Mean Page of 3D Array.png
Blackman
leader
leader
 
Posts: 657
Joined: 17 Jan 2016, 15:02
Medals: 1
Activity (1)
LabVIEW Version: 6.1,8.5,20
Karma: 164


Return to Для чайников

Who is online

Users browsing this forum: No registered users and 7 guests

cron