मैटलैब प्रोग्राम विवरण. MATLAB का संक्षिप्त विवरण

MATLAB भाषा की काफी अधिक लोकप्रियता के बावजूद, अधिकांश डेवलपर्स को इसके सिंटैक्स और क्षमताओं दोनों को समझने में कठिनाई होती है। बात यह है कि भाषा का सीधा संबंध एक लोकप्रिय सॉफ्टवेयर उत्पाद से है, जिसकी कीमत आश्चर्यजनक मूल्यों तक पहुंच सकती है। इसलिए, मुख्य प्रश्न: क्या मैटलैब भाषा सचमुच इतनी अच्छी है? और क्या यह आपके लिए उपयोगी हो सकता है?

प्रयोग

आइए इतिहास में एक मानक भ्रमण और भाषा के पेशेवरों और विपक्षों की चर्चा के साथ शुरुआत न करें, बल्कि MATLAB/Simulink सॉफ़्टवेयर वातावरण के साथ शुरू करें - एकमात्र स्थान जहां इस पाठ का नायक उपयोगी हो सकता है। जरा सोचो ग्राफ़िक्स संपादक, जिसमें आप कई वर्षों के अनुभव और प्रासंगिक शिक्षा के बिना अपने किसी भी विचार को साकार कर सकते हैं। और एक बार टूल के बीच इंटरेक्शन का आरेख बनाने के बाद, आपको बार-बार उपयोग के लिए एक उच्च गुणवत्ता वाली स्क्रिप्ट मिलेगी।

डेटा जगत में MATLAB ऐसा ही एक संपादक है। इसके अनुप्रयोग का दायरा असीम रूप से विस्तृत है: IoT, वित्त, चिकित्सा, अंतरिक्ष, स्वचालन, रोबोटिक्स, वायरलेस सिस्टम और भी बहुत कुछ। सामान्य तौर पर, डेटा एकत्र करने और विज़ुअलाइज़ करने के साथ-साथ पूर्वानुमान लगाने की लगभग असीमित संभावनाएं हैं, लेकिन केवल तभी जब आपके पास उपयुक्त पैकेज खरीदने का अवसर हो।

जहां तक ​​कीमत की बात है, तो लगभग कोई ऊपरी सीमा नहीं है, लेकिन निचली सीमा लगभग $99 है। अपेक्षाकृत कम पैसे में इतना शक्तिशाली उत्पाद प्राप्त करने के लिए, आपको एक विश्वविद्यालय का छात्र होना आवश्यक है। और निःसंदेह आपको एक सीमित उत्पाद मिलेगा।

भाषा की विशेषताएँ

MATLAB भाषा एक उपकरण है जो डेटा का विश्लेषण, संग्रह और प्रस्तुत करने के लिए सभी उपलब्ध क्षमताओं वाले एक ऑपरेटर (अक्सर एक प्रोग्रामर भी नहीं) के बीच बातचीत प्रदान करता है। इसमें एक बंद पारिस्थितिकी तंत्र में रहने वाली भाषा की स्पष्ट पक्ष और विपक्ष विशेषताएं हैं।

कमियां:

    ऑपरेटरों, आदेशों और कार्यों के साथ एक धीमी और अतिभारित भाषा, जिसका मुख्य उद्देश्य दृश्य धारणा में सुधार करना है।

    संकीर्ण रूप से केंद्रित. कोई अधिक नहीं है सॉफ्टवेयर प्लेटफार्म, जहां MATLAB उपयोगी होगा।

    सॉफ़्टवेयर की उच्च लागत. अगर आप छात्र नहीं हैं तो या तो अपनी जेब खाली करने के लिए तैयार हो जाइए या फिर कानून की सीमा लांघिए। और अगर आप छात्र हैं, तो भी कीमत उचित है।

    मांग कम होना। लगभग हर क्षेत्र में MATLAB में गहरी रुचि के बावजूद, केवल कुछ ही लोग वास्तव में और कानूनी रूप से इसका उपयोग करते हैं।

लाभ:

    भाषा सीखना आसान है और इसमें सरल और समझने योग्य वाक्यविन्यास है।

    अपार अवसर. लेकिन यह समग्र रूप से उत्पाद का एक लाभ है।

    बार-बार अद्यतनएक नियम के रूप में, वर्ष में कम से कम दो बार ध्यान देने योग्य सकारात्मक परिवर्तन होते हैं।

    सॉफ़्टवेयर वातावरण आपको इसे C, C++ में "तेज़" कोड में बदलने की अनुमति देता है।

लक्षित दर्शक

निःसंदेह, हर किसी को MATLAB की आवश्यकता नहीं है। अनुप्रयोगों की विस्तृत श्रृंखला के बावजूद, यह कल्पना करना कठिन है कि औसत एप्लिकेशन डेवलपर को इस भाषा के ज्ञान की आवश्यकता होगी। MATLAB उन क्षेत्रों में बेहद उपयोगी है जिनके लिए विशेष रूप से मजबूत डेटा प्रोसेसिंग की आवश्यकता होती है, जैसे कारों या ऑन-बोर्ड वाहनों में ऑटोपायलट सिस्टम। इलेक्ट्रॉनिक सिस्टमविमान।

