OpenModelica/C2/Functions-and-Types/Hindi
From Script | Spoken-Tutorial
Revision as of 09:00, 12 December 2017 by Vikaskothiyara (Talk | contribs)
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 में क्लास को परिभाषित करने के ज्ञान की आवश्यकता है। |
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 है। |
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 and 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 function के 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 | आप class को सिमुलेट करने के लिए टूलबार में Simulate बटन का उपयोग भी कर सकते हैं। |
05:53 | अब मैं आपको Plotting perspective पूरी तरह से दिखाने के लिए OMEdit विंडो को बाईं ओर करता हूँ। |
06:00 | variables browser में 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 | यह function अतिरिक्त 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 and z are declared as real variables.
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 | अब इस class को सिमुलेट करें। |
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 | इसclass को एक बार फिर से सिमुलेट करें। पॉप-अप विंडो बंद करें। |
09:28 | एक बार फिर से variables browser में y और z चुनें। |
09:33 | ध्यान दें कि y और z की वैल्यूज पिछले केस की तुलना में बदल दिए गए हैं। |
09:41 | इस परिणाम को डिलीट करें औऱ Modeling Perspective पर वापस जाएँ। |
09:47 | स्लाइड्स पर वापस जाएँ। |
09:50 | Algorithm प्रक्रियात्मक प्रोग्रामिंग को सक्षम करने के लिए Modelica syntax element है। |
09:56 | केवल assignment स्टेटमेंट्स को algorithm सेक्शन में अनुमति है। |
10:01 | Assignment स्टेटमेंट निम्न सिंबल का उपयोग करता है। |
10:06 | Assignment स्टेटमेंट्स में डेटा फ्लो दाईं से बाईं ओर होता है। |
10:10 | Modelica में परिभाषित फंक्शन पर कुछ प्रतिबंध है। |
10:16 | फंक्शन में der() का उपयोग अमान्य है। time वैरिएबल के उपयोग की अनुमति नहीं है। |
10:23 | फंक्शन में when स्टेटमेंट्स के उपयोग की अनुमति नहीं है। |
10:28 | Function में एक से अधिक algorithm सेक्शन नहीं हो सकते हैं और Models arguments के रूप में पास नहीं हो सकते हैं। |
10:36 | Type Modelica में कस्टम 'data-types को परिभाषित करने के लिए एक विशिष्ट क्लास है। |
10:42 | उदाहरण के लिए, velocity' और current जैसी भौतिक मात्राओं को data-types के रूप में परिभाषित किया जा सकता है। |
10:50 | उनका उपयोग बाद में अन्य वैरिएबल्स को घोषित करने के लिए किया जा सकता है। |
10:54 | unit और start जैसी मॉडिलिका डेटा-टाइप के Attributes को तदनुसार बदला जा सकता है। |
11:01 | उदाहरण के लिए, उपरोक्त मामले में velocity 'को real data type के समान ही परिभाषित किया गया है। |
11:08 | लेकिन इसकी इकाई को m/s में संशोधित किया गया है। |
11:12 | मैंने टाइप डेफिनिएशन को सिमुलेट करने के लिए bouncingBallWithUserTypes नामक मॉडल बनाया है। |
11:19 | इसmodel को प्रदर्शित करने के लिए OMEdit पर वापस जाएँ। |
11:24 | bouncingBallWithUserTypes टैब पर क्लिक करें। |
11:28 | यह मॉडल bouncingBall मॉडल के समान है जिसकी चर्चा पिछले ट्यूटोरियल में की है। |
11:35 | bouncingBall मॉडल को समझने के लिए कृपया पूर्वापेक्षा ट्यूटोरियल को देखें। |
11:41 | Length को m के लिए संशोधित अपनी यूनिट के साथ Real डेटा टाइप के रूप में परिभाषित किया गया है। |
11:47 | इसीतरह, Velocity को m/s के लिए संशोधित अपनी यूनिट के साथ Real के रूप में परिभाषित किया गया है। |
11:54 | 'h' पृथ्वी की सतह से गेंद की ऊंचाई को दर्शाता है। |
11:58 | इसे length datatype के रूप में परिभाषित किया गया है। |
12:02 | इसीतरह v गेंद की गति को दर्शाता है। |
12:05 | इसे velocity datatype घोषित किया गया है। |
12:09 | इस model के शेष वैरिएबल डिक्लेरेशन्स और समीकरण 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
यह स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। |
13:05 | हम स्पोकन ट्यूटोरियल का उपयोग कर कार्यशालाओं का आयोजन करते हैं। कृपया हमसे संपर्क करें। |
13:10 | यदि आपके इस स्पोकन ट्यूटोरियल में प्रश्न हैं, तो कृपया वेबसाइट पर जाएं। |
13:15 | हम लोकप्रिय किताबों के हल किये हुए उदाहरणों के कोडिंग का समन्वय करते हैं। कृपया अधिक जानकारी के लिए वेबसाइटों पर जाएं। |
13:23 | हम व्यावसायिक सिम्युलेटर लैब्स को OpenModelica में माइग्रेट करने में सहायता करते हैं |
13:29 | 'स्पोकन ट्यूटोरियल प्रोजेक्ट' एनएमईआईसीटी, एमएचआरडी , भारत सरकार द्वारा समर्थित है I |
13:36 | हम उनके समर्थन के लिए OpenModelica के डेवलपमेंट टीम का धन्यवाद करते हैं।
यह स्क्रीप्ट विकास द्वारा अनुवादित है, हमसे जुडने के लिए धन्यवाद। |