मैंने मैटलैब और ऑक्टेट में कई मामलों को देखा है जहां कार्य मैट्रिस और वैक्टर दोनों स्वीकार करते हैं, लेकिन मैट्रिस के साथ वैक्टर के साथ वही काम नहीं करते हैं।ऑक्टेव और मैटलैब "wat" मैट्रिक्स/वेक्टर असंगतता
यह निराशाजनक हो सकता है क्योंकि जब आप पंक्तियों/स्तंभों की एक चर संख्या के साथ एक मैट्रिक्स इनपुट करते हैं, तो इसे एक वेक्टर के रूप में व्याख्या किया जा सकता है और ऐसा कुछ ऐसा करने की अपेक्षा नहीं करता है जब ऊंचाई/चौड़ाई मुश्किल डीबगिंग के लिए 1 हो और अजीब सशर्त किनारे के मामले।
मैं कुछ मैंने पाया सूचीबद्ध करेंगे, लेकिन क्या दूसरों लोगों में
(नोट चलाने मैं उत्सुक हूँ:। मैं केवल मामलों में जहां कोड मान्य इनपुट के रूप में मैट्रिक्स को स्वीकार करता है के लिए देख रहा हूँ कुछ भी एक अपवाद जब एक गैर वेक्टर मैट्रिक्स के रूप में एक बहस में नहीं गिना जाता दिया जाता है) को जन्म देती है
1) "diag" एक मैट्रिक्स के विकर्ण मतलब या एक विकर्ण मैट्रिक्स
बाद में एक सदिश चालू करने के लिए इस्तेमाल किया जा सकता पूर्व आमतौर पर केवल स्क्वायर मैट्रिस के लिए उपयोग किया जाता है, यह मैटलैब में इतना गंभीर नहीं है, लेकिन ऑक्टेव में यह विशेष रूप से दर्दनाक हो सकता है जब ऑक्टेव एक छेड़छाड़ करता है एक अशून्य तत्व और एक "विकर्ण मैट्रिक्स" यानी के रूप में सब कुछ किसी और शून्य से ctor शुरुआत
t=eye(3);
size(diag(t(:,3))) == [3,3]
size(diag(t(:,2))) == [3,3]
size(diag(t(:,1))) == [1,1]
2) Logicals के साथ एक पंक्ति-वेक्टर में सूचीबद्ध किया जा रहा Logicals रिटर्न के साथ कुछ और में एक पंक्ति-वेक्टर
अनुक्रमण रिटर्न एक स्तंभ वेक्टर
a = 1:3;
b = true(1,3);
size(a(b)) == [1, 3]
a = [a; a];
b = [b; b];
size(a(b)) == [6, 1]
3) एक सूचकांक वेक्टर मैं एक ही (पंक्तियां/स्तंभ का एक वेक्टर रिटर्न के साथ एक वेक्टर वी में अनुक्रमण) वी के रूप में टाइप करें। लेकिन अगर या तो वी या मैं एक मैट्रिक्स है, वापसी मान मेरे जैसा ही आकार है।
a = 1:3;
b = a';
size(a(b)) == [1, 3]
b = [b,b];
size(a(b)) == [3, 2]
4) अधिकतम, न्यूनतम, योग आदि एक मैट्रिक्स एम के स्तंभों पर काम individiually जब तक एम 1xN है जो मामले में वे एक ही पंक्ति-वेक्टर
a = 1:3
size(max(a)) == [1, 1]
a = [a;a]
size(max(a)) == [1, 3]
अधिकतम के रूप में एम पर काम विशेष रूप से खराब है क्योंकि यह एक तर्क के रूप में एक आयाम भी नहीं ले सकता है (योग के विपरीत)
ऑक्टेट/मैटलैब कोड लिखते समय मुझे ऐसे अन्य मामलों को देखना चाहिए?
बस स्पष्ट करने के लिए: आप अधिकतम/न्यूनतम: 'मिनट (रैंड (3), [], 1)' या 'अधिकतम (रैंड (3), [], 2)' – Amro