यानी, यदि आप ज्यादा प्रोग्रामर नहीं हैं, लेकिन किसी न किसी तरह से आपका पेशा प्रोग्रामेटिक डेटा प्रोसेसिंग की आवश्यकता से संबंधित है, तो उपयुक्त भाषा वाला एक MATLAB/Simulink उत्पाद आपके रोजमर्रा के कार्यों को काफी सरल बना सकता है।

साहित्य

हमेशा की तरह, हम शैक्षिक साहित्य की सूची के साथ भाषा की समीक्षा समाप्त करते हैं। बेशक, उनमें से आपको विशेष रूप से भाषा पर किताबें नहीं मिलेंगी, लेकिन इससे भाषा की धारणा आसान हो जाएगी:

क्या आपके पास MATLAB के साथ अनुभव है? और क्या?

उन लोगों के लिए जो प्रोग्रामर बनना चाहते हैं -।

अधिकांश अन्य प्रोग्रामिंग भाषाओं की तरह, मैटलैब गणितीय अभिव्यक्तियों का उपयोग करने की क्षमता प्रदान करता है, लेकिन उनमें से कई के विपरीत, मैटलैब में इन अभिव्यक्तियों में मैट्रिक्स शामिल हैं। अभिव्यक्ति के मुख्य घटक:

चर;

संचालक;

कार्य.

चर. मैटलैब में वेरिएबल प्रकार या आयाम को परिभाषित करने की कोई आवश्यकता नहीं है। जब मैटलैब को एक नया वेरिएबल नाम मिलता है, तो यह स्वचालित रूप से वेरिएबल बनाता है और उचित मात्रा में मेमोरी आवंटित करता है। यदि वेरिएबल पहले से मौजूद है, तो मैटलैब इसकी संरचना को संशोधित करता है और यदि आवश्यक हो तो अतिरिक्त मेमोरी आवंटित करता है। उदाहरण के लिए,

संख्या_ छात्र = 25

नामक 1x1 मैट्रिक्स बनाता है संख्या_ छात्रऔर मान 25 को इसके एकमात्र तत्व में संग्रहीत करता है।

परिवर्तनीय नामों में अक्षर, संख्याएँ या अंडरस्कोर होते हैं। मैटलैब वेरिएबल नाम के केवल पहले 31 वर्णों का उपयोग करता है। मैटलैब केस सेंसिटिव है, यह अपरकेस और लोअरकेस अक्षरों के बीच अंतर करता है। इसीलिए और - समान चर नहीं. किसी वेरिएबल से जुड़े मैट्रिक्स को देखने के लिए, बस वेरिएबल नाम दर्ज करें।

संख्याएँ।मैटलैब पारंपरिक दशमलव संख्या प्रणाली का उपयोग करता है, जिसमें संख्याओं के लिए वैकल्पिक दशमलव बिंदु और प्लस/माइनस चिह्न होते हैं। वैज्ञानिक संख्या प्रणाली अक्षर का उपयोग करती है दस की घात का गुणक निर्धारित करने के लिए। काल्पनिक संख्याओं का प्रयोग किया जाता है मैंया जेप्रत्यय के रूप में. सही संख्याओं के कुछ उदाहरण नीचे दिए गए हैं:

सभी नंबर प्रारूप का उपयोग करके संग्रहीत किए जाते हैं लंबा, ये सीमित परिशुद्धता वाले फ़्लोटिंग पॉइंट नंबर हैं - लगभग 16 महत्वपूर्ण अंक और एक सीमित सीमा - लगभग 10 -308 से 10,308 तक।

संचालक।अभिव्यक्तियाँ सामान्य अंकगणितीय संक्रियाओं और पूर्वता नियमों (तालिका 1) का उपयोग करती हैं।

तालिका नंबर एक

मैटलैब पैकेज के अंकगणितीय संचालन

कार्य.मैटलैब बड़ी संख्या में बुनियादी जानकारी प्रदान करता है गणितीय कार्य, जैसे कि पेट, sqrt, ऍक्स्प, पाप. किसी ऋणात्मक संख्या के वर्गमूल या लघुगणक की गणना करना कोई त्रुटि नहीं है: इस मामले में, परिणाम संबंधित जटिल संख्या है। मैटलैब गामा और बेसेल फ़ंक्शन सहित अधिक जटिल फ़ंक्शन भी प्रदान करता है। इनमें से अधिकांश कार्यों में जटिल तर्क होते हैं। सभी प्रारंभिक गणित कार्यों को सूचीबद्ध करने के लिए, टाइप करें:

मददएल्फन

डेटा विश्लेषण के लिए सभी मैटलैब फ़ंक्शंस की सूची देखने के लिए:

मददdatafun

अगर आपको इसके बारे में जानना है आंकड़ेउपकरण बॉक्स, प्रवेश करना:

मददआँकड़े

प्राथमिक कार्यों की सूची तालिका में प्रस्तुत की गई है। 2.

तालिका 2

मैटलैब पैकेज के प्राथमिक कार्य

किसी संख्या का उसके आधार से लघुगणक:.

अधिक जटिल गणित और मैट्रिक्स फ़ंक्शंस प्रदर्शित करने के लिए, टाइप करें:

मददspecfun

मददएल्मत

क्रमश।

