मैटलैब में, लिंसोल और मालीवीड के बीच क्या अंतर हैं?


10

matlab में, दोनों linsolve और mldivide का उपयोग रेखीय समीकरणों की एक प्रणाली को हल करने के लिए किया जाता है, सभी निर्धारित, अति-निर्धारित और कमतर मामलों में।

उनके दस्तावेज़ों को पढ़ते हुए, मैं सोच रहा था कि उनके बीच क्या अंतर हैं? क्या वे तीन मामलों में मैट्रिक्स फैक्टराइजेशन और त्रिकोणीयकरण के लगभग समान एल्गोरिदम का उपयोग कर रहे हैं?

यदि A में opts के गुण हैं, तो linsolve mldivide की तुलना में तेज़ है, क्योंकि linsolve किसी भी परीक्षण को सत्यापित करने के लिए नहीं करता है कि A में निर्दिष्ट गुण हैं

क्या A विशेष गुण है, यह सत्यापित करने के लिए Mldivide समान परीक्षण करता है? या केवल विशेष गुणों के बिना उन्हें सामान्य स्थिति के रूप में मानते हैं?

धन्यवाद!

जवाबों:


16

यह दोनों रैखिक प्रणालियों (पुनरावृत्त सॉल्वर का विरोध) को हल करने के लिए प्रत्यक्ष सॉल्वर हैं।

mldivide को हल करने में लिए परीक्षण करता है । अधिक जानकारी के लिए कृपया इस धागे में एलन का उत्तर देखें। साथ ही MATLAB की एल्गोरिथ्म पर सहायता यहाँ देखें।AAx=bmldivide

mldivideवर्ग मैट्रिसेस के लिए: यदि A सममित है और वास्तविक, सकारात्मक विकर्ण तत्व हैं, तो MATLAB एक चोल्स्की फैक्टराइजेशन का प्रयास करता है। यदि चॉल्स्की फैक्टराइज़ेशन विफल हो जाता है, तो MATLAB एक सममित, अनिश्चित कारक का प्रदर्शन करता है। यदि A ऊपरी हेसनबर्ग है, तो MATLAB एक त्रिकोणीय मैट्रिक्स के लिए सिस्टम को कम करने के लिए गाऊसी उन्मूलन का उपयोग करता है। यदि A वर्ग है, लेकिन न तो त्रिकोणीय, सममित और सकारात्मक निश्चित, या हेसेनबर्ग की अनुमति है, तो MATLAB आंशिक धुरी के साथ LU कारक का उपयोग कर एक सामान्य त्रिकोणीय कारक का प्रदर्शन करता है

linsolve वर्ग मैट्रिसेस के लिए: आंशिक धुरी के साथ LU कारक

mldivideऔर linsolveआयताकार मैट्रिस के लिए: क्यूआर फैक्टराइजेशन

में linsolveके रूप में सहायता दस्तावेज़ mathworks वेबसाइट में पता चलता है, आप अतिरिक्त परीक्षण प्रक्रिया (एलन शब्द "भूमि के ऊपर" अपने जवाब में प्रयोग किया जाता) का उपयोग कर से बचने के सकता है optsयदि और केवल यदि आप जानते हैं कि क्या अग्रिम में की तरह है। बड़ी समस्याओं के लिए, आप कुछ समय बचा सकते हैं। उदाहरण के लिए:A

opts.POSDEF = true; linsolve(A,b,opts)

यदि आपको पता है कि से सकारात्मक है तो रिटर्न । हालांकि, एक गलत तरीके से चुना गया गलत परिणाम होता है।xAopts

यदि कुछ मानदंड पूरे किए जाते हैं, linsolveऔर mldivideसमान कारक प्रक्रिया का उपयोग करते हैं। उदाहरण के लिए, एक घने सकारात्मक निश्चित प्रणाली के लिए कुछ गुणों को संतुष्ट करना, या आपके पास एक अतिव्यापी प्रणाली है और दोनों कम से कम वर्ग फिटिंग का प्रदर्शन करते हैं।

इसके अलावा, प्रतीकात्मक गणनाlinsolve भी कर सकते थे । यह तब आसान होता है जब आपके पास एक छोटी-सी अल्पविकसित प्रणाली होती है जिसमें अनंत संख्या में समाधान होते हैं। आपको प्रतीकात्मक रूप से हल करने में सक्षम बनाता है, ऐसा नहीं कर सकता। हालांकि, अगर चर प्रतीकात्मक रूप से घोषित नहीं किए जाते हैं, और आपको एक ही चेतावनी संदेश देगा "मैट्रिक्स सटीक काम करने के लिए एकवचन है।"linsolvemldividemldividelinsolve

अंतिम लेकिन कम से कम, निम्न मैट्रिक्स जैसी विरल प्रणालियों का linsolveसमर्थन नहीं करता है (ब्लू डॉट का अर्थ है गैर-शून्य प्रविष्टि)। जबकि मजबूती के साथ विरल सिस्टम को संभाल सकता आकार 200k से 200k किया जा रहा है जब। mldivideविरल उदाहरण

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.