سؤال

أحاول تطبيق مرشح Kalman قراءات الاستشعار باستخدام Java، لكن مكتبة التلاعب المصفوفة التي أستخدمها تعطيني خطأ في الفضاء.لذلك، هل يعرف أحد بمكتبة معالجة مصفوفة ل JVM مع خصائص أفضل تخصيص الذاكرة؟

يبدو أن هذا واحد - http://code.google.com / ص / كفاءة-java-matrix-library / - هو "فعال" فقط في الاسم.تحتوي مجموعة البيانات على صفوف 9424 حسب أعمدة 2، وجميع القيم مضاعفات (الطابع الزمني والبعد واحد من 3 على القراءات من جهاز استشعار).

شكرا جزيلا يا شباب!

هل كانت مفيدة؟

المحلول

1) يجب ألا يتطلب مرشح Kalman كميات هائلة وغير خطية من الذاكرة من الذاكرة: فهي تحسب فقط التقديرات بناء على قيم 2 - القيمة الأولية والقيمة السابقة. وبالتالي، يجب أن تتوقع أن يكون مقدار الذاكرة التي ستحتاج إليها تتناسب مع إجمالي نقاط البيانات. انظر: http://rsbweb.nih.gov/ij/plugins/kalman.htmlue >

2) التبديل إلى العلاية سوف 1/2 الذاكرة المطلوبة لحسابك. من المحتمل أن تكون ضئيلة في حالتك - أفترض أنه إذا تعطلت مجموعة البيانات بسبب الذاكرة، فأنت تقوم بتشغيل JVM الخاص بك مع كمية صغيرة جدا من الذاكرة أو لديك مجموعة بيانات هائلة.

3) إذا كان لديك حقا مجموعة بيانات كبيرة (> 1G)، فمن المهم، فمن المهم، يمكن إعادة صياغة المكتبة التي ذكرتها فقط لاستخدام العوامات فقط.

4) للمقارنة بين مكتبات مصفوفة Java، يمكنك الخروج http : //code.google.com/p/java-matrix-benchmarkmarkmark/wiki/memoryresults_2012_02 --- أدنى مساحة الذاكرة Libs هي ojalgo، ejml، و colt. لقد كان حظا رائعا مع COLT لحسابات واسعة النطاق - لكنني لست متأكدا من تلك التي تنفذ طريقة Kalaman.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top