मॅटलॅब

***मॅटलॅब*** (हे *मॅट्रिक लॅबोरेटरी*चे संक्षिप्त रूप) ही हे मॅथवर्क्स या कंपनी द्वारे विकसित केलेली एक बहुआयामी प्रोग्रामिंग भाषा आणि अंकीय संगणनाचे माध्यम आहे. मॅटलॅबच्या साह्याने मॅट्रिक्स वरील क्रिया, फंक्शन्स आणि डेटाचे प्लॉटिंग, अल्गोरिदमची अंमलबजावणी, वापरकर्ता इंटरफेस तयार करणे आणि इतर भाषांमध्ये लिहिलेल्या प्रोग्रामसह इंटरफेस करता येते. जरी मॅटलॅब हे प्रामुख्याने अंकीय संगणनासाठी असले, तरी एक पर्यायी टूलबॉक्स MuPADच्या साह्याने प्रतीकात्मक संगणन (symbolic computing) क्षमतेमध्ये वापर करता येते. आणि मॅटलॅबचे एक अतिरिक्त पॅकेज, सिम्युलिंक (Simulink), हेडायनॅमिक आणि एम्बेडेड सिस्टमसाठी  ग्राफिकल मल्टी-डोमेन सिम्युलेशन आणि मॉडेल-आधारित डिझाइन यासारख्या सुविधा पुरवते. इ.स. २०२० पर्यंत, मॅटलॅबचे जगभरात चाळीस लाखाहूनही अधिक  वापरकर्ते आहेत. मॅटलॅबचे वापरकर्ते हे अभियांत्रिकी, विज्ञान आणि अर्थशास्त्र अशा विविध पार्श्वभूमी असलेल्या क्षेत्रातून येतात.

## इतिहास 
मॅटलॅबचा शोध गणितज्ञ आणि संगणक प्रोग्रामर क्लीव्ह मोलर यांनी लावला आहे. मॅटलॅबची कल्पना त्यांच्या 1960च्या पीएचडी थीसिसवर आधारित होती. मॅटलॅबला १९८४ मध्ये लास वेगास येथील ऑटोमॅटिक कंट्रोल कॉन्फरन्समध्ये व्यावसायिकदृष्ट्या पहिल्यांदाच प्रसिद्ध करण्यात आले.

## मांडणी 
मॅटलॅब ऍप्लिकेशन मॅटलॅब प्रोग्रामिंग भाषेभोवती तयार केले आहे. मॅटलॅब ऍप्लिकेशनच्या सामान्य वापरामध्ये "कमांड विंडो" एक परस्पर गणितीय शेल म्हणून वापरणे किंवा मॅटलॅब कोड असलेल्या मजकूर फाइल्स कार्यान्वित करणे समाविष्ट आहे.

कमांड विंडोचा वापर

```matlabsession
>> x = 17
x =
 17

>> x = 'hat'
x =
hat

>> x = [3*4, pi/2]
x =
   12.0000    1.5708

>> y = 3*sin(x)
y =
   -1.6097    3.0000
```

## ग्राफिक्स आणि ग्राफिकल यूजर इंटरफेस प्रोग्रामिंग 
{
	"version": 2,
	"width": 400,
	"height": 200,
	"data": [
		{
			"name": "table",
			"values": [
				{
					"x": 3,
					"y": 1
				},
				{
					"x": 1,
					"y": 3
				},
				{
					"x": 2,
					"y": 2
				},
				{
					"x": 3,
					"y": 4
				}
			]
		}
	],
	"scales": [
		{
			"name": "x",
			"type": "ordinal",
			"range": "width",
			"zero": false,
			"domain": {
				"data": "table",
				"field": "x"
			}
		},
		{
			"name": "y",
			"type": "linear",
			"range": "height",
			"nice": true,
			"domain": {
				"data": "table",
				"field": "y"
			}
		}
	],
	"axes": [
		{
			"type": "x",
			"scale": "x"
		},
		{
			"type": "y",
			"scale": "y"
		}
	],
	"marks": [
		{
			"type": "rect",
			"from": {
				"data": "table"
			},
			"properties": {
				"enter": {
					"x": {
						"scale": "x",
						"field": "x"
					},
					"y": {
						"scale": "y",
						"field": "y"
					},
					"y2": {
						"scale": "y",
						"value": 0
					},
					"fill": {
						"value": "steelblue"
					},
					"width": {
						"scale": "x",
						"band": "true",
						"offset": -1
					}
				}
			}
		}
	]
}मॅटलॅब मध्ये आलेख सादरीकरणाचे वैशिष्ट्ये हे खुप चांगल्या पद्धतीने एकत्रित केली आहेत. उदाहरणार्थ, साईन फलनाचा आलेख  x आणि y या दोन सदिशांमधून आलेख तयार करण्यासाठी केला जाऊ शकतो. आज्ञावलीः
```matlab
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
```
साइन फलनाची खालील आकृती तयार होते:

350x350अंश

मॅटलॅब च्यासाह्याने त्रिमितीय आलेखांचे देखील अध्ययन करता येते:

मॅटलॅब च्यासाह्याने ग्राफिकल यूजर इंटरफेस (GUI) ऍप्लिकेशन्स विकसित करता येतात.  वापरकर्ता आंतरफलक (UI- User Interface)  एकतर प्रोग्रॅमॅटिक पद्धतीने किंवा GUIDE आणि App Designer सारख्या व्हिज्युअल डिझाइन वातावरणाचा वापर करून तयार केले जाऊ शकते.

## मॅटलॅब आणि इतर आज्ञावली भाषा 
मॅटलॅबला इतर भाषांमध्ये लिहिलेल्या प्रोग्रामसह इंटरफेस करता येते. C, JAVA,.NET, Perl, Fortran सारख्या भाषेत लिहीलेल्या आज्ञावली व त्यामधील सामाविष्ट असलेली फलने यांचा वापर मॅटलॅब मध्ये करता येतो.

## चीनकडून माघार 
२०२० मध्ये अमेरीकेच्या निर्बंधामुळे मॅटलॅबने दोन चिनी विद्यापीठातून आपली सेवा रद्द केली. आणि चिनी माध्यातून याच्यावर प्रत्युत्तर म्हणून असे म्हणण्यात आले की याला मुक्त-स्रोत पर्यायांचा वापर वाढवून आणि देशांतर्गत पर्याय विकसित करून प्रतिसाद दिला जाईल.

## प्रकाशन आवृत्ती 
मॅटलॅब वर्षातून दोनदा आवृत (अपडेट) केले जाते. प्रत्येक नवीन आवृत्तीमध्ये नवीन वैशिष्ट्यांसह मॅटलॅबची सुधारीत आवृत्ती प्रकाशीत केली जाते. ११ मार्च २०२१ मध्ये मॅटलॅब ९.१० (MATLAB 9.10) म्हणजेच R2021a तर २२ सप्टेंबर २०२१ मध्ये मॅटलॅब ९.११ (MATLAB 9.11) म्हणजेच R2021bचे प्रकाशन  करण्यात आले आहे.

## संदर्भ 
वर्ग:आज्ञावली भाषा