OpenModelica/C2/Functions-and-Types/Marathi

From Script | Spoken-Tutorial
Revision as of 17:22, 25 January 2018 by Latapopale (Talk | contribs)

Jump to: navigation, search
Time Narration
00:01 Functions and Types वरील स्पोकन ट्युटोरिअलमध्ये आपले स्वागत आहे.
00:06 ह्या ट्युटोरिलमध्ये आपण शिकणार आहोत - function कसे परिभाषित करावे.
00:12 algorithm कसे वापरावे. type कसे परिभाषित करावे.
00:17 हे ट्युटोरिअल रेकॉर्ड करण्यासाठी, मी OpenModelica 1.9.2 आणि उबंटू ऑपरेटिंग सिस्टम वर्जन 14.04 वापरत आहे.
00:27 परंतु, ही प्रोसेस Windows, Mac OS X किंवा FOSSEE OS मध्ये समान आहे.
00:35 हे ट्युटोरिअल समजून घेण्यासाठी Modelica मध्ये class कसे परिभाषित करावे हे आपल्याला माहित असणे आवश्यक आहे.
00:41 तुम्हांला कोणत्याही प्रोग्रामिंग भाषेतील functions चे ज्ञान हवे.
00:46 पूर्वापेक्षित ट्युटोरिअल्स आमच्या वेबसाईटवर आहेत. कृपया त्यांमार्फत जा.
00:52 आता function विषयी चर्चा करू.
00:55 function एक विशिष्ट क्लास आहे जो इनपुट घेऊन आऊटपुट रिटर्न करू शकतो.
01:01 यामध्ये algorithm सेक्शन आहे.
01:04 function मध्ये इक्वेशन्स असू शकत नाहीत आणि ते सिम्युलेट केले जाऊ शकत नाही.
01:10 function चे सिंटॅक्स दर्शविल्याप्रमाणे आहे.
01:15 आता, polynomialEvaluator नावाचे फंक्शन लिहू, जे x म्हणून इनपूट घेते आणि f(x) = a x (squared) (plus) b x (plus) c रिटर्न करते, जिथे आऊटपूट म्हणून a=1, b=2 आणि c=1 as output आहेत.
01:36 polynomialEvaluator फाईल आमच्या वेबसाईटवर उपलब्ध आहे.
01:40 कृपया Code Files लिंकमध्ये उपलब्ध असलेल्या सर्व फाईल्स डाऊनलोड करून सेव्ह करा.
01:46 polynomialEvaluator फंक्शन दाखवण्यासाठी, मी OMEdit वर जातो.
01:52 OMEdit आता Welcome परिप्रेक्ष्यमध्ये खुले आहे.
01:56 आपण केवळ OMEdit विंडोचा एक भाग पाहू शकता कारण मी ते झूम इन केले आहे.
02:02 जेव्हा आवश्यक असेल तेव्हा विंडो स्थानांतरित करून मी आपल्याला संबंधित भाग दाखवेन.
02:09 आपण डाऊनलोड केलेल्या फाईल्स उघडण्यासाठी, Open Model/Library File टूलवर क्लिक करा.
02:16 मी सर्व फाईल्स फोल्डरमध्ये सेव्ह केल्या आहेत.
02:19 मी त्यांना एकत्र निवडतो आणि open वर क्लिक करतो.
02:24 जर आपण ह्या फाईल्स वेगवेगळ्या फोल्डर्समध्ये सेव्ह केल्या असतील, तर आपण त्यापैकी प्रत्येक स्वतंत्रपणे उघडू शकता.
02:31 लक्षात घ्या की, खालील classes किंवा functions आता OMEdit मध्ये उघडले आहेत :

bouncingBallWithUserTypes , functionTester ,multipleFunctionTester, multiplePolynomialEvaluator आणि polynomialEvaluator.

