Пусть A - массив произвольного размера (2 или 3 в моем случае). Как я могу свернуть (изменить на 1D) этот массив, не зная заранее количество измерений?Как сгладить (изменить на 1D) массив произвольного размера в Labview
Если бы я знал количество измерений, я мог бы легко получить общее количество элементов (используя комбинацию «Размер массива»), а затем с помощью этого номера измените A до 1D. К сожалению, сама функция «Размер массива» возвращает массив, число элементов которого равно числу измерений, что возвращает нас к исходной проблеме.
Я «решил» проблему, создав функцию (VI), которая возвращает общее количество элементов 3D-массива (самый распространенный тип массивов, который я ожидаю обработать), чтобы я мог это сделать как аргумент функции Reshape. Проблема: он не примет 2D-массив, хотя алгоритм будет работать с таким массивом! (кажется, что в Labview элементы управления массивом строги относительно количества принимаемых измерений, что, например, не относится к Matlab).
Хорошим решением будет простой способ умножить все элементы массива, заданные в разделе «Размер массива», чтобы быстро получить общее количество элементов без необходимости обертывать их в дополнительный VI. В целом, нет ли простого и эффективного способа решения этой проблемы? Это должно быть довольно стандартный ..
А, мне не хватало функцию «MultiplyArrayElements»! Это простое решение, которое я искал .. Большое вам спасибо! –