Page 16 of 18

Re: Советы по программированию на LabVIEW

PostPosted: 27 Feb 2018, 13:28
by Vitekkz88
546, И?
Берёте то, что выше приведено и используете как нужно. Вон, там всякие вариации есть :-)

Re: Советы по программированию на LabVIEW

PostPosted: 16 May 2018, 19:04
by Ана Мих
Eugen Graf, Помогите пожалуйста. Нужно сделать программу по сигналу затухающей функции и в последствии добавить шум.

Re: Советы по программированию на LabVIEW

PostPosted: 17 May 2018, 08:29
by IvanLis
Ана Мих wrote:Помогите пожалуйста. Нужно сделать программу по сигналу затухающей функции и в последствии добавить шум.


С такой постановкой вопроса, у Вас как минимум сигнал этой самой функции должен быть.

Re: Советы по программированию на LabVIEW

PostPosted: 17 May 2018, 14:49
by Ана Мих
IvanLis, Сигнал на фото.

Re: Советы по программированию на LabVIEW

PostPosted: 17 May 2018, 18:08
by IvanLis
Ана Мих wrote: Сигнал на фото.

Снимок экрана от 2018-05-17 18-07-50.png

Re: Советы по программированию на LabVIEW

PostPosted: 17 May 2018, 18:42
by Ана Мих
IvanLis, Спасибо! Еще один вопрос. Необходимо из данного сигнала выделить спектр с помощью преобразования Фурье. Потом выделить амплитуду*0,707 (Amax/2 на фото показан примерный уровень), и на этом уровне найти координаты по Х с помощью курсора (точки W1 W0 W2 на фото). Чтобы при изменении этого уровня, выводились автоматически их значения.

Re: Советы по программированию на LabVIEW

PostPosted: 17 May 2018, 18:55
by IvanLis
Ана Мих wrote:IvanLis, Спасибо! Еще один вопрос. Необходимо из данного сигнала выделить спектр с помощью преобразования Фурье. Потом выделить амплитуду*0,707 (Amax/2 на фото показан примерный уровень), и на этом уровне найти координаты по Х с помощью курсора (точки W1 W0 W2 на фото). Чтобы при изменении этого уровня, выводились автоматически их значения.

Давайте дальше сами, а то как в сказке...
"... так пить хочется, что переночевать негде...."
Тем более алгоритм у Вас имеется, нужно только нужные функции взять

Re: Советы по программированию на LabVIEW

PostPosted: 08 Sep 2018, 21:51
by Taba
Всем привет! Столкнулся с проблемой при создании массива в цикле For с помощью Auto-Indexed Tunnel. Сами массивы имеют разные размеры и этот зараза Auto-Indexed Tunnel добавляет нулевые элементы массивам с меньшей размерностью, добивая каждый массив до одного и того же количества элементов.
Короче проще один раз увидеть:

Re: Советы по программированию на LabVIEW

PostPosted: 08 Sep 2018, 22:27
by Alex Dem
Проблема в том, что нужно формировать массив, а не инициализировать его в цикле на каждой итерации.

Re: Советы по программированию на LabVIEW

PostPosted: 08 Sep 2018, 23:02
by Blackman
Это как то лечится? Хотелось бы массив без нулей в конце.

Ни как :crazy: :labview: не поддерживает тип данных (структуру) массив массивов.
Можно создать массив кластеров массивов, вставив функцию Bundle перед Tunnel.

Re: Советы по программированию на LabVIEW

PostPosted: 08 Sep 2018, 23:03
by Taba
Проблема в том, что нужно формировать массив, а не инициализировать его в цикле на каждой итерации.

Я не понял :dntknw: Можно пример с картинкой? Ну или подробнее.
А я пока времени даром не терял и вроде понял что делать надо.

Хочется иметь такую возможность: объединить несколько array-ев чисел разных размеров в некую кучу и потом иметь возможность считывать из этой кучи (типа Куча index 1 = {1;3;67;-1}; Куча index 22 = {0;55} ит.д.). Вообщем видимо придётся делать типа такого: переводим каждую строчку в текст - > объединяем все тексты в массив из текстов (это и есть Куча) - > далее считывем Куча index 0 получаем текст - > и делаем обратный перевод полученного текста в строку чисел.

Re: Советы по программированию на LabVIEW

PostPosted: 09 Sep 2018, 00:36
by Taba
Ни как :crazy: :labview: не поддерживает тип данных (структуру) массив массивов.
Можно создать массив кластеров массивов, вставив функцию Bundle перед Tunnel.

Попробовал по твоему, есть проблема. Но для начала опишу конкретней что я делаю, потому что на самом деле нужен массив массивов не чисел а массив массивов пар (bundle двух чисел) чисел.
Я хочу сделать Vi для раскраски графиков по такой схеме:
1) Задаётся таблица раскраски вида {0-50 1; 51-100 2; 101-500 3} - это означает, что в дальнейшем точки с индексами X от 0 до 50 будут цвета 1, 51-100 цвета 2 ит.д.
2) В property node "Value" графика поставляется array массивов бандлов (X;Y) - каждая пара бандла (X;Y) - 1 точка; каждый массив это множество точек графика одного цвета; ну а array этих массивов - совокупность раскрашенных участков графика.

Проблема такая: раньше я кормил "Value" выходом Vi "Color graph by table". И всё работает, только из-за добивания всех элементов array до одного размера нулями (см. аттач) у многих массивов бандлов XY появлется точка с координатами (0;0), что нехорошо.

Теперь я пробую по твоему и кормлю "Value" выходом Vi "Color graph by table exp 1". И, блин, понимаешь она (property node "Value") его есть не хочет, потому, что "You have connected two terminals of different types: The type of the source is 1D array of cluster of 1 element. The type of the sink is 1D array of cluster of 1 element." - т.е. хз почему :cantbe:

Re: Советы по программированию на LabVIEW

PostPosted: 09 Sep 2018, 09:16
by zxc_pavel
Если я правильно понял...

Проблема в том, что multiplot XY graph - это:
1. 1d-массив, где элемент -
2. Кластер из 2ух элементов (x и y), где элемент -
3. 1d-МАССИВ точек


У Вас не так:
1. 1d-массив, где элемент -
2. Кластер, где элемент -
3. Массив кластеров

Re: Советы по программированию на LabVIEW

PostPosted: 09 Sep 2018, 10:25
by Blackman
Не забываем делать Unbundle :wink:

Re: Советы по программированию на LabVIEW

PostPosted: 09 Sep 2018, 11:40
by Taba
Не забываем делать Unbundle :wink:


Спасибо, работает, багов нет =)

Если я правильно понял...

Проблема в том, что multiplot XY graph - это:
1. 1d-массив, где элемент -
2. Кластер из 2ух элементов (x и y), где элемент -
3. 1d-МАССИВ точек


У Вас не так:
1. 1d-массив, где элемент -
2. Кластер, где элемент -
3. Массив кластеров


Наверное так и есть. Я Labview осваиваю методом тыка. Ткнул на одну кнопку - работает - хорошо; ткнул на другую - перестало работать - больше на неё не тыкай.

Спасибо за ответы, пока всё работает :bye: .