Сохранение 3D массива в файл

Работа с файлами и базами данных
Ответить
Аватара пользователя
Korotenko

Activity
developer
developer
Сообщения: 286
Зарегистрирован: 25 июл 2008, 10:43
Награды: 1
Версия LabVIEW: 2009
Откуда: Россия, Владивосток
Контактная информация:

Сохранение 3D массива в файл

Сообщение Korotenko »

есть 3D масссив, хочу сохранить его в файл txt, когда был 2d масссив проблем не было, а теперь 3d. только разбивать или можно как-то ещё?
вот картинка
1.gif
1.gif (4.32 КБ) 7197 просмотров
и vi
system_my.zip
(48.05 КБ) 193 скачивания
I work in LabVIEW 2009 !
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение mzu2006 »

Я правильно понял, что эта софтинка сканирует все папки в данной папке, потом все текстовые файлы извлекает из них информацию и хочет записать информацию в виде одного файла?

Вообще, это тянет на использование какой-либо базы данных. Но если по-простому, и если (как я понял)
для файла exit.txt не важно откуда (из какого конкретно файла) взялись исходные данные, то я предлагаю такое решение:
pic.gif
pic.gif (5.19 КБ) 7158 просмотров

Если количество данных каждого файла одинаково и известно, то тогда нужно завести массив через "initialize array" перед циклом, и использовать "replace array element"
Вложения
system_my.zip
(38.36 КБ) 198 скачиваний
Confocal
assistant
assistant
Сообщения: 104
Зарегистрирован: 15 авг 2008, 11:55
Версия LabVIEW: 8.5
Откуда: Россия, Московская область
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Confocal »

А Как можно сохранить в текстовый файл n-мерный массив в виде столбцов:

Wavelength (1-столбец) Intensity (2-столбец) Intensity (3-столбец) Intensity (n-столбец)

1 1 1 ... n
2 2 2 ... n
3 3 3 ... n
4 4 4 ... n
5 5 5 ... n
6 6 6 ... n

Надо ли применять базы данных?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Eugen Graf »

Это называется скорее двумерный массив, то есть обычная таблица и для этого подходит обычный Write Spreadsheet File.
Confocal
assistant
assistant
Сообщения: 104
Зарегистрирован: 15 авг 2008, 11:55
Версия LabVIEW: 8.5
Откуда: Россия, Московская область
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Confocal »

Тогда будет достаточно собрать все столбцы в цикле в ходе измерения с помощью build array?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Eugen Graf »

Думаю да, или же записывать построчно в самом цикле.
Confocal
assistant
assistant
Сообщения: 104
Зарегистрирован: 15 авг 2008, 11:55
Версия LabVIEW: 8.5
Откуда: Россия, Московская область
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Confocal »

Все работает, индексация помогла. А вот чтобы писать заголовки столбцов, нужно использовать строки или массив? т.е. походу нужен низкий файловый уровень.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Eugen Graf »

Да, тебе нужно перед использованием (и даже перед циклом) один раз открыть файл, записать туда заголовок и закрыть его.
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Konstantin Sumenko »

Если txt не обязателен, то лучше использовать TDMS или вобще streaming через write binary file.
Confocal
assistant
assistant
Сообщения: 104
Зарегистрирован: 15 авг 2008, 11:55
Версия LabVIEW: 8.5
Откуда: Россия, Московская область
Контактная информация:

Re: сохранение 3D массива в файл

Сообщение Confocal »

Crowbar писал(а):Если txt не обязателен, то лучше использовать TDMS или вобще streaming через write binary file.
Мне нужно использовать данные txt как ASCII для дальнейшей обработки, а TDMS как я понимаю не очень для этого
пригоден.
bumek
junior
junior
Сообщения: 57
Зарегистрирован: 06 май 2009, 15:54
Версия LabVIEW: 8.6
Контактная информация:

Re: Сохранение 3D массива в файл

Сообщение bumek »

так.. ворвусь я в эту тему, поскольку у меня именно надо 3-х мерный массив сохранить в каком-либо формате в файл, в каком это можно зделать - не знаю...
массив - это спектрограмма: одна ось - частота, другая ось - время и третья ось - интенсивность...
или я что-то не так понимаю? спектрограмма ведь строится из 3-х мерного массива?
в общем, я думаю, мою проблему я описал понятно...
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Сохранение 3D массива в файл

Сообщение Pavel Krivozubov »

В бинарник сохраняй. модули на той же палитре.
anda555
beginner
beginner
Сообщения: 40
Зарегистрирован: 17 янв 2009, 17:01
Версия LabVIEW: 8.5
Контактная информация:

Re: Сохранение 3D массива в файл

Сообщение anda555 »

Салют
Трехмерный массив можно представить как n-кол-во двумерных
где можно представить , что n это время
Поэтому можно писать последовательно n раз двумерные массивы.
Только их размер должен быть заранее задан, чтоб найти конец предыдущего и начало следующего
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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