कुछ विशेषताएं जैसे sqrtऔर पाप, - निर्मित में वे मैटलैब का हिस्सा हैं, इसलिए वे बहुत कुशल हैं, लेकिन उनके कम्प्यूटेशनल विवरण तक पहुंचना मुश्किल है। जबकि अन्य फीचर्स जैसे गामाऔर सिंह, एम-फ़ाइलों में लागू किया गया। इसलिए, आप उनका कोड देख सकते हैं और यदि आवश्यक हो, तो उसे संशोधित भी कर सकते हैं।

कुछ विशेष कार्यअक्सर उपयोग किए जाने वाले स्थिरांक के मान प्रदान करें:

अनंत तब घटित होता है जब शून्य से विभाजित किया जाता है या गणितीय अभिव्यक्ति निष्पादित करते समय जिसके परिणामस्वरूप अतिप्रवाह होता है, यानी, अधिक रियलमैक्स. कोई संख्या नहीं ( नेन) 0/0 या जैसे भावों का मूल्यांकन करते समय उत्पन्न होता है इंफ/ इंफ, जिसका कोई विशिष्ट गणितीय अर्थ नहीं है।

फ़ंक्शन नाम आरक्षित नहीं हैं, इसलिए उनके मानों को नए में बदलना संभव है, उदाहरण के लिए:

ईपीएस = 1. -6

स्पष्टईपीएस

संबंधपरक संकारकदो मात्राओं, सदिशों या आव्यूहों की तुलना करने के लिए, सभी संबंधपरक संचालकों की दो तुलनात्मक मात्राएँ होती हैं और उन्हें तालिका में दिखाए अनुसार लिखा जाता है। 3.

नाम बदल दिए गए हैं, सभी मैच यादृच्छिक हैं।

प्रस्ताव

मैं तुरंत कहना चाहूँगा कि MATLAB एक उत्कृष्ट उपकरण है। एक महान उपकरण जिसका हमने दुरुपयोग किया।

हमारी कंपनी पर एक नजर डालें. हमारी गतिविधि का क्षेत्र उद्योग के लिए सॉफ्टवेयर विकास और भी बहुत कुछ है। कंपनी लगभग 100 लोगों को रोजगार देती है, और मैं इस कंपनी में एल्गोरिदम विकसित करने वाले कर्मचारियों में से एक हूं। हमारे पास एक फ्लैगशिप उत्पाद भी है जो मुख्य लाभ लाता है।

प्रमुख उत्पाद एक व्यावसायिक अनुप्रयोग है। इसके कई रूप और रिपोर्ट हैं, इसका अपना डेटाबेस और कंप्यूटिंग कोर है। कंप्यूटिंग कोर को मूल कोड का उपयोग किए बिना C# में लिखा गया है। यह निर्णय डेवलपर्स द्वारा जानबूझकर किया गया था। Parallel.For बहुत लुभावना था, लेकिन हर कोई C++ को एक बुरे सपने की तरह भूलना चाहता था।



वास्तविकता, जैसा कि अक्सर होता है, हमारी इच्छाओं को नहीं सुनती और C# की गति जल्द ही अपर्याप्त हो गई। एक और समस्या यह है कि, जैसा कि यह निकला, प्रोग्रामर, चाहे वे कितना भी अच्छा कोड लिखें, उन्हें रैखिक बीजगणित की बहुत कम समझ होती है।

तभी हमारे मुख्य एल्गोरिथमिस्ट को एक विचार आया। इस विचार का विवरण और इससे क्या निकला, यही इस लेख का सार है।

विचार

