OpenModelica/C2/Functions-and-Types/Gujarati
From Script | Spoken-Tutorial
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 અને 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 | હવે ચાલો હું 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 અને 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 એ output વેરીએબલ 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 વિભાગ ધરાવી શકતું નથી અને 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 | આ model એ 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 તે Spoken Tutorial project નો સારાંશ આપે છે. |
13:05 | અમે સ્પોકન ટ્યુટોરીયલનો ઉપયોગ કરીને વર્કશોપો આયોજિત કરીએ છીએ, કૃપા કરી અમને સંપર્ક કરો. |
13:10 | જો તમારી પાસે આ ટ્યુટોરીયલને લગતા કોઈ પ્રશ્નો છે તો, કૃપા કરી આપેલ વેબસાઈટની મુલાકાત લો. |
13:15 | અમે વિખ્યાત પુસ્તકોનાં ઉકેલાયેલા ઉદાહરણોનાં કોડીંગનું સંકલન કરીએ છીએ. વધુ માહિતી માટે કૃપા કરી વેબસાઈટની મુલાકાત લો. |
13:23 | અમે વ્યવસાયિક સીમ્યુલેટર લેબોને OpenModelica માં સ્થાનાંતરિત કરવામાં મદદ કરીએ છીએ. |
13:29 | Spoken Tutorial Project ને આધાર NMEICT, MHRD, ભારત સરકાર દ્વારા આપવામાં આવ્યો છે. |
13:36 | અમે OpenModelica ની ડેવલપમેંટ (વિકાસ) ટીમનો, તેમનાં સહકાર બદ્દલ આભાર માનીએ છીએ.
IIT Bombay તરફથી ભાષાંતર કરનાર હું, ભરત સોલંકી વિદાય લઉં છું. જોડાવાબદ્દલ આભાર. |