Действительно простой вопрос, я просто не могу обойти это визуальное программирование. У меня есть массив размером 600. Я хочу уменьшить его до размера 10, захватив число каждые 60 индексов массива. Я знаю, как это сделать на обычном языке программирования, но я не могу понять LabView. Может ли кто-нибудь пожалеть и помочь мне? Я привязался, где я нахожусь, но это печально.Уменьшить массив «разрешение» в LabView
ответ
То, что вы должны были бы быть хорошим способом сделать это, если требуется массив фиксированного размера. Это было бы важно, если вы работаете на FPGA или вам нужно уменьшить дрожание на цели RT.
Что у вас есть, это не самый простой способ сделать это. Любой простой способ будет накапливать свой новый массив с регистром сдвига, как так:
Как вы можете See-, если индекс является кратным 60, то элемент добавляется в массив. В противном случае в ложном случае массив передается через немодифицированный.
Вы должны знать, что, хотя этот метод намного проще в использовании, он иногда будет вызывать распределение памяти, чтобы увеличить размер накопленного массива. Обычно это не проблема.
Поскольку размер известно, это гораздо более эффективным, чтобы сделать что-то вроде этого:
Вы также можете настроить выходной туннель быть условным, что делает код более простым, но не так эффективно, , потому что он должен многократно выделять память. Это на самом деле не соображение, когда у вас есть массив с 10 элементов, но это может быть с большими массивами:
Если у вас возникли проблемы с чем-то вроде этого, вы можете захотеть пройти некоторые учебные пособия, книги или даже курсы.
Он не будет перераспределяться с каждым вызовом, конечно. Он будет выделяться в штырях. Мне больше нравится решение вашего массива с индексом - нет смысла запускать цикл n раз, когда вам нужно только n/60. – Sobachatina
Не совсем. В 2012 году он ведет себя точно так же, как и ваш код, который, я считаю, выделяется при каждом вызове. Я считаю, что в 2013 году он должен вести себя как автоиндексирование из цикла while, который выделяет экспоненциально. В любом случае, это деталь реализации. Я также не сказал бы, что в этом нет никакого смысла - некоторые люди могут найти код более простым, и было бы приемлемо выбрать его по более эффективному коду при определенных обстоятельствах. – Yair
Другой способ, которым вы холодны, это использовать примитив decimate 1-d array.
Какая ячейка разбита на n
массивы фиксированной длины, где первый массив содержит 0 n 2n 3n ...
Хотя это может быть немного большим для n = 60.
Это, вероятно, было бы более полезно, если бы вам понадобилось несколько массивов одинаковой длины, которые только начинались с разных позиций.
Основываясь на том, что вы описываете, вам может понадобиться сделать что-то вроде среднего значения каждого из 60 значений вместо того, чтобы произвольно захватывать каждые 60-е, таким образом, вы не показываете много дрожания, если вам удастся захватить выброс , Это может или не может иметь смысл в зависимости от вашего приложения:
рассмотреть также проверить с открытым исходным кодом OpenG toolkit. Он имеет функцию под названием «Элементы массива Index 1D» для индексирования массивов, где вы просто даете ей массив и расположение индексов желаемых данных и возвращает требуемый уменьшенный массив.Обратите внимание: если вы начнете работать с чрезвычайно большими массивами, его функции могут быть слишком медленными и/или интенсивными в памяти, но также содержат множество замечательных функций, а не только для манипулирования массивами.
Другой подход (без петель):
Я перекроить массив в 2d массив (это не будет выделять новый массив, только размеры будут изменены), то индекс из первой coloumn, чтобы получить каждый 60-й элемент.
- 1. LabVIEW инициализирует массив строк
- 2. Labview заполняет массив данными
- 3. LabView: массив фиксированного размера
- 4. Как разбить массив в Labview
- 5. Уменьшить разрешение UIImage/UIImageView
- 6. Уменьшить разрешение парика
- 7. Уменьшить разрешение видео - iPhone
- 8. Загрузка матрицы Matlab в массив Labview
- 9. Непрерывно Numbers Вставить в массив Labview
- 10. LabVIEW: преобразование числового массива в строковый массив
- 11. Уменьшить разрешение изображений DDS в папке
- 12. Как уменьшить разрешение изображения в OpenCV?
- 13. Объекты LabVIEW
- 14. LabView: логический массив на числовой блок TroubleShooting
- 15. Компонент LabView OPC UA в LabView
- 16. Как уменьшить массив в Java?
- 17. Уменьшить массив координат
- 18. Уменьшить массив кортежей
- 19. Уменьшить массив, добавив элементы
- 20. уменьшить массив над диапазонами
- 21. или уменьшить массив векторов
- 22. Уменьшить массив чисел (последовательность)
- 23. Numpy xor-уменьшить массив
- 24. Python - уменьшить, двумерный массив
- 25. как уменьшить 2d массив
- 26. Как уменьшить разрешение видео с помощью ffmpeg?
- 27. C# - Уменьшить разрешение изображения увеличить размер файла
- 28. уменьшить разрешение изображения и сохранить размеры
- 29. Как мы можем уменьшить разрешение myProcess.TotalProcessorTime?
- 30. как изменить разрешение или уменьшить размер изображения
Совет. Вам не нужно объявлять «массив» перед добавлением к нему данных. –