Tôi có ma trận được định nghĩa trong R. Tôi cần chuyển ma trận này sang hàm C++ và thực hiện các phép toán trong C++. Ví dụ: Trong R, xác định một ma trận,Xác định ma trận trong R và chuyển nó tới C++
A <- matrix(c(9,3,1,6),2,2,byrow=T)
PROTECT(A = AS_NUMERIC(A));
double* p_A = NUMERIC_POINTER(A);
tôi cần phải vượt qua ma trận này để một hàm C++ nơi biến 'dữ liệu' kiểu vector<vector<double>>
sẽ được khởi tạo với ma trận A.
Tôi couldn' t dường như tìm ra cách để làm điều này. Tôi đang suy nghĩ theo cách phức tạp hơn thì tôi nên, tôi cá là có một cách dễ dàng để làm điều này.
Thật là ngu ngốc khi lưu trữ ma trận dưới dạng 'vector>'; vì lợi ích của khả năng đọc tốt hơn bạn có nguy cơ phân mảnh bộ nhớ và phá vỡ tối ưu hóa liên kết. Hơn nữa, cách này bạn sao chép dữ liệu đã có trong bộ nhớ và sẵn sàng sử dụng - đây là một chi phí đáng kể! –
mbq