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