OpenModelica/C2/Functions-and-Types/Gujarati

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 નમસ્તે, Functions and Types પરનાં સ્પોકન ટ્યુટોરીયલમાં સ્વાગત છે.
00:06 આ ટ્યુટોરીયલમાં, આપણે શીખવા જઈ રહ્યા છીએ: function ને વ્યાખ્યાયિત કેવી રીતે કરવું છે.
00:12 algorithm નો ઉપયોગ કેવી રીતે કરવો છે. type ને કેવી રીતે વ્યાખ્યાયિત કરવું છે.
00:17 આ ટ્યુટોરીયલને રેકોર્ડ કરવા માટે, હું વાપરી રહ્યો છું OpenModelica 1.9.2 અને Ubuntu operating system version 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 નામનું એક function લખીએ જે 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 અને polynomialEvaluator.
02:51 polynomialEvaluator ફંક્શનને ખોલી તેને જોવા માટે, Libraries Browser માં આઇકોન પર જમણું-ક્લિક કરો અને View Class પસંદ કરો.
03:02 ફંક્શન જો Text View માં ન ખુલે તો, તેને Text View માં ખોલો.
03:08 function નું નામ 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 1 ની વેલ્યુ સાથે a એક real પેરામીટર છે.
03:47 a, b અને c ની વેલ્યુઓની ચર્ચા સ્લાઈડમાં પહેલાથી જ કરાયી છે.
03:53 કૃપા કરી નોંધ લો a, b અને cprotected પેરામીટરો છે.
03:59 Algorithmfunction નાં 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 zreal વેરીએબલ છે.
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 હવે ચાલો હું OMEdit વિન્ડોને ડાબી બાજુએ ખસેડીને તમને Plotting perspective પૂર્ણપણે બતાડું.
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 અને zreal વેરીએબલો તરીકે ઘોષિત કરાયા છે.
08:01 multiplePolynomialEvaluator ફંક્શનને 10 એકમની input આર્ગ્યુંમેંટ સાથે કોલ કરાયુ છે.
08:08 આનો અર્થ એ થાય છે કે multiplePolynomialEvaluator નું input વેરીએબલ 10 એકમની વેલ્યુ લે છે.
08:17 y અને zx = 10 પર અનુક્રમે f(x) અને g(x) ની વેલ્યુઓ લે છે.
08:26 youtput વેરીએબલ 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 algorithm વિભાગમાં ફક્ત assignment સ્ટેટમેંટોને પરવાનગી છે.
10:01 Assignment સ્ટેટમેંટો આપેલ ચિન્હોનો ઉપયોગ કરે છે.
10:06 assignment સ્ટેટમેંટોમાં ડેટા જમણી તરફથી ડાબી તરફે જાય છે.
10:10 Modelica માં વ્યાખ્યાયિત કરેલ ફંક્શનો પર કેટલાક પ્રતિબંધો છે.
10:16 ફંક્શનમાં der() નો ઉપયોગ અમાન્ય છે. time વેરીએબલનાં ઉપયોગ કરવાની પરવાનગી નથી.
10:23 ફંક્શનમાં when સ્ટેટમેંટોને ઉપયોગ કરવાની પરવાનગી નથી.
10:28 function એકથી વધુ algorithm વિભાગ ધરાવી શકતું નથી અને Modelsarguments તરીકે પસાર થઇ શકતા નથી.
10:36 typeModelica માં કસ્ટમ (રૂઢી) 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 modelbouncingBall મોડેલનાં સમાન છે જે પાછલા ટ્યુટોરીયલોમાં ચર્ચા કરાયો હતો.
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 તે Spoken Tutorial project નો સારાંશ આપે છે.
13:05 અમે સ્પોકન ટ્યુટોરીયલનો ઉપયોગ કરીને વર્કશોપો આયોજિત કરીએ છીએ, કૃપા કરી અમને સંપર્ક કરો.
13:10 જો તમારી પાસે આ ટ્યુટોરીયલને લગતા કોઈ પ્રશ્નો છે તો, કૃપા કરી આપેલ વેબસાઈટની મુલાકાત લો.
13:15 અમે વિખ્યાત પુસ્તકોનાં ઉકેલાયેલા ઉદાહરણોનાં કોડીંગનું સંકલન કરીએ છીએ. વધુ માહિતી માટે કૃપા કરી વેબસાઈટની મુલાકાત લો.
13:23 અમે વ્યવસાયિક સીમ્યુલેટર લેબોને OpenModelica માં સ્થાનાંતરિત કરવામાં મદદ કરીએ છીએ.
13:29 Spoken Tutorial Project ને આધાર NMEICT, MHRD, ભારત સરકાર દ્વારા આપવામાં આવ્યો છે.
13:36 અમે OpenModelica ની ડેવલપમેંટ (વિકાસ) ટીમનો, તેમનાં સહકાર બદ્દલ આભાર માનીએ છીએ.

IIT Bombay તરફથી ભાષાંતર કરનાર હું, ભરત સોલંકી વિદાય લઉં છું. જોડાવાબદ્દલ આભાર.

Contributors and Content Editors

Bharat636