विचार सरल था. एक स्मार्ट प्रोग्रामर को वेतन देने के बजाय (जो C# में अच्छा कोड लिखने में सक्षम होगा और हमारे "मटन" की जटिलताओं को समझेगा, और ऐसा ढूंढना आसान नहीं है), आप दो "आधे-स्मार्ट प्रोग्रामर" को काम पर रख सकते हैं। पहला MATLAB में प्रोटोटाइप लिखेगा, दूसरा समाधान C# में स्थानांतरित करेगा।
इस मामले में MATLAB को एल्गोरिथम के दस्तावेज़ीकरण के लिए एक उपकरण के रूप में प्रस्तुत किया गया था। इस समाधान के निम्नलिखित लाभ थे:

  • MATLAB एक सरल भाषा है जिसे एक अनुभवी प्रोग्रामर 1 दिन में सीख सकता है
  • सभी गणितज्ञ MATLAB में लिखते हैं

यह ध्यान देने योग्य है कि पहले मैथकैड, यूएमएल आरेख और यहां तक ​​कि केवल कागज की एक शीट का उपयोग एल्गोरिदम को दस्तावेज करने के लिए किया जाता था।

उन्होंने इस विचार पर बहस की, इसे स्वीकार नहीं किया गया। लेकिन अंत में, मुख्य एल्गोरिथमिस्ट ने सभी को आश्वस्त किया, और मैटलैब में लिखने वाले एल्गोरिथमिस्टों की एक टीम बनाई गई। मैं भी इस टीम में शामिल हुआ. हमारी टीम में डेवलपर्स में से एक प्रोग्रामर भी शामिल था, जिसे बिना सोचे-समझे हमारे मैटलैब अभ्यासों को C# में स्थानांतरित करना चाहिए।

मैंने नोट किया है कि इस विचार को त्यागने के प्रस्तावों के अलावा, कम से कम पायथन+नम्पी का उपयोग करने का भी प्रस्ताव था। यदि केवल इस कारण से कि किसी को भी MATLAB में विकास करने का कोई महत्वपूर्ण अनुभव नहीं था (मैं पायथन और R में लिखता था, बाकी गणितज्ञ और इंजीनियर थे जो MATLAB को एक उन्नत कैलकुलेटर के रूप में उपयोग करते थे)। जैसा कि आप समझ सकते हैं, प्रस्तावों को अस्वीकार कर दिया गया।

एक साल बीत गया...

एक वर्ष बीत चुका है और अब हम कुछ निष्कर्ष निकाल सकते हैं:

  • गणितज्ञ कोड लिखना नहीं जानते। और वे स्वयं अपनी कलम से निकलने वाले नूडल्स का पता नहीं लगा सकते। कोई विशिष्ट ज्ञान, कोई अनुभव, कोई प्रोग्रामिंग संस्कृति नहीं है
  • चूँकि हमने आरेख और मैथकैड को छोड़ दिया, हम अपने MATLAB कार्यक्रमों के लिए वास्तविक डेटा स्रोतों का उपयोग करना चाहते थे। परिणामस्वरूप, हमने मैटलैब पर फ्लैगशिप उत्पाद की कार्यक्षमता के हिस्से की नकल करने में बहुत समय बिताया
  • जब हम प्रोग्रामिंग कर रहे थे, तो वास्तविक पर काम करने का समय नहीं था कलन विधिबहुत कम बचा था
  • MATLAB बड़े प्रोग्राम विकसित करने के लिए उपयुक्त नहीं है। कम से कम यह हमें तो शोभा नहीं देता. गतिशील कमजोर टाइपिंग, धीमी लूप, बहुत, बहुत धीमी ओओपी (इतनी अधिक कि मुझे ओओपी का उपयोग आंशिक रूप से छोड़ना पड़ा), विरल मैट्रिक्स के लिए अधूरा समर्थन
  • MATLAB से C# में कोड पोर्ट करना आसान नहीं है। रीफैक्टरिंग और अनुकूलन को बैकपोर्ट करना और भी कठिन है
परिणामस्वरूप, हम पहले से अनुमान नहीं लगा सकते कि किसी विशेष सुविधा को लागू करने में कितना समय लगेगा। एक सप्ताह या शायद एक महीना?

निष्कर्ष के बजाय

लेख की शुरुआत में ही मैंने थोड़ा झूठ बोला, क्योंकि... कहानी आज भी जारी है. हम MATLAB में लिखना जारी रखते हैं, हमारा कोड C# में स्थानांतरित होता रहता है। हालाँकि अब हर कोई इस बात से सहमत है कि चीफ एल्गोरिथमिस्ट के विचार में खामियाँ हैं। लेकिन कुछ भी बदलने के लिए बहुत देर हो चुकी है।

इस बीच, वे MATLAB से C++ तक समाधानों की अतिरिक्त रीकोडिंग के बारे में बात करना शुरू कर रहे हैं...

    पैकेज की मुख्य विशेषताएंमतलब

    पैकेज टूल सेटमतलब

    पैकेज की संरचना और कार्यशील खिड़कियाँमतलब

    टीम मोड में काम करना

    प्रोग्रामिंग भाषा के मूल तत्वमतलब

1. मैटलैब पैकेज की मुख्य विशेषताएं

मतलब("मैट्रिक्स लेबोरेटरी" का संक्षिप्त रूप) तकनीकी कंप्यूटिंग समस्याओं को हल करने के लिए एप्लिकेशन प्रोग्राम का एक पैकेज है और इस पैकेज में उसी नाम की प्रोग्रामिंग भाषा का उपयोग किया जाता है। MATLAB का उपयोग 1,000,000 से अधिक इंजीनियरों और वैज्ञानिकों द्वारा किया जाता है और यह लिनक्स, मैक ओएस, सोलारिस (सोलारिस अब R2010b के रूप में समर्थित नहीं है) सहित अधिकांश आधुनिक ऑपरेटिंग सिस्टम पर चलता है, और माइक्रोसॉफ़्ट विंडोज़.

कहानी।एक प्रोग्रामिंग भाषा के रूप में MATLAB को क्लेव मोलर द्वारा 1970 के दशक के अंत में विकसित किया गया था जब वह न्यू मैक्सिको विश्वविद्यालय में कंप्यूटर विज्ञान विभाग के डीन थे। विकास का लक्ष्य संकाय के छात्रों को फोरट्रान का अध्ययन करने की आवश्यकता के बिना लिनपैक और ईआईएसपैक सॉफ्टवेयर लाइब्रेरी का उपयोग करने का अवसर देना था। नई भाषा जल्द ही अन्य विश्वविद्यालयों में फैल गई और व्यावहारिक गणित के क्षेत्र में काम करने वाले वैज्ञानिकों ने इसे बड़ी रुचि के साथ स्वीकार किया। फोरट्रान में लिखा गया 1982 संस्करण, जो खुले स्रोत के रूप में वितरित है, अभी भी इंटरनेट पर पाया जा सकता है। इंजीनियर जॉन एन. (जैक) लिटिल को 1983 में क्लेव माउलर की स्टैनफोर्ड यूनिवर्सिटी की यात्रा के दौरान भाषा से परिचित कराया गया था। यह महसूस करते हुए कि नई भाषा में बड़ी व्यावसायिक क्षमता है, उन्होंने क्लेव माउलर और स्टीव बैंगर्ट के साथ मिलकर काम किया। दोनों ने मिलकर MATLAB को C में फिर से लिखा और 1984 में द मैथवर्क्स कंपनी की स्थापना की इससे आगे का विकास. C में पुनः लिखे गए ये पुस्तकालय लंबे समय तक JACKPAC नाम से जाने जाते थे। MATLAB मूल रूप से नियंत्रण प्रणाली डिजाइन (जॉन लिटिल की विशेषता) के लिए बनाया गया था, लेकिन इसने कई अन्य वैज्ञानिक और इंजीनियरिंग क्षेत्रों में तेजी से लोकप्रियता हासिल की। इसका उपयोग शिक्षा में भी व्यापक रूप से किया गया है, विशेष रूप से रैखिक बीजगणित और संख्यात्मक तरीकों को पढ़ाने के लिए।

MATLAB भाषा का विवरण. MATLAB भाषा उच्च स्तरीय है प्रोग्रामिंग भाषा की व्याख्या की, जिनमें वे भी शामिल हैं जो पर आधारित हैं मैट्रिक्सडेटा संरचनाएं, कार्यों की एक विस्तृत श्रृंखला, एक एकीकृत विकास वातावरण, ऑब्जेक्ट-ओरिएंटेड क्षमताएं और अन्य प्रोग्रामिंग भाषाओं में लिखे गए प्रोग्रामों के लिए इंटरफेस।

MATLAB में लिखे गए प्रोग्राम दो प्रकार के होते हैं - कार्यऔर लिपियों.

फ़ंक्शंस में इनपुट और आउटपुट तर्क होते हैं, साथ ही मध्यवर्ती गणना परिणामों और चर को संग्रहीत करने के लिए उनका अपना कार्यक्षेत्र भी होता है।

स्क्रिप्ट एक सामान्य कार्यक्षेत्र का उपयोग करती हैं। स्क्रिप्ट और फ़ंक्शंस दोनों को मशीन कोड में संकलित नहीं किया जाता है और टेक्स्ट फ़ाइलों के रूप में सहेजा जाता है।

तथाकथित बचत करना भी संभव है पूर्व पार्सप्रोग्राम - फ़ंक्शंस और स्क्रिप्ट को मशीन निष्पादन के लिए सुविधाजनक रूप में संसाधित किया जाता है। सामान्य तौर पर, ऐसे प्रोग्राम नियमित प्रोग्रामों की तुलना में तेज़ी से चलते हैं, खासकर यदि फ़ंक्शन में ग्राफ़िंग कमांड शामिल हों।

MATLAB भाषा की मुख्य विशेषता मैट्रिक्स के साथ काम करने की इसकी व्यापक क्षमता है, जिसे भाषा के रचनाकारों ने "वेक्टरियल तरीके से सोचें" नारे में व्यक्त किया है। सोचना वेक्टरकृत).

