Scilab/C4/Calling-User-Defined-Functions-in-XCOS/Hindi

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 'Xcos' में 'Calling user-defined functions' पर स्पोकन ट्यूटोरियल में आपका स्वागत है।
00:07 इस ट्यूटोरियल में हम निम्न करना सीखेंगे:
00:09 * 'Scilab' में स्क्वैरिंग फंक्शन लिखना
00:12 * 'Xcos' में 'scifunc' ब्लॉक उपयोग करना
00:15 * विविध प्लॉट्स बनाने के लिए MUX ब्लॉक उपयोग करना
00:19 * विविध इनपुट्स और आउटपुट्स रखने वाले फंक्शन्स को कॉल करना
00:24 'उबन्टु' 12.04 'ऑपरेटिंग सिस्टम' है जो संस्थापित 'Scilab' वर्जन '5.3.3' के साथ उपयोग किया जाता है।
00:32 आपको 'Scilab' और 'Xcos' की बुनियादी जानकारी होनी चाहिए।
00:38 यदि नहीं तो सम्बंधित ट्यूटोरियल्स के लिए कृपया 'spoken hyphen tutorial dot org' पर जाएँ।
00:44 अपने कंप्यूटर पर 'Scilab' शुरू करें।
00:47 'Scilab' कंसोल में, टाइप करें 'editor' और एंटर दबाएं।
00:53 फिर निम्न कोड टाइप करें:
00:55 'function स्पेस y इज़ इक्वल टू squareit ब्रैकेट खोलें a ब्रैकेट बंद करें'
01:07 एंटर की दबाएं और टाइप करें:
01:10 'y' इज़ इक्वल टू 'a' की घात '2'
01:14 अंत में एक सेमीकोलन लगाएं।
01:17 फंक्शन एक इनपुट वेरिएबल 'a' और एक आउटपुट वेरिएबल 'y' रखता है।
01:24 फंक्शन का नाम 'squareit' है।
01:27 यह फंक्शन वेरिएबल 'a' को स्क्वायर करने का काम करेगा।
01:31 यह परिणाम को 'y' में संचित करेगा।
01:34 अब इस फाइल को वांछित डायरेक्टरी में सेव करते हैं।
01:38 मैं इस फाइल को 'squareit के नाम से और '.sci' एक्सटेंशन के साथ सेव करुँगी।
01:44 यहाँ हम फंक्शन्स को '.sci' फॉर्मेट में सेव करने का अनुसरण करते आ रहे हैं।
01:50 'Scilab' कंसोल खोलें।
01:53 अब, टाइप करें 'Xcos' और एंटर दबाएं।
01:57 दो विंडोज़ 'Palette browser' और 'Untitled Xcos' विंडो खुलेंगी।
02:04 अब हम 'Xcos' डायग्राम बनाएंगे।
02:06 यह 'squareit' फंक्शन को एक्सेस करेगा जो अभी बना है।
02:10 यह 'scifunc' ब्लॉक प्रयोग करके किया जा सकता है।
02:14 'Palette browser' विंडो पर जाएँ।
02:17 पैलेट ब्राउज़र में 'User-Defined' फंक्शन पर क्लिक करें।
02:21 इस सेशन में 'scifunc_block_m' ब्लॉक को ढूँढें।
02:27 इसे 'untitled Xcos' विंडो में खींचें और छोड़ें।
02:32 बेहतर दृश्य के लिए मैं 'untitled Xcos' विंडो को ज़ूम करुँगी।
02:36 जैसा आप देखते हैं मैं ज़ूम बटन प्रयोग करुँगी।
02:40 अब इसे कॉन्फ़िगर करने के लिए 'scifunc' ब्लॉक पर डबल क्लिक करें।
02:44 'Scilab Multiple Values Request' नामक एक विंडो खुलेगी।
02:49 यह विंडो आपको 'scifunc' ब्लॉक के इनपुट और आउटपुट पोर्ट्स की संख्या को बदलने की अनुमति देगी।
02:56 हमारे फंक्शन 'squareit' के पास केवल एक इनपुट और आउटपुट वेरिएबल है।
03:00 अतः हम सेटिंग्स को ऐसे ही रहने देंगे।
03:03 'OK' पर क्लिक करें।
03:05 एक नयी 'Scilab Input Value Request' विंडो खुलेगी।
03:09 टेक्स्ट बॉक्स में इनपुट और आउटपुट वेरिएबल्स के साथ फंक्शन का नाम टाइप करते हैं।
03:14 यह फंक्शन 'scifunc' ब्लॉक द्वारा कॉल किया जायेगा।
03:18 उपलब्ध टेक्स्ट बॉक्स में,
03:20 डिफ़ॉल्ट फंक्शन के नाम को एडिट करें।
03:22 टाइप करें: 'y1' इक्वल्स टू 'squareit' ब्रैकेट खोलें 'u1' ब्रैकेट बंद करें।
03:31 ध्यान दें कि यहाँ इनपुट और आउटपुट वेरिएबल्स क्रमशः 'u1' और 'y1' हैं।
03:37 ये वास्तविक फ़ंक्शन में उपयोग हुए वेरिएबल्स नामों की तरह नहीं बल्कि सिर्फ 'u' और 'y' की फॉर्म में होने चाहिए।
03:45 'OK' पर क्लिक करें।
03:47 एक अन्य 'Scilab Input Value Request' विंडो खुलेगी।
03:51 आगामी तीनों विंडो जो खुलेंगी उनमें 'OK' पर क्लिक करते रहें।
03:56 'scifunc' ब्लॉक अब कॉन्फ़िगर किया जाता है।
04:00 आगे हम 'sinusoid' जेनरेटर ब्लॉक को समिल्लित करेंगे।
04:04 'Palette browser' विंडो में, 'Sources' सेक्शन पर क्लिक करें।
04:08 'Untitled Xcos' विंडो में 'sinusoid' जेनरेटर ब्लॉक को खींचें और छोड़ें।
04:14 सहूलियत के लिए, उस ब्लॉक को 'scifunc' ब्लॉक के बायीं तरफ रखें।
04:20 अब हमें आउटपुट वेरिएबल प्लॉट करने के लिए एक ब्लॉक की ज़रुरत है।
04:23 'Palette browser' विंडो में, 'Sinks' सेक्शन पर क्लिक करें।
04:29 'Untitled Xcos' विंडो में 'CScope' ब्लॉक को खींचें और छोड़ें।
04:34 ब्लॉक को 'scifunc' ब्लॉक के दायीं तरफ रखें।
04:38 सहूलियत के लिए, इसे 'scifunc' ब्लॉक से दूर रखें।
04:43 ध्यान दें कि 'CScope' ब्लॉक एक लाल इनपुट पोर्ट रखता है।
04:47 यह एक इवेंट इनपुट है।
04:49 हमें एक इवेंट जेनरेटर ब्लॉक की ज़रुरत है।
04:52 'Palette ब्राउज़र विंडो' में, 'Sources' सेक्शन पर क्लिक करें।
04:57 'CLOCK अंडरस्कोर c' ब्लॉक को 'Untitled Xcos' विंडो में खींचें और छोड़ें।
05:05 इसे 'CScope' ब्लॉक के ऊपर स्थित करें।
05:08 ध्यान दें कि 'CScope' ब्लॉक केवल एक इनपुट पोर्ट रखता है।
05:13 लेकिन हम इनपुट और आउटपुट दोनों वेरिएबल्स को एक ही प्लॉट विंडो में प्लॉट करना चाहते हैं।
05:18 अतः हमें एक 'multiplexer' ब्लॉक की ज़रुरत है।
05:22 यह ब्लॉक दो इनपुट्स लेगा और एक आउटपुट पोर्ट पर आउटपुट देगा।
05:28 'Palette ब्राउज़र विंडो' में, 'Signal Routing' सेक्शन पर क्लिक करें।
05:33 'MUX' ब्लॉक को 'Untitled Xcos' विंडो में खींचें और छोड़ें।
05:39 ब्लॉक को 'scifunc' ब्लॉक और 'CScope' ब्लॉक के बीच में रखें।
05:43 अब मैं 'Mux' ब्लॉक को रीसाइज़ और दोबारा अलाइन करती हूँ।
05:47 अब हम ब्लॉक्स को एक साथ जोड़ते हैं।
05:51 'Sinusoid generator' ब्लॉक के आउटपुट पोर्ट को 'scifunc' ब्लॉक के इनपुट पोर्ट से जोड़ते हैं।
05:57 अब 'scifunc' ब्लॉक के आउटपुट पोर्ट को 'MUX' के लोअर इनपुट से जोड़ते हैं।
06:04 'MUX' ब्लॉक के आउटपुट पोर्ट को 'CScope' ब्लॉक के इनपुट पोर्ट से जोड़ते हैं।
06:10 'CLOCK अंडरस्कोर c' ब्लॉक के आउटपुट पोर्ट को 'CScope' ब्लॉक के इवेंट इनपुट पोर्ट से जोड़ते हैं।
06:19 हमें 'sine' इनपुट को भी प्लॉट करना है।
06:22 हमें 'Sinusoid जेनरेटर' ब्लॉक को 'MUX' से जोड़ना है।
06:26 'MUX' ब्लॉक के ऊपरी इनपुट पोर्ट पर क्लिक करें।
06:30 फिर बिना छोड़े हुए, अपने माउस पॉइंटर को 'Sinusoid generator' ब्लॉक और 'scifunc' ब्लॉक के बीच वाले लिंक की तरफ ले जाएँ।
06:39 लिंक को मोड़ने के लिए, माउस बटन को छोड़ दें या अलग-अलग स्थानों पर क्लिक करें।
06:44 जैसे ही आप लिंक पर पॉइंटर लाते हैं, लिंक हरा हो जाता है।
06:49 इन दोनों ब्लॉक्स के बीच में लिंक बनाने के लिए माउस बटन को छोड़ दें या एक बार क्लिक करें।
06:55 अब हम अन्य ब्लॉक्स के विन्यास को देखते हैं।
06:59 हम 'sinusoid generator' ब्लॉक की 'फ्रीक्वेंसी (आवृति)', 'मैग्नीट्यूड (परिमाण)' और 'फेज़ (अवस्था)' बदल सकते हैं।
07:04 यह करने के लिए, 'Sinusoid generator' ब्लॉक पर डबल क्लिक करें।
07:09 'कॉन्फ़िग्रेशन विंडो' खुलेगी।
07:11 हम 'Magnitude' और 'Frequency' को '1' और 'Phase' को '0' रखेंगे।
07:18 'कॉन्फ़िग्रेशन विंडो' को बंद करने के लिए 'OK' पर क्लिक करें।
07:21 अब 'CScope' ब्लॉक को कॉन्फ़िगर करते हैं।
07:25 इसकी कॉन्फ़िगरेशन विंडो को खोलने के लिए 'CScope' ब्लॉक पर डबल क्लिक करें।
07:30 'Ymin' पैरामीटर को 'माइनस 2' और 'Ymax' पैरामीटर को '2' करें।
07:37 'Refresh period' वैल्यू को '10' करें।
07:41 इस वैल्यू को ध्यान रखें।
07:44 'Buffer size' वैल्यू को '2' करें।
07:47 'OK' पर क्लिक करें।
07:50 अब 'CLOCK_c' ब्लॉक को कॉन्फ़िगर करते हैं।
07:54 इसकी कॉन्फ़िगरेशन विंडो को खोलने के लिए ब्लॉक पर डबल क्लिक करें।
07:58 'Period' की वैल्यू को '0.1' रहने दें।
08:02 'Initialisation Time' को '0' करें।
08:06 'OK' पर क्लिक करें।
08:08 अब 'Simulation' पैरामीटर्स को बदलते हैं।
08:12 'Untitled Xcos' विंडो की मेन्यू बार पर 'Simulation' टैब पर क्लिक करें।
08:17 अब ड्राप डाउन मेन्यू से 'Setup' पर क्लिक करें।
08:22 'CScope' ब्लॉक के 'Refresh period' से मिलान करने के लिए 'Final Integration time' को बदलें।
08:28 'Refresh period' की वैल्यू '10' थी।
08:32 अतः, 'Final integration time' की वैल्यू को '10' करें।
08:36 'OK' पर क्लिक करें।
08:38 अब, 'File' पर क्लिक करें और फिर 'Xcos' डायग्राम को सेव करने के लिए 'Save' पर क्लिक करें।
08:44 'Xcos' डायग्राम को सेव करने के लिए एक वांछित डिरेक्टरी चुनें।
08:48 यद्यपि, यह सलाह दी जाती है कि इसे आप उसी फोल्डर में सेव करें जहाँ आपने 'squareit.sci' फाइल सेव की है।
08:56 'OK' पर क्लिक करें।
08:58 ध्यान दें कि 'scifunc' ब्लॉक 'squareit' फंक्शन को कॉल करेगा।
09:02 इसका मतलब है कि 'Xcos' डायग्राम को निष्पादित करने से पहले हमें 'squareit' फंक्शन को लोड करना चाहिए।
09:09 'Scilab एडिटर' विंडो पर जाएँ, जहाँ 'squareit.sci' फाइल खुली हुई है।
09:16 एडिटर के मेन्यू बार पर उपलब्ध 'Execute' बटन पर क्लिक करें।
09:21 यह 'squareit' फंक्शन को लोड करेगा।
09:24 अब हम 'Xcos' डायग्राम को निष्पादित कर सकते हैं।
09:28 'Xcos डायग्राम' फाइल को खोलें।
09:31 'Xcos' विंडो के 'मेन्यू बार' पर उपलब्ध 'Start' बटन पर क्लिक करें।
09:37 एक ग्राफ़िक विंडो खुलेगी।
09:39 यह विंडो दो प्लॉट्स रखेगी।
09:42 काले रंग में इनपुट 'sine wave' और हरे रंग में आउटपुट 'sine wave'
09:47 ध्यान दें कि 'squareit' फंक्शन में कार्यान्वित हुए स्क्वैरिंग फंक्शन ने निश्चित ही साइन वेव का स्क्वायर किया है।
09:55 अतः आउटपुट 'साइन' वेव पॉज़िटिव एक्सिस पर स्थानांतरित की गई है।
10:00 'plot' विंडो को बंद करें।
10:02 अब देखते हैं कि एक फंक्शन जो एक से ज़्यादा इनपुट और आउटपुट वेरिएबल्स रखता है उसे 'कॉल' करने के लिए 'scifunc' ब्लॉक को कैसे एडिट करते हैं।
10:10 'scilab' एडिटर विंडो पर जाते हैं।
10:13 दो इनपुट और आउटपुट वेरिएबल्स रखने के लिए 'squareit' फंक्शन को एडिट रखें।
10:19 आउटपुट वेरिएबल को निम्न की तरह एडिट करें स्क्वायर ब्रैकेट खोलें 'y' कॉमा 'z' स्क्वायर ब्रैकेट बंद करें।
10:28 इनपुट वेरिएबल्स को निम्न की तरह एडिट करें ब्रैकेट खोलें 'a' कॉमा 'b' ब्रैकेट बंद करें।
10:36 हम स्क्वायर किए हुए आउटपुट को 1 यूनिट स्थानांतरित करके फंक्शन को बदलेंगे।
10:41 मेन फंक्शन लाइन को निम्न की तरह एडिट करें:
10:44 'y' इज़ इक्वल टू 'b' प्लस 'a' की घात 2 अंत में एक सेमीकोलन लगाएं।
10:51 एक आउटपुट भी बनाएं जिसका एम्प्लिट्यूड (आयाम) इनपुट का आधा होगा।
10:56 'एंटर' की दबाकर अगली लाइन पर जाएँ और टाइप करें:
11:01 'z' इज़ इक्वल टू 0.5 मल्टिप्लाइड बाइ a अंत में एक सेमीकोलन लगाएं।
11:10 अब फाइल को सेव करें।
11:12 'Xcos' विंडो खोलें।
11:15 इसे कॉन्फ़िगर करने के लिए 'scifunc' ब्लॉक पर डबल क्लिक करें।
11:19 'input port size' फील्ड में, 1 कॉमा 1 के बाद एक सेमीकोलन लगाएं और दोबारा 1 कॉमा 1 टाइप करें।
11:27 उसी प्रकार, 'output port size' फील्ड में, 1 कॉमा 1 के बाद एक सेमीकोलन लगाएं और दोबारा 1 कॉमा 1 टाइप करें।
11:36 'OK' पर क्लिक करें।
11:38 एक नयी 'Scilab Input Value Request' विंडो खुलेगी।
11:41 टेक्स्ट बॉक्स में,
11:43 y1 के बाद एक कॉमा लगाएं और टाइप करें y2,
11:48 y1 और y2 को स्क्वायर ब्रैकेट्स में रखें।
11:52 अब 'u1' के बाद एक कॉमा लगाएं और टाइप करें 'u2'
11:57 'OK'पर क्लिक करें।
11:59 एक अन्य 'Scilab Input Value Request' विंडो खुलेगी।
12:03 आगामी दिखने वाली तीनों विंडोज़ में 'OK' पर क्लिक करते रहें।
12:08 अब 'scifunc' ब्लॉक कॉन्फ़िगर होता है।
12:11 अब मैं 'scifunc' ब्लॉक को दोबारा अलाइन करती हूँ।
12:14 'Palette browser' विंडो खोलें।
12:17 'Sources' सेक्शन में, 'Constant अंडरस्कोर m' ब्लॉक को 'Xcos' विंडो में खींचें और छोड़ें।
12:24 इसे 'Sinusoid generator' ब्लॉक के नीचे स्थित करें।
12:28 'Constant अंडरस्कोर m' ब्लॉक को 'scifunc' ब्लॉक के निचले इनपुट से जोड़ें।
12:36 इस ब्लॉक की डिफ़ॉल्ट वैल्यू 1 है।
12:39 इसे ऐसे ही रहने दें।
12:41 'MUX' ब्लॉक पर डबल क्लिक करें।
12:44 'input port size' को 3 करें।
12:47 'OK' पर क्लिक करें।
12:48 अब मैं 'MUX' ब्लॉक को रीसाइज़ करती हूँ और मैं 'MUX' और 'CSCOPE' ब्लॉक को ठीक से जोडूँगी।
12:59 'scifunc' ब्लॉक के निचले आउटपुट पोर्ट को 'MUX' ब्लॉक के निचले इनपुट पोर्ट से जोड़ें।
13:07 'File' पर क्लिक करें और 'xcos' फाइल को सेव करने के लिए 'Save' चुनें।
13:12 उस 'Scilab editor' पर जाएँ जिसमें 'squareit.sci' फाइल खुली हुई है।
13:18 एडिटर की 'मेन्यू बार' पर उपलब्ध 'Execute' बटन पर क्लिक करें।
13:23 यह 'squareit' फंक्शन को लोड करेगा।
13:26 अब हम 'Xcos' डायग्राम को निष्पादित कर सकते हैं।
13:30 'Xcos' विंडो की मेन्यू बार पर उपलब्ध 'Start' बटन पर क्लिक करें।
13:35 एक ग्राफिक विंडो दिखेगी।
13:38 यह विंडो तीन प्लॉट्स रखेगी।
13:40 काले रंग में इनपुट 'sine wave',
13:43 हरे रंग में आउटपुट 'sine wave' और
13:45 लाल रंग में amplitude scaled input.
13:49 ध्यान दें कि फ़ंक्शन ने इनपुट 'sine wave' को निश्चित ही स्क्वायर किया है और १ यूनिट ऑफसेट से स्थानांतरित भी किया है, जैसे कि अपेक्षित है।
13:59 हमें इनपुट 'sine wave' का बड़ा हुआ आयाम भी मिलता है, जैसे कि अपेक्षित है।
14:05 प्लॉट विंडो को बंद करें।
14:08 अब इसे सारांशित करते हैं।
14:10 इस ट्यूटोरियल में हमने सीखा:
14:12 * 'Scilab' में स्क्वैरिंग फंक्शन लिखना
14:15 * 'Xcos' में 'scifunc' ब्लॉक उपयोग करना
14:19 * विविध प्लॉट्स बनाने के लिए 'MUX' ब्लॉक उपयोग करना
14:22 * अनेक इनपुट और आउटपुट रखने वाले फंक्शन्स को कॉल करना
14:26 निम्न लिंक पर उपलब्ध वीडिओ देखें।
14:29 यह स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है।
14:33 अच्छी बैंडविड्थ न मिलने पर आप इसे डाउनलोड करके देख सकते हैं।
14:37 स्पोकन ट्यूटोरियल प्रोजेक्ट टीम:
14:40 स्पोकन ट्यूटोरियल्स का उपयोग करके कार्यशालाएं चलाती है।
14:43 ऑनलाइन टेस्ट पास करने वालों को प्रमाणपत्र देते हैं।
14:47 अधिक जानकारी के लिए, कृपया contact@spoken-tutorial.org पर लिखें।
14:53 स्पोकन ट्यूटोरियल प्रोजेक्ट टॉक टू अ टीचर प्रोजेक्ट का हिस्सा है।
14:57 यह भारत सरकार के एम एच आर डी के आई सी टी के माध्यम से राष्ट्रीय साक्षरता मिशन द्वारा समर्थित है।
15:05 इस मिशन पर अधिक जानकारी spoken-tutorial.org/NMEICT-Intro पर उपलब्ध है।
15:15 आशा करती हूँ यह ट्यूटोरियल आपके लिए उपयोगी था।
15:19 आय आय टी बॉम्बे से मैं श्रुति आर्य आपसे विदा लेती हूँ। हमसे जुड़ने के लिए धन्यवाद।

Contributors and Content Editors

Shruti arya