02:51 polynomialEvaluator फंक्शन उघडण्यासाठी आणि ती पाहण्यासाठी, Libraries Browser मध्ये आयकॉनवर राईट-क्लिक करा आणि View Class निवडा.
03:02 जर फंक्शन Text View मध्ये उघडत नसल्यास, ते Text View मध्ये उघडा.
03:08 ह्या फंक्शनचे नाव polynomialEvaluator आहे, आपण आधीच चर्चा केली आहे.
03:14 x हे real व्हेरिएबल आहे.
03:17 input एक कीवर्ड आहे जो input व्हेरिएबल्स निर्दिष्ट करण्यासाठी वापरला जातो.
03:22 त्याचप्रमाणे output हा एक कीवर्ड आहे जो output व्हेरिएबल्स निर्दिष्ट करण्यासाठी वापरला जातो.
03:28 fx हे एक real व्हेरिएबल आहे जे f(x) दर्शविते.
03:33 कोणतेही व्हेरिएबल किंवा पॅरामीटर जे input ही नाही आणि output नाही, ते protected कीवर्ड वापरून निर्दिष्ट केले जाते.
03:42 a हा 1 च्या वॅल्यूसह real पॅरामीटर आहे.
03:47 a, b आणि c ची वॅल्यूजची चर्चा याआधीच स्लाईड्समध्ये केली गेली आहे.
03:53 कृपया लक्षात घ्या की, a, b आणि c हे protected पॅरामीटर्स आहेत.
03:59 Algorithm एका फंक्शनच्या एल्गोरिदम सेक्शनच्या सुरवातीचे प्रतिनिधित्व करते.
04:05 Algorithm सेक्शनमध्ये केवळ assignment स्टेटमेंट असू शकते.
04:10 हे चिन्ह assignment दर्शविते.
04:14 एका assignment स्टेटमेंटमध्ये, उजव्या बाजूच्या वॅल्यूला डाव्या बाजूला असाईन केले आहे.
04:20 डावी बाजू सहसा एक अज्ञात एक्सप्रेशन असते.
04:25 ह्या बाबतीत, fx हे एक अज्ञात व्हेरिएबल आहे.
04:29 x ची वॅल्यू माहित असल्यास उजव्या एक्सप्रेशनच्या वॅल्यूची गणना केली जाऊ शकते.
04:36 x ला सामान्यतः function चे input आर्ग्युमेंट म्हणून पास केले जाते, जेव्हाही ते कॉल केले जाते.
04:43 आता functionTester वापरून function कॉल कसे करावे ते पाहू.
04:49 functionTester आयकॉन आधीपासूनच Libraries Browser मध्ये दिसत आहे, कारण ते मी आधीच उघडले आहे.
04:56 हा class उघडण्यासाठी, त्याच्या आयकॉनवर डबल-क्लिक करा.
05:01 हा class पाहण्याचा एक वैकल्पिक मार्ग आहे.
05:05 आपण त्याच्या आयकॉनवर राईट-क्लिकदेखील करून View Class निवडू शकता.
05:11 z हा एक real व्हेरिएबल आहे.
05:14 polynomialEvaluator फंक्शन 10 युनिट्सच्या input आर्ग्युमेंटसह कॉल केला जातो आणि हे z शी समांतर आहे.
05:23 polynomialEvaluator ची input वॅल्यू(व्हेरिएबल) जे x 10 युनिट्स वॅल्यू घेते.
05:31 आता आपण हा class सिम्युलेट करू.
05:34 हा class सिम्युलेट करण्यासाठी आपल्याला Libraries Browser मध्ये functionTester आयकॉनवर राईट-क्लिक करावे लागेल आणि Simulate निवडा.
05:45 क्लास आता सिम्युलेट झाला आहे.
05:47 आपण क्लास सिम्युलेट करण्यासाठी टूलबारमधील Simulate बटणदेखील वापरू शकता.
05:53 आता मी आपल्याला Plotting perspective पूर्णपणे दाखवण्यासाठी OMEdit विंडो डावीकडे सरकवतो.
06:00 व्हेरिएबल्स ब्राऊझरमध्ये z निवडा.
06:04 लक्षात घ्या की, z ची वॅल्यू x = 10 ला f(x) च्या वॅल्यूइतकी आहे.
06:12 आता मी z डी-सिलेक्ट करतो आणि हा रिझल्ट डिलीट करा.
06:18 मी Modeling perspective वर परत जातो.
06:21 शीर्षस्थानी polynomialEvaluator टॅबवर क्लिक करा.
06:25 लक्षात घ्या की, polynomialEvaluator फंक्शनचा फक्त एक output व्हेरिएबल आहे.
06:31 आता मी आपल्याला दाखवतो की function वापरून दोन किंवा अधिक व्हेरिएबल्स कसे output करावे.
06:38 मी multiplePolynomialEvaluator नावाचा function तयार केला आहे, ज्यामध्ये दोन output व्हेरिएबल्स आहेत.
06:45 ते function पाहण्यापूर्वी मी PolynomialEvaluator आणि FunctionTester टॅब बंद करतो.
06:54 कारण Libraries Browser दिसत नाही, मी विंडो उजवीकडे हलवतो.
07:01 multiplePolynomialEvaluator, multipleFunctionTester आणि bouncingBallWithUserTypes वर डबल-क्लिक करा.
07:11 विंडो पुन्हा आपल्या जागेवर हलवा.
07:15 multiplePolynomialEvaluator टॅबवर जा.
07:19 हे फंक्शन अतिरिक्त output व्हेरिएबल वगळता polynomialEvaluator फंक्शनसारखे आहे.
07:27 output व्हेरिएबलचे नाव gx घोषित केले गेले आहे.
07:32 gx ला a x (squared) (minus) b x (plus) c ची वॅल्यू असाईन केली आहे.
07:38 ज्या क्रमाने output किंवा input व्हेरिएबल्स घोषित केले आहेत ते महत्त्वाचे आहेत.
07:45 जेव्हा आपण multipleFunctionTester क्लासची चर्चा करू तेव्हा ह्याबद्दल अधिक जाणून घेऊ.
07:51 आता मी multipleFunctionTester टॅबवर जातो.
07:56 y आणि z ह्यांना real व्हेरिएबल्स म्हणून घोषित केले आहे.
08:01 multiplePolynomialEvaluator फंक्शनला 10 युनिट्सच्या input आर्ग्युमेंटसह कॉल केले जाते.
08:08 याचा अर्थ असा आहे की multiplePolynomialEvaluator चे input व्हेरिएबल 10 युनिट्सची वॅल्यू घेते.
08:17 y आणि z x = 10 वर अनुक्रमे f(x) आणि g(x) ची वॅल्यू घेते.
08:26 y आऊटपुट व्हेरिएबल fx ची वॅल्यू घेते, तर function मध्ये gx घोषित होण्याआधी fx घोषित केले जाते.
08:37 आता मी हा क्लास सिम्युलेट करतो.
08:40 Simulate बटणावर क्लिक करा. पॉप अप विंडो बंद करा.
08:46 variables browser मध्ये y आणि z निवडा.
08:51 लक्षात घ्या की y आणि z च्या वॅल्यूज x = 10 ला अनुक्रमे f(x) आणि g(x) च्या समान आहेत.
09:01 रिझल्ट डिलीट करा आणि Modeling Perspective वर परत जा.
09:06 आता मी y आणि z चा क्रम बदलतो.
09:11 (y,z) डिलीट करा आणि (z,y) टाईप करा.
09:17 आणि Ctrl+S दाबून हा क्लास सेव्ह करा.
09:22 पुन्हा एकदा हा क्लास सिम्युलेट करा. पॉप अप विंडो बंद करा.
09:28 पुन्हा एकदा variables browser मध्ये y आणि z निवडा.
09:33 लक्षात ठेवा की, y आणि z चे वॅल्यूज मागील बाबतीत तुलनेने बदलली आहेत.
09:41 मी हा रिझल्ट डिलीट करतो आणि Modeling Perspective वर परत जातो.
09:47 मी स्लाईड्सवर पुन्हा जातो.
09:50 algorithm प्रक्रियात्मक प्रोग्रामिंग सक्षम करण्यासाठी Modelica syntax element आहे.
09:56 फक्त algorithm सेक्शनमध्ये assignment स्टेटमेंट्ना परवानगी आहे.
10:01 Assignment स्टेटमेन्ट्स खालील चिह्न वापरतात.
10:06 assignment स्टेटमेन्टमध्ये डेटा उजवीकडून डावीकडे जातो.
10:10 Modelica मध्ये परिभाषित केलेल्या फंक्शन्सवर काही निर्बंध आहेत.
10:16 फंक्शनमध्ये der() चा वापर अवैध आहे. time व्हेरिएबल वापरण्यास परवानगी नाही.
10:23 फंक्शनमध्ये when स्टेटमेंट्स वापरण्यास परवानगी नाही.
10:28 फंक्शनमध्ये एकापेक्षा जास्त algorithm सेक्शन नसू शकतात आणि मॉडेल्स, arguments म्हणून पास होऊ शकत नाहीत.
10:36 मॉडेलिकामध्ये data-types परिभाषित करण्यासाठी type हा एक विशिष्ट क्लास आहे.
10:42 उदाहरणार्थ, velocity आणि current ह्यासारख्या भौतिक संख्या data-types म्हणून परिभाषित केल्या जाऊ शकतात.
10:50 ते इतर व्हेरिएबल्स घोषित करण्यासाठी नंतर वापरले जाऊ शकतात.
10:54 unit आणि start सारख्या Modelica data-types च्या Attributes तदनुसार बदलले जाऊ शकतात.
11:01 उदाहरणार्थ, वरील बाबतीत velocity ला real data type सारखेच परिभाषित केले गेले आहे.
11:08 परंतु त्याचे युनिट m/s मध्ये सुधारित केले आहे.
11:12 टाईप डेफिनेशन्स सिम्युलेट करण्यासाठी मी bouncingBallWithUserTypes नावाचा मॉडेल तयार केला आहे.
11:19 मी हे मॉडेल सादर करण्यासाठी OMEdit वर परत जातो.
11:24 bouncingBallWithUserTypes टॅबवर क्लिक करा.
11:28 हे मॉडेल, bouncingBall मॉडेलसारखेच आहे, ज्याची मागील ट्युटोरिअलमध्ये चर्चा करण्यात आली होती.
11:35 कृपया bouncingBall मॉडेल समजून घेण्यासाठी पूर्वापेक्षित ट्युटोरिअल पाहा.
11:41 Length ला साठी Real डेटाटाईप म्हणून परिभाषित केले गेले आहे. त्याच्या युनिटसह m सुधारित करू.
11:47 त्याचप्रमाणे Velocity ला m/s साठी सुधारित केलेल्या त्याच्या युनिटसह Real म्हणून परिभाषित केले आहे.
11:54 h पृथ्वीच्या पृष्ठभागावरून बॉलची उंची दर्शवते.
11:58 हे length datatype म्हणून परिभाषित आहे.
12:02 त्याचप्रमाणे v बॉलची गती दर्शवते.
12:05 हे velocity datatype म्हणून घोषित केले गेले आहे.
12:09 ह्या मॉडेलचे शेष व्हेरिएबल डिक्लरेशन्स आणि इक्वेशन्स bouncingBall मॉडेलसारखेच आहेत.
12:18 आता मी हे simulate करतो. पॉप अप विंडो बंद करा.
12:24 Variables Browser मध्ये लक्षात घ्या की, h आणि v कडे त्यांच्या डेटा-टाईपसह संबंधित युनिट्स आहेत.
12:34 variables browser मध्ये मी h निवडतो.
12:38 h विरुद्ध time चा प्लॉट bouncingBall मॉडेलसारखा आहे.
12:43 मी h डी-सिलेक्ट करतो.
12:46 आता मी स्लाईड्सवर परत जातो.
12:49 असाईनमेंट म्हणून फंक्शन्सवरील निर्बंधांचे उल्लंघन करा आणि निर्माण झालेले एरर्स पाहा.
12:56 ह्यासोबत आपण ट्युटोरिअलच्या अंतिम टप्प्यात पोहोचलो आहोत.
12:59 खालील लिंकवर उपलब्ध असलेला व्हिडिओ पाहा : http://spoken-tutorial.org/ http://spoken-tutorial.org] /What\_is\_a\_Spoken\_Tutorial It summarises the Spoken Tutorial project
13:05 आम्ही स्पोकन ट्युटोरिअलच्या साहाय्याने कार्यशाळा चालवितो. कृपया आमच्याशी संपर्क साधा.
13:10 जर तुम्हांला ह्या स्पोकन ट्युटोरिअलमध्ये प्रश्न असतील, तर कृपया वेबसाईटला भेट द्या.
13:15 आम्ही प्रसिद्ध पुस्तकांमधील सोडवलेल्या उदाहरणेचे कोडिंग समन्वित करतो. अधिक माहितीसाठी कृपया आमच्या वेबसाईटला भेट द्या.
13:23 आम्ही व्यावसायिक सिम्युलेटर लॅबला OpenModelica वर स्थलांतरीत करण्यास मदत करतो.
13:29 स्पोकन ट्युटोरिअल प्रोजेक्ट, NMEICT, MHRD भारत सरकारद्वारे समर्थित आहे.
13:36 त्यांच्या समर्थनासाठी आम्ही OpenModelica च्या विकसनशील टीमचे आभारी आहोत.

हे स्क्रिप्ट लता पोपळेद्वारे अनुवादित आहे. धन्यवाद.

Contributors and Content Editors

Latapopale, Ranjana