MATLAB का अनुप्रयोग.

गणित और गणना. MATLAB उपयोगकर्ता को डेटा विश्लेषण के लिए बड़ी संख्या में (कई सौ) फ़ंक्शन प्रदान करता है, विशेष रूप से गणित के लगभग सभी क्षेत्रों को कवर करता है:

    मैट्रिक्स और रैखिक बीजगणित - मैट्रिक्स बीजगणित, रैखिक समीकरण, eigenvalues ​​​​और वैक्टर, विलक्षणताएं, मैट्रिक्स गुणनखंडन और अन्य।

    बहुपद और प्रक्षेप - बहुपद की जड़ें, बहुपद पर संक्रियाएं और उनका विभेदन, वक्रों का प्रक्षेप और बहिर्वेशन और अन्य।

    गणितीय आँकड़े और डेटा विश्लेषण - सांख्यिकीय कार्य, सांख्यिकीय प्रतिगमन, डिजिटल फ़िल्टरिंग, तेज़ फूरियर रूपांतरण और अन्य।

    डेटा प्रोसेसिंग - विशेष कार्यों का एक सेट, जिसमें प्लॉटिंग, अनुकूलन, शून्य खोज, संख्यात्मक एकीकरण (चतुर्भुज में) और अन्य शामिल हैं।

    विभेदक समीकरण - विभेदक और विभेदक-बीजगणितीय समीकरणों को हल करना, विलंबित विभेदक समीकरण, बाधित समीकरण, आंशिक अंतर समीकरण और अन्य।

    स्पार्स मैट्रिसेस MATLAB पैकेज का एक विशेष डेटा वर्ग है जिसका उपयोग विशेष अनुप्रयोगों में किया जाता है।

    पूर्णांक अंकगणित - MATLAB में पूर्णांक अंकगणितीय संचालन करना।

एल्गोरिदम का विकास. MATLAB ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग अवधारणाओं का उपयोग करके उच्च-स्तरीय सहित एल्गोरिदम विकसित करने के लिए सुविधाजनक उपकरण प्रदान करता है। इसमें डिबगर और प्रोफाइलर सहित एकीकृत विकास वातावरण के सभी आवश्यक उपकरण हैं। संपूर्ण डेटा प्रकारों के साथ काम करने के फ़ंक्शन माइक्रोकंट्रोलर और जहां आवश्यक हो वहां अन्य अनुप्रयोगों के लिए एल्गोरिदम बनाना आसान बनाते हैं।

डेटा विज़ुअलाइज़ेशन। MATLAB पैकेज में ग्राफ़ बनाने के लिए बड़ी संख्या में फ़ंक्शन हैं, जिनमें त्रि-आयामी, दृश्य डेटा विश्लेषण और एनिमेटेड वीडियो बनाना शामिल है।

एम्बेडेड विकास वातावरण आपको बटन, इनपुट फ़ील्ड और अन्य जैसे विभिन्न नियंत्रणों के साथ ग्राफिकल यूजर इंटरफेस बनाने की अनुमति देता है।

स्वतंत्र अनुप्रयोग. MATLAB प्रोग्राम, कंसोल और GUI दोनों, घटकों का उपयोग करके संकलित किए जा सकते हैं मैटलैब कंपाइलर MATLAB-स्वतंत्र निष्पादन योग्य अनुप्रयोगों या गतिशील पुस्तकालयों में, जिन्हें, हालांकि, अन्य कंप्यूटरों पर चलाने के लिए एक स्वतंत्र रूप से पुनर्वितरण योग्य वातावरण की स्थापना की आवश्यकता होती है MATLAB कंपाइलर रनटाइम(एमसीआर)।

बाहरी इंटरफ़ेस. MATLAB में कंपोनेंट ऑब्जेक्ट मॉडल या डायनेमिक डेटा एक्सचेंज प्रौद्योगिकियों के माध्यम से संचार करने वाले अन्य प्रोग्रामिंग भाषाओं, डेटा, क्लाइंट और सर्वर और MATLAB के साथ सीधे संचार करने वाले परिधीय उपकरणों तक पहुंचने के लिए विभिन्न इंटरफेस शामिल हैं। इनमें से कई क्षमताओं को MATLAB API के रूप में जाना जाता है।

कॉम. MATLAB उन फ़ंक्शंस तक पहुंच प्रदान करता है जो आपको COM ऑब्जेक्ट (क्लाइंट और सर्वर दोनों) बनाने, हेरफेर करने और हटाने की अनुमति देते हैं। ActiveX तकनीक भी समर्थित है। सभी COM ऑब्जेक्ट MATLAB पैकेज के एक विशेष COM वर्ग से संबंधित हैं। वे सभी प्रोग्राम जिनमें स्वचालन नियंत्रक फ़ंक्शन हैं (अंग्रेज़ी) स्वचालन नियंत्रक) MATLAB को ऑटोमेशन सर्वर के रूप में एक्सेस कर सकता है। स्वचालन सर्वर).

।जाल।माइक्रोसॉफ्ट विंडोज़ पर MATLAB .NET फ्रेमवर्क तक पहुंच प्रदान करता है। MATLAB वातावरण से .NET असेंबली को लोड करना और .NET क्लास ऑब्जेक्ट के साथ काम करना संभव है। MATLAB संस्करण 7.11 (R2010b) .NET फ्रेमवर्क संस्करण 2.0, 3.0, 3.5 और 4.0 का समर्थन करता है।

डीडीई. MATLAB में ऐसे फ़ंक्शन शामिल हैं जो इसे अन्य विंडोज़ अनुप्रयोगों तक पहुंचने की अनुमति देते हैं, और उन अनुप्रयोगों को डायनेमिक डेटा एक्सचेंज (DDE) तकनीक के माध्यम से MATLAB डेटा तक पहुंचने की अनुमति देते हैं। प्रत्येक एप्लिकेशन जो DDE सर्वर हो सकता है उसका अपना विशिष्ट पहचान नाम होता है। MATLAB के लिए यह नाम है - मतलब.

वेब सेवाएं। MATLAB में, वेब सेवा विधियों को कॉल करना संभव है। कस्टम फ़ंक्शन वेब सेवा एपीआई विधियों के आधार पर एक क्लास बनाता है।

MATLAB वेब सेवा क्लाइंट से संदेश स्वीकार करके, उन्हें संसाधित करके और प्रतिक्रिया भेजकर उसके साथ इंटरैक्ट करता है। निम्नलिखित प्रौद्योगिकियाँ समर्थित हैं: सिंपल ऑब्जेक्ट एक्सेस प्रोटोकॉल (SOAP) और वेब सर्विसेज डिस्क्रिप्शन लैंग्वेज (WSDL)।

कॉम पोर्ट. MATLAB का सीरियल पोर्ट इंटरफ़ेस मॉडेम, प्रिंटर और वैज्ञानिक उपकरण जैसे परिधीय उपकरणों तक सीधी पहुंच प्रदान करता है जो एक सीरियल पोर्ट (COM पोर्ट) के माध्यम से कंप्यूटर से जुड़ते हैं। इंटरफ़ेस सीरियल पोर्ट के लिए एक विशेष क्लास ऑब्जेक्ट बनाकर काम करता है। इस वर्ग की उपलब्ध विधियाँ आपको सीरियल पोर्ट पर डेटा पढ़ने और लिखने, ईवेंट और ईवेंट हैंडलर का उपयोग करने और वास्तविक समय में कंप्यूटर डिस्क पर जानकारी लिखने की अनुमति देती हैं। प्रयोगों का संचालन करते समय, वास्तविक समय प्रणालियों का अनुकरण करते समय और अन्य अनुप्रयोगों के लिए यह आवश्यक है।

एमईएक्स फ़ाइलें। MATLAB पैकेज में C और फोरट्रान में लिखे गए बाहरी अनुप्रयोगों के साथ इंटरैक्ट करने के लिए एक इंटरफ़ेस शामिल है। यह इंटरैक्शन MEX फ़ाइलों के माध्यम से किया जाता है। MATLAB से C या फोरट्रान में लिखे गए रूटीन को कॉल करना संभव है जैसे कि वे पैकेज के अंतर्निहित फ़ंक्शन थे। एमईएक्स फ़ाइलें गतिशील लिंक लाइब्रेरी हैं जिन्हें MATLAB में निर्मित दुभाषिया द्वारा लोड और निष्पादित किया जा सकता है। MEX प्रक्रियाओं में अंतर्निहित MATLAB कमांड को कॉल करने की क्षमता भी होती है।

डीएलएल. MATLAB जेनेरिक DLL इंटरफ़ेस आपको MATLAB से सीधे सामान्य डायनेमिक लिंक लाइब्रेरी में पाए जाने वाले फ़ंक्शन को कॉल करने की अनुमति देता है। इन फ़ंक्शंस में C इंटरफ़ेस होना चाहिए।

इसके अलावा, MATLAB में C इंटरफ़ेस के माध्यम से अपने अंतर्निहित कार्यों तक पहुंचने की क्षमता है, जो पैकेज के कार्यों को C में लिखे बाहरी अनुप्रयोगों में उपयोग करने की अनुमति देता है। MATLAB में इस तकनीक को कहा जाता है सी इंजन.

वैकल्पिक पैकेज. संख्यात्मक विश्लेषण समस्याओं को हल करने के लिए बड़ी संख्या में सॉफ्टवेयर पैकेज हैं। इनमें से कई पैकेज मुफ़्त सॉफ़्टवेयर हैं।

प्रोग्रामिंग भाषा स्तर पर MATLAB के साथ संगत:

कार्यक्षमता में समान:

    एपीएल और उसके वंशज: उदाहरण के लिए जे

    Python, जब Python(x,y) सॉफ़्टवेयर पैकेज के साथ-साथ NumPy, SciPy, और matplotlib जैसी लाइब्रेरीज़ के साथ उपयोग किया जाता है, तो समान क्षमताओं को लागू करता है।

    आईडीएल(अंग्रेजी) इंटरएक्टिव डेटा भाषा, इंटरैक्टिव भाषा डेटा विवरण), जो कभी MATLAB का वाणिज्यिक प्रतिस्पर्धी था, अब कई अनुप्रयोग क्षेत्रों में एक गंभीर प्रतिस्पर्धी बना हुआ है, हालांकि संख्यात्मक विश्लेषण सॉफ्टवेयर में इसकी बाजार हिस्सेदारी में तेजी से गिरावट आई है।

    फोर्ट्रेस, सन माइक्रोसिस्टम्स द्वारा बनाई गई एक प्रोग्रामिंग भाषा, फोरट्रान की वंशज है, लेकिन इसके साथ संगत नहीं है।

    यदि संख्यात्मक विश्लेषण के लिए बड़ी परियोजनाएं विकसित करना आवश्यक है, तो सामान्य प्रयोजन प्रोग्रामिंग भाषाओं का उपयोग करना संभव है जो स्थिर टाइपिंग और मॉड्यूलर संरचना का समर्थन करते हैं। उदाहरणों में मॉड्यूला-3, हास्केल, एडा, जावा शामिल हैं। इस मामले में, वैज्ञानिक और इंजीनियरिंग वातावरण में ज्ञात विशेष पुस्तकालयों का उपयोग करने की अनुशंसा की जाती है।

2. मैटलैब टूलबॉक्स

मैटलैब में, कार्यक्रमों के विशेष समूहों को एक महत्वपूर्ण भूमिका दी जाती है जिन्हें कहा जाता है टूलबॉक्स. टूलबॉक्स एक विशिष्ट वर्ग की समस्याओं को हल करने के लिए MATLAB में लिखे गए फ़ंक्शंस (एम-फ़ाइलें) का एक व्यापक संग्रह है। मैथवर्क्स टूलकिट प्रदान करता है जिनका उपयोग निम्नलिखित सहित कई क्षेत्रों में किया जाता है:

    डिजिटल सिग्नल, छवि और डेटा प्रोसेसिंग: डीएसपी टूलबॉक्स, इमेज प्रोसेसिंग टूलबॉक्स, वेवलेट टूलबॉक्स, संचार टूलबॉक्स, फ़िल्टर डिज़ाइन टूलबॉक्स- कार्यों के सेट जो सिग्नल और छवि प्रसंस्करण, डिजिटल फिल्टर और संचार प्रणालियों के डिजाइन की समस्याओं की एक विस्तृत श्रृंखला को हल करने की अनुमति देते हैं।

    नियंत्रण प्रणाली: नियंत्रण प्रणाली टूलबॉक्स, µ-विश्लेषण और संश्लेषण टूलबॉक्स, मजबूत नियंत्रण टूलबॉक्स, सिस्टम पहचान टूलबॉक्स, एलएमआई नियंत्रण टूलबॉक्स, मॉडल पूर्वानुमान नियंत्रण टूलबॉक्स, मॉडल-आधारित अंशांकन टूलबॉक्स- कार्यों के सेट जो गतिशील प्रणालियों के विश्लेषण और संश्लेषण, डिजाइन, मॉडलिंग और नियंत्रण प्रणालियों की पहचान की सुविधा प्रदान करते हैं, जिसमें आधुनिक नियंत्रण एल्गोरिदम, जैसे कि मजबूत नियंत्रण, एच∞-नियंत्रण, एलएमएन-संश्लेषण, µ-संश्लेषण और अन्य शामिल हैं।

    वित्तीय विश्लेषण: गार्च टूलबॉक्स, निश्चित-आय टूलबॉक्स, वित्तीय समय श्रृंखला टूलबॉक्स, वित्तीय डेरिवेटिव टूलबॉक्स, वित्तीय टूलबॉक्स, डेटाफीड टूलबॉक्स- कार्यों के सेट जो आपको विभिन्न वित्तीय जानकारी को जल्दी और कुशलता से एकत्र करने, संसाधित करने और प्रसारित करने की अनुमति देते हैं।

    त्रि-आयामी सहित भौगोलिक मानचित्रों का विश्लेषण और संश्लेषण: मैपिंग टूलबॉक्स.

    प्रायोगिक डेटा का संग्रह और विश्लेषण: डेटा अधिग्रहण टूलबॉक्स, छवि अधिग्रहण टूलबॉक्स, उपकरण नियंत्रण टूलबॉक्स, कोड कंपोजर स्टूडियो के लिए लिंक- फ़ंक्शंस के सेट जो आपको वास्तविक समय सहित प्रयोगों के दौरान प्राप्त डेटा को सहेजने और संसाधित करने की अनुमति देते हैं। वैज्ञानिक और इंजीनियरिंग माप उपकरणों की एक विस्तृत श्रृंखला समर्थित है।

    डेटा का विज़ुअलाइज़ेशन और प्रस्तुति: आभासी वास्तविकता टूलबॉक्स- आपको आभासी वास्तविकता प्रौद्योगिकियों और वीआरएमएल भाषा का उपयोग करके इंटरैक्टिव दुनिया बनाने और वैज्ञानिक जानकारी की कल्पना करने की अनुमति देता है।

    विकास उपकरण: COM के लिए MATLAB बिल्डर, एक्सेल के लिए MATLAB बिल्डर, नेट के लिए मैटलैब बिल्डर, मैटलैब कंपाइलर, फ़िल्टर डिज़ाइन एचडीएल कोडर- फ़ंक्शंस के सेट जो आपको MATLAB वातावरण से स्वतंत्र एप्लिकेशन बनाने की अनुमति देते हैं।

    बाह्य के साथ अंतःक्रिया सॉफ्टवेयर उत्पाद : MATLAB रिपोर्ट जेनरेटर, एक्सेल लिंक, डेटाबेस टूलबॉक्स, मैटलैब वेब सर्वर, मॉडलसिम के लिए लिंक- फ़ंक्शंस के सेट जो आपको डेटा को इस तरह से सहेजने की अनुमति देते हैं कि अन्य प्रोग्राम इसके साथ काम कर सकें।

    डेटाबेस: डेटाबेस टूलबॉक्स- डेटाबेस के साथ काम करने के लिए उपकरण।

    विज्ञान और गणित पैक: जैव सूचना विज्ञान टूलबॉक्स, कर्व फिटिंग टूलबॉक्स, फिक्स्ड-प्वाइंट टूलबॉक्स, फ़ज़ी लॉजिक टूलबॉक्स, जेनेटिक एल्गोरिथम और डायरेक्ट सर्च टूलबॉक्स, ओपीसी टूलबॉक्स, अनुकूलन टूलबॉक्स, आंशिक विभेदक समीकरण टूलबॉक्स, तख़्ता टूलबॉक्स, सांख्यिकी टूलबॉक्स, आरएफ टूलबॉक्स- विशेष गणितीय कार्यों के सेट जो आनुवंशिक एल्गोरिदम के विकास, आंशिक व्युत्पन्न समस्याओं, पूर्णांक समस्याओं, सिस्टम अनुकूलन और अन्य सहित वैज्ञानिक और इंजीनियरिंग समस्याओं की एक विस्तृत श्रृंखला को हल करने की अनुमति देते हैं।

    तंत्रिका - तंत्र: न्यूरल नेटवर्क टूलबॉक्स- तंत्रिका नेटवर्क के संश्लेषण और विश्लेषण के लिए उपकरण।

    फजी लॉजिक: फ़ज़ी लॉजिक टूलबॉक्स- फ़ज़ी सेट के निर्माण और विश्लेषण के लिए उपकरण।

    प्रतीकात्मक गणना: प्रतीकात्मक गणित टूलबॉक्स- मेपल प्रोग्राम के प्रतीकात्मक प्रोसेसर के साथ बातचीत करने की क्षमता के साथ प्रतीकात्मक गणना के लिए उपकरण।

उपरोक्त के अलावा, अन्य कंपनियों और उत्साही लोगों द्वारा लिखे गए हजारों अन्य MATLAB टूलकिट भी हैं।



संबंधित आलेख: