Tôi đang làm việc với thư viện Armadillo trong C++. Lúc đầu, tôi tính toán một ma trận đặc biệt (trong mã của tôi: P), sau đó tôi tính toán phân tích QR (trong mã của tôi: Q). Cuối cùng tôi cần trả về cả P và Q và một ma trận T khác cho hàm chính của tôi.trả về nhiều ma trận trong c + + (thư viện Armadillo)
#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;
double phi(int n, int q){
...
mat P(n,n);
P=...
mat Q,R;
qr(Q,R,P);
return P:
return Q;
return Q;
...
}
int main() {
...
int n,q;
cout<<"Enter the value of parameters n and q respectively:"<<endl;
cin>> n>>q;
phi(n,q);
...
}
Tôi đang tìm kiếm một phương pháp để trả lại các ma trận trong armadillo với bằng cách sử dụng con trỏ và references.Here ma trận của tôi là rất lớn và thường là 500 * 500 hoặc 1000 * 1000. Có ai có giải pháp? Cảm ơn trước
Tại sao không thay đổi chữ ký của phi để bao gồm hai con trỏ đến P và Q và vượt qua chúng từ chính? – 16tons
Tôi muốn sử dụng chức năng phi trong RCPP. Tôi không chắc nó hoạt động đúng ở đó. Nếu tôi không thể tìm thấy một giải pháp khác, tôi phải sử dụng con trỏ. – Ham82
Bạn có thể sử dụng 'std :: tuple' cùng với' std :: tie', xem http://en.cppreference.com/w/cpp/utility/tuple – Jonas