OpenModelica/C2/Control-flow-and-Event-handling/Marathi
From Script | Spoken-Tutorial
Revision as of 16:38, 1 January 2018 by Latapopale (Talk | contribs)
Time | Narration |
00:01 | Control flow and Event handling वरील स्पोकन ट्युटोरिअलमध्ये आपले स्वागत आहे. |
00:07 | ह्या ट्युटोरिअलमध्ये आपण if-else स्टेटमेंट कसे वापरावे, time आणि state इवेन्ट्स कसे हाताळायचे, when स्टेटमेंट कसे वापरावे हे शिकणार आहोत. |
00:19 | हे ट्युटोरिअल रेकॉर्ड करण्यासाठी, मी OpenModelica 1.9.2 आणि उबंटू ऑपरेटिंग सिस्टम वर्जन 14.04 वापरत आहे. |
00:30 | परंतु, ही प्रक्रिया Windows, Mac OS X किंवा ARM वर FOSSEE OS सारखीच आहे. |
00:38 | हे ट्युटोरिअल समजून घेण्यासाठी व सराव करण्यासाठी, तुम्हांला खालील गोष्टींची माहिती असणे आवश्यक आहे ती म्हणजे physical systems ची इक्वेशनवर आधारीत modeling. |
00:47 | कोणत्याही प्रोग्रामिंग भाषेत ब्रांचिग, Modelica मध्ये class ची परिभाषा करणे. |
00:53 | स्पोकन ट्युटोरिअल वेबसाईटवर पूर्वापेक्षित ट्युटोरिअल्सचा उल्लेख केला आहे. कृपया ते पाहा. |
01:00 | मागील ट्युटोरिअल्समध्ये freeFall क्लासची चर्चा झाली आहे. |
01:05 | आता त्यात constraint जोडू. |
01:08 | बॉल t = 0.5 सेकंदापर्यंत थांबते. gravity अंतर्गत Free fall t = 0.5 सेकंदांपासून सुरू होते. |
01:19 | मी timeEventExample नावाचे मॉडेल तयार केले आहे जे ह्या कंडिशनला सिम्युलेट करते. |
01:25 | timeEventExample फाईल स्पोकन ट्युटोरिअल वेबसाईटवर Code Files लिंकवर उपलब्ध आहे. |
01:32 | कृपया डाऊनलोड करा आणि सर्व फाईल्स Code Files लिंकवर सेव्ह करा. |
01:38 | आपल्या सोयीसाठी, freeFall class देखील उपलब्ध आहे. |
01:43 | आता OMEdit वर जाऊ. |
01:45 | मी आधीच माझ्या सिस्टमवर ठेवले आहे. |
01:49 | उबंटू ऑपरेटिंग सिस्टीमवर OMEdit उघडण्यासाठी वरच्या डाव्या कोपऱ्यातील Dash Home आयकॉनवर क्लिक करा. |
01:58 | Search bar मध्ये OMEdit टाईप करा आणि OMEdit आयकॉनवर क्लिक करा. परत जा. |
02:06 | नोट: Windows युजर्स त्याचप्रमाणे Start मेनूमध्ये OMEdit शोधा आणि ते उघडा. |
02:13 | timeEventExample फाईल उघडण्यासाठी, Open Model/Library File नावाच्या टूलवर क्लिक करा. |
02:21 | आपल्या सिस्टममध्ये timeEventExample फाईल शोधा आणि Open वर क्लिक करा. |
02:28 | आपण फाईल उघडण्यासाठी वैकल्पिकरित्या File मेनू वापरू शकता. |
02:34 | लक्षात घ्या की timeEventExample Libraries browser मध्ये प्रदर्शित झाले आहे. |
02:39 | ह्या चिन्हावर राईट-क्लिक करा आणि View class निवडा. |
02:44 | मॉडेल आता Diagram view मध्ये उघडले आहे. |
02:47 | तिसरे बटण Text View वर क्लिक करा. |
02:51 | आपण आधीच चर्चा केली आहे की Modelica मध्ये model आणि class हे समानार्थी शब्द म्हणून वापरले जातात. |
02:58 | ह्या मॉडेलचे नाव timeEventExample आहे. |
03:02 | असे Comments हे model किंवा class च्या पहिल्या ओळीवर लिहिले जाऊ शकते. |
03:08 | freeFall class मध्ये, h, v आणि g समान प्रमाणात प्रतिनिधित्व करतात. |
03:16 | initial equation सेक्शनमध्ये प्राथमिक अटी आहेत. |
03:21 | h ची वॅल्यू t = 0 टाईमवर 30m आहे. |
03:26 | v ची वॅल्यू t = 0 टाईमवर 0 आहे. |
03:31 | Equation ह्या मॉडेलच्या इक्वेशन सेक्शनची सुरूवात दर्शविते. |
03:36 | आता स्लाईड्समध्ये स्पष्ट केलेले constraint कसे समाविष्ट करावे ते पाहू. |
03:43 | लक्षात घ्या की दाखवल्याप्रमाणे येथे, इक्वेशन सेक्शनमध्ये if-else block आहे. |
03:48 | ह्या if-else block चे प्रत्येक स्टेटमेंट समजण्याचा प्रयत्न करू. |
03:53 | if statement हे time व्हेरिएबलवर constraint ठेवते. |
03:58 | time हे मॉडेलिकामधील एक बिल्ट-इन व्हेरिएबल आहे. |
04:01 | हे class किंवा model मध्ये स्पष्टपणे घोषित करण्याची आवश्यकता नाही. |
04:06 | बॉल, टाईम 0.5 सेकंदांनंतर free fall चा अनुभव घेतो. |
04:12 | म्हणूनच, ही दोन इक्वेशन्स freeFall class सारखी इक्वेशन्स दर्शवतात. |
04:19 | else branch मध्ये अशी इक्वेशन्स आहेत ज्यांची 0.5 सेकंदांपेक्षा कमी वेळेत अंमलबजावणी होते. |
04:27 | जेव्हा वेळ 0.5 सेकंदापेक्षा कमी असते तेव्हा ball थांबतो. |
04:32 | म्हणूनच ही दोन इक्वेशन्स या प्रकरणात योग्य आहेत. |
04:36 | end if हे if-else block चा शेवट दर्शवतो. |
04:41 | model आता पूर्ण झाले आहे. |
04:44 | Simulate बटणावर क्लिक करून ते सिम्युलेट करू. |
04:48 | Plotting perspective आता उघडले आहे. |
04:51 | Variables browser मध्ये h निवडा. |
04:55 | हे h वर्सेस time प्लॉट बनवते. |
04:58 | तरी वेळ t=0.5 सेकंदपर्यंत बॉल थांबतो, उंची समान राहते. |
05:06 | परिणाम डिलीट करण्यासाठी, व्हेरिएबल ब्राऊझरमध्ये timeEventExample वर राईट-क्लिक करा आणि Delete Result निवडा. |
05:15 | Modeling perspective वर परत जाण्यासाठी, खाली उजवीकडे Modeling बटणावर क्लिक करा. |
05:21 | आता else branch' मध्ये दुसरे equation डिलिट करू. |
05:26 | हे model सेव्ह करण्यासाठी टूलबारवरील Save बटणावर क्लिक करा. |
05:31 | Simulate वर क्लिक करा. |
05:34 | सिम्युलेशन अयशस्वी झाले आहे. |
05:37 | Messages browser वर जा आणि एरर मेसेज पाहण्यासाठी वर स्क्रोल करा. |
05:42 | एरर मेसेजमध्ये असे म्हटले आहे की प्रत्येक शाखेत इक्वेशन्सची संख्या समान असणे आवश्यक आहे. |
05:49 | म्हणून if आणि else branches मध्ये equations ची संख्या व्हेरिएबल्सच्या संख्येइतकी असली पाहिजे. |
05:58 | equation परत त्याच्या जागी ठेवू आणि Save बटणावर क्लिक करू. |
06:05 | लक्षात घ्या की der(h) = v हे इक्वेशन आहे जे if and else branches दोन्हीसाठी समान आहे. |
06:14 | म्हणूनच if-else block हे दोन स्टेटमेंट्सद्वारे बदलले जाऊ शकते. |
06:20 | हे कसे केले ते तुम्हांला दाखवतो. |
06:23 | प्रथम the if-else block डिलीट करा. |
06:26 | टाईप केलेले इक्वेशन if else-statement.txt नावाच्या फाईलमध्ये दिले गेले आहे. |
06:34 | ही फाईल Code Files ह्या लिंकमध्येदेखील उपलब्ध आहे. |
06:39 | ही एक टेक्स्ट फाईल असल्याने, ती उघडण्यासाठी मी gedit वापरले आहे. |
06:45 | gedit वर जा. |
06:47 | Windows युजर्स नोटपॅड किंवा इतर टेक्स्ट एडिटर वापरून ही फाईल उघडू शकता. |
06:54 | दोन इक्वेशन्स कॉपी करा. |
06:57 | OMEdit वर परत जा. |
07:00 | राईट-क्लिक करा आणि Paste निवडा. |
07:04 | पुन्हा एकदा टूलबारवरील Save बटणावर क्लिक करा. |
07:08 | Simulate वर क्लिक करा. |
07:11 | पॉप अप विंडो बंद करा. |
07:14 | पुन्हा एकदा Variables browser मध्ये h निवडा. |
07:18 | लक्षात घ्या की h वर्सेस time प्लॉट हे मागील प्रकरणात सारखेच आहेत, जे दर्शविते की दोन्ही मॉडेल्स समान आहेत. |
07:27 | परिणाम डिलिट करण्यासाठी, timeEventExample वर राईट-क्लिक करा आणि Delete Result निवडा. |
07:34 | तळाशी उजवीकडील Modeling बटणावर क्लिक करा. |
07:38 | हे एक if-else statement आहे जे दर्शविते की time >= 0.5 dv/dt = g अन्यथा otherwise dv/dt = 0. |
07:52 | आता पुन्हा स्लाईड्सवर परत जाऊ. |
07:55 | कृपया लक्षात घ्या की if branch मधील इक्वेशन्सची संख्या else branch मधील इक्वेशन्सच्या संख्येइतकी असली पाहिजे. |
08:03 | आणि ते दोन्ही class किंवा model मधील व्हेरिएबल्सच्या संख्येइतके असले पाहिजेत. |
08:10 | Event सिस्टमच्या वर्तनामध्ये अचानक झालेला बदल आहे. |
08:15 | Events हे टाईम इव्हेंट आणि स्टेट इव्हेंटमध्ये वर्गीकरण करता येईल. |
08:20 | time event मध्ये, इव्हेंट होण्याची नेमकी वेळ माहीत आहे. |
08:25 | timeEventExample हे t = 0.5 सेकंदात टाईम इव्हेंट हाताळते. |
08:32 | जेव्हा एखादी सिस्टम व्हॅरिएबल एखादी विशिष्ट वेल्यू ओलांडते तेव्हा state event उद्भवते. |
08:38 | आपण उदाहरणाद्वारे स्टेट इव्हेंट समजण्याचा प्रयत्न करू. |
08:43 | free fall मध्ये, बॉल ग्राउंडला स्पर्श केल्यावर state event ला सामोरे जातो. |
08:48 | जेव्हा तो जमिनीवर आदळतो तेव्हा खालील वर्तन निरिक्षण केले जाते. |
08:52 | बॉलची गती दिशेत बदलते. |
08:55 | टप्प्यात स्थिरता असल्यास गतीचा परिणाम बदलतो. |
09:00 | मी हा व्यवहार सिम्युलेट करण्यासाठी bouncingBall नावाचे एक मॉडेल तयार केले आहे. |
09:06 | ही फाईल स्पोकन ट्युटोरिअल वेबसाईटवर उपलब्ध आहे. |
09:10 | हे मॉडेल पाहण्यासाठी आणि त्यास सिम्युलेट करा, मी OMEdit वर परत जाऊ. |
09:15 | OpenModel/LIbrary File टूलवर क्लिक करा. |
09:19 | आपल्या सिस्टममध्ये bouncingBall फाईल शोधा आणि Open वर क्लिक करा. |
09:25 | Libraries browser मधील bouncingBall आयकॉनवर राईट-क्लिक करा आणि View Class निवडा. |
09:33 | मॉडेल Text View मध्ये उघडत नसल्यास modeling area शीर्षवर जा आणि Text View बटणावर क्लिक करा. |
09:41 | e हे पृथ्वीसह बॉलच्या लवचिक टक्करसाठी पूर्वस्थितीचा गुणांक आहे. |
09:48 | हे एक पॅरामीटर आहे आणि संपूर्ण सिम्युलेशनच्या वेळी त्याची वेल्यू 0.8 वर स्थिर राहतो. |
09:56 | radius हे m मध्ये बॉलची रेडिअस दर्शविते. |
10:00 | h, v आणि g हे timeEventExample च्या समान कालावधीचे प्रतिनिधित्व करते. |
10:07 | मोशन्सच्या ह्या दोन इक्वेशन्सची चर्चा आधीपासूनच freeFall class मध्ये झाली आहे. |
10:13 | when statement इव्हेंटच्या सिग्नलसाठी वापरले जाते. |
10:17 | एखादी घटना जेव्हा उद्भवते तेव्हा घेतले जाणारे एक्शन निर्दिष्ट करण्यासाठी ती वापरली जाते. |
10:22 | जेव्हा बॉल जमिनीच्या संपर्कात असतो तेव्हा h <= radius true असतो. |
10:29 | जेव्हा हा इव्हेंट उद्भवतो तेव्हा हा statement अंमलात येईल. |
10:34 | reinit() फंक्शनचा उपयोग व्हेरिएबल पुन्हा सुरू करण्यासाठी होतो. |
10:39 | येथे, तो e च्या नकारात्मक उत्पादनासह बॉलची गतीची आणि ग्राऊंडला स्पर्श करण्यापूर्वी बॉलची गती पुन्हा सुरू करतो. |
10:49 | हे मॉडेल सिम्युलेट करण्यासाठी टूलबारमधील Simulation Setup बटणावर क्लिक करा. |
10:55 | General टॅबमध्ये, Stop Time फील्ड 30 युनिट्समध्ये बदला आणि Simulate वर क्लिक करा. |
11:04 | पॉप-अप विंडो बंद करा. |
11:06 | Variables browser मध्ये h निवडा. |
11:10 | लक्षात घ्या की h झिरोखाली आहे, जो अस्वीकार्य आहे. |
11:16 | freeFall class चे सिम्युलेट करताना आपण समान वागणूक पाहिली आहे. |
11:21 | ही सदोष वागणूक न्युमरिकल एरर्स असल्यामुळे आहे. |
11:25 | न्युमरिकल एरर्सची चर्चा ह्या ट्युटोरिअलच्या व्याप्ति बाहेर आहे. |
11:30 | कृपया व्यवस्थित समजून घेण्यासाठी बाऊसिंग बॉलचा Zeno वर्तनाचा संदर्भ घ्या. |
11:36 | h डि-सिलेक्ट करू. |
11:39 | स्लाईड्सवर परत जा. |
11:42 | when statement चा उपयोग एका इव्हेंट सिग्नलसाठी केला जातो. |
11:45 | reinit(a,b) हे b चे व्हॅल्यू व्हेरिएबल a असाईन करते आणि सिम्युलेशन पुन्हा सुरू करते. |
11:54 | pre(a) हे इव्हेंटच्या आधी व्हेरिएबलची वॅल्यू a परत करते. |
11:59 | उदाहरणार्थ, reinit(a, 10) इव्हेंट घडताना 10 ला a ची वॅल्यू असाईन करतो. |
12:08 | bouncingBall मॉडेलची सदोष वागणूक bouncingBallWithHysteresis मध्ये बरोबर असते. |
12:15 | bouncingBallWithHysteresis मॉडेल स्पोकन ट्युटोरिअल वेबसाईटवर उपलब्ध आहे. |
12:21 | bouncingBallWithHysteresis सिम्युलेट करा आणि h वर्सेस time प्लॉट बनवा. |
12:27 | bouncingBall आणि bouncingBallWithHysteresis यातील फरक लक्षात घ्या. |
12:33 | आपण ट्युटोरिअलच्या अंतिम टप्प्यात पोहोचलो आहोत. |
12:36 | खालील लिंकवर उपलब्ध असलेला व्हिडिओ पाहा.http://spoken-tutorial.org/ http://spoken-tutorial.org] /What\_is\_a\_Spoken\_Tutorial |
12:40 | इथे स्पोकन ट्युटोरिअल प्रोजेक्टचा सारांश आहे. |
12:42 | आम्ही स्पोकन ट्युटोरिअलचा उपयोग करून कार्यशाळा चालवितो. प्रमाणपत्रेदेखील देतो. कृपया आमच्याशी संपर्क साधा. |
12:48 | या स्पोकन ट्युटोरिअलमध्ये आपले काही प्रश्न असल्यास, कृपया खालील वेबसाईटला भेट द्या. |
12:55 | Textbook Companion Project अंतर्गत आम्ही लोकप्रिय पुस्तकांची सोडवलेल्या उदाहरणांच्या कोडिंगचे समन्वय करतो. |
13:03 | आम्ही अशा लोकांना मानधन आणि प्रमाणपत्रे देतो. अधिक माहितीसाठी कृपया खालील वेबसाईटला भेट द्या. |
13:10 | Lab Migration Project अंतर्घत आम्ही वाणिज्यिक सिम्युलेटर लॅब OpenModelica वर स्थलांतर करण्यास मदत करतो. |
13:17 | अधिक माहितीसाठी कृपया वेबसाईटला भेट द्या. |
13:21 | स्पोकन ट्युटोरिअल प्रोजेक्ट NMEICT, MHRD, भारत सरकारद्वारे समर्थित आहे. |
13:28 | त्यांच्या समर्थनासाठी आम्ही OpenModelica च्या विकसनशील टीमचे आभारी आहोत. |
13:33 | हे स्क्रिप्ट लता पोपळेद्वारे अनुवादित आहे. सहभागासाठी धन्यवाद. |