से मैट्रिक्स प्रारंभिकता मैं आर्मडिलो का उपयोग करने के लिए नया हूं, और कोशिश करने/खोज करने के बावजूद निम्नलिखित नहीं मिल सका।आर्मडिलो सी ++: सरणी
दो विशाल (गतिशील) सरणी (वैक्टर नहीं) हैं जिन्हें मुझे सहसंबंध करने की आवश्यकता है। मैंने इसके लिए armadillo का उपयोग करने का संकल्प किया। मैं समझता हूं कि वेक्टर का उपयोग करके arma :: mat को कैसे प्रारंभ करें, लेकिन क्या मैं ऐसा करने के लिए सरणी का उपयोग कर सकता हूं? मैं समझ नहीं पा रहा हूं क्योंकि मुझे documentation में कोई उल्लेख नहीं दिख रहा है। मैं आंतरिक डिजाइन कारणों के लिए वैक्टरों के उपयोग से बचने की कोशिश कर रहा हूं। मैंने नमूना सरणी (एक गूंगा लेकिन प्रारंभ बिंदु के रूप में) का उपयोग करके प्रत्येक तत्व को मैन्युअल रूप से प्रारंभ करने का प्रयास किया। निम्नलिखित कोड की तरह कुछ काम नहीं करेगा।
using namespace std;
using namespace arma;
mat A(SIZE, 1), B(SIZE, 1);
for(int i = 0; i < SIZE; i++)
{
A << v[i] << endr;
B << c[i] << endr;
}
cout << "A: " << endl;
A.print();
cout << "B: " << endl;
B.print();
इनपुट सरणियों वी = के लिए {1, 2, 0, -1, .9} और ग = {0, .5, 1, -2, -5}। आउटपुट होगा:
A:
0
B:
-5.0000
जो समझ में आता है। arma :: mat या arma :: arrve के साथ colvector प्रारंभ करने के लिए चारों ओर कोई काम? अग्रिम में धन्यवाद! the armadillo doc से
:
जैसे << ऑपरेटर का उपयोग न करें जब तक आप एक ही बार में सभी तत्वों को आरंभ करने जा रहे हैं (। एक << 4 << 5 << 9)। या तो तत्वों को सेट करने के लिए लूप का उपयोग करें, या नीचे मार्टिन जे द्वारा वर्णित अधिक कुशल aux_mem कन्स्ट्रक्टर विधि का उपयोग करें। – mtall
हां, मुझे एहसास हुआ कि << ऑपरेटर रास्ता नहीं है। aux_mem काम किया। धन्यवाद! –