Gọi A là một mảng có thứ nguyên tùy ý (2 hoặc 3 trong trường hợp của tôi). Làm thế nào tôi có thể làm phẳng (định hình lại thành 1D) mảng này mà không biết trước số thứ nguyên?Cách làm phẳng (định hình lại thành 1D) một mảng thứ nguyên tùy ý trong Labview
Nếu tôi biết số thứ nguyên, tôi có thể dễ dàng lấy tổng số phần tử (bằng cách sử dụng kết hợp chức năng "Kích thước mảng") và sau đó định lại A đến 1D bằng số này. Thật không may, chức năng "Kích thước mảng" tự trả về một mảng có số phần tử bằng với số lượng thứ nguyên, điều này đưa chúng ta trở lại vấn đề ban đầu.
Tôi đã "giải quyết" vấn đề bằng cách tạo hàm (VI) trả về tổng số phần tử của mảng 3D (loại mảng phổ biến nhất mà tôi mong muốn xử lý), để tôi có thể cung cấp một đối số cho hàm Reshape. Vấn đề: nó sẽ không chấp nhận một mảng 2D, mặc dù thuật toán sẽ làm việc với một mảng như vậy! (có vẻ như trong Labview, các điều khiển mảng rất nghiêm ngặt về số lượng các tham số mà chúng chấp nhận, chẳng hạn như trong trường hợp Matlab). Một giải pháp tốt đẹp sẽ là một cách đơn giản để nhân tất cả các yếu tố của mảng được đưa ra bởi "Kích thước mảng" để nhanh chóng có được tổng số phần tử, mà không cần phải quấn nó trong một tiểu VI. Nhìn chung, không phải là một cách đơn giản và hiệu quả để giải quyết vấn đề này? Nó nên được khá chuẩn ..
Ah, tôi đã bỏ lỡ chức năng "MultiplyArrayElements"! Đây là giải pháp đơn giản mà tôi đang tìm kiếm .. Cảm ơn bạn rất nhiều! –