OpenModelica/C2/Arrays-in-Modelica/Bengali

From Script | Spoken-Tutorial
Revision as of 15:25, 18 January 2018 by Kaushik Datta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:01 Arrays এর স্পোকেন টিউটোরিয়ালে আপনাদের স্বাগত।
00:05 এখানে আমরা শিখব: Arrays ভ্যারিয়েবল ঘোষিত করা, Arrays বানানো, for এবং while লুপ ব্যবহার করা এবং OMShell এর ব্যবহার।
00:20 টিউটোরিয়ালটি রেকর্ড করতে ব্যবহার করছি: OpenModelica 1.9.2
00:26 টিউটোরিয়ালটি অনুশীলন করতে আপনি নিম্ন অপারেটিং সিস্টেমের যে কোনো একটির ব্যবহার করতে পারেন।
00:32 টিউটোরিয়ালটি বুঝতে এবং অনুশীলন করতে যে কোনো প্রোগ্রামিং ভাষাতে arrays সম্পর্কে জানতে হবে।
00:40 Modelica তে class পরিভাষিত করা সম্পর্কে জানতে হবে। পূর্বাবশ্যক টিউটোরিয়াল আমাদের ওয়েবসাইটে উল্লিখিত। সেগুলি দেখুন।
00:50 Vector ওয়ান ডাইমেনশনাল অ্যারে।
00:53 এতে একক ইনডেক্স রয়েছে।
00:55 ভেক্টর ঘোষণার জন্য Syntax দেখানো হয়েছে।
00:50 প্রদর্শিত উদাহরণ ভেক্টর ভ্যারিয়েবল a ঘোষিত করে তার আকার হল 2.
01:05 একটি ভেক্টর কোঁকড়া র্বন্ধনীতে এলিমেন্ট অন্তর্ভুক্ত করে বানানো যেতে পারে।
01:11 এই উদাহরণ একটি vector প্যারামিটার a সহ 2 এবং 3 কে তার এলিমেন্ট হিসাবে সংজ্ঞায়িত করে।
01:19 Vector এর এলিমেন্ট যাক্সেস করতে, indexing বোঝা প্রয়োজন।
01:25 vector indexing এর জন্য সিনট্যাক্স দেওয়া হয়েছে।
01:29 Vector indexing 1 থেকে শুরু হয় এবং Indices পূর্ণসংখ্যা হতে হবে।
01:35 polynomialEvaluatorUsingVectors নামে একটি ফাংশন বানাই।
01:41 এই ফাংশন polynomialEvaluator এর একটি এক্সটেনশন যা পূর্বের টিউটোরিয়াললে আলোচনা করা হয়েছিল।
01:49 আমরা polynomialEvaluator এর a, b এবং c প্যারামিটার ভেক্টর a দ্বারা পরিবর্তন করব।
01:58 আমাদের Code Files লিঙ্কে উপলব্ধ সকল ফাইল ডাউনলোড করে সংরক্ষণ করুন।
02:05 আপনার সুবিধা জন্য, polynomialEvaluator ফাংশনও উপলব্ধ।
02:12 এখন এই ফাংশন প্রদর্শন করতে OMEdit এ যাই।
02:17 OMEdit এখন Welcome Perspective এ খোলে।
02:21 আমি সকল প্রয়োজনীয় ফাইল খুলেছি।
02:25 লক্ষ্য করুন নিম্ন ক্লাস বা ফাংশন এখন OMEdit এ খোলা: functionTester, matrixAdder, polynomialEvaluator এবং polynomialEvaluatorUsingVectors
02:42 এখন, তাদের দেখতে প্রতিটি আইকনে ডবল ক্লিক করুন।
02:49 ভাল দৃশ্যতার জন্য OMEdit উইন্ডো বামদিকে সরাই।
02:56 polynomialEvaluator ট্যাবে যান।
03:00 এটি Text View তে খুলুন।
03:03 এই ফাংশন সম্পর্কে আরো জানতে, পূর্ববর্তী টিউটোরিয়াল দেখুন।
03:09 আমি polynomialEvaluatorUsingVectors এ যাই। এটি Text View তে খুলুন।
03:16 Input এবং output ভ্যারিয়েবল polynomialEvaluator ফাংশনের অনুরূপ।
03:23 polynomialEvaluator এর a,b এবং c প্যারামিটার ভেক্টর a দ্বারা বদলানো হয়েছে।
03:32 এই ভেক্টরের আকার হল 3.
03:36 এই ভেক্টরের এলিমেন্ট কোঁকড়া বন্ধনীতে অন্তর্ভুক্ত যেমনকি দেখাচ্ছে।
03:42 এলিমেন্ট comm দ্বারা পৃথক করা হয়েছে।
03:46 assignment স্টেটমেন্টে, ভেক্টর a এর এলিমেন্ট তাদের সূচক ব্যবহার করে অ্যাক্সেস করা হয়।
03:54 a[1] ভেক্টর a এর প্রথম এলিমেন্ট।
03:59 একইভাবে, ভেক্টর a এর দ্বিতীয় এলিমেন্ট এবং তৃতীয় এলিমেন্ট অ্যাক্সেস করা হয়েছে।
04:08 এখন, আমি functionTester ট্যাবে যাই।
04:13 এটি Text View তে খুলুন।
04:16 এই ক্লাস functionTester ক্লাসের অনুরূপ যা আগের টিউটোরিয়ালে আলোচনা করেছি।
04:24 Z হল Real ভ্যারিয়েবল।
04:27 PolynomialEvaluatorUsingVectors ফাংশনকে 10 ইউনিটের input আর্গুমেন্ট সহ কল করা হয়।
04:35 এই ফাংশন দ্বারা প্রদত্ত ভ্যালু z এর সমান।
04:40 এখন এই ক্লাসটি সিমুলেট করি।
04:43 Simulate বোতামে ক্লিক করুন।
04:46 পপ আপ উইন্ডো বন্ধ করুন।
04:49 Variables ব্রাউজারে z চয়ন করুন।
04:53 লক্ষ্য করুন যে z এর ভ্যালু x = 10 এ f(x) এর সমান।
05:00 এই প্লট polynomialEvaluator ফাংশনে দেখানো কেসের অনুরূপ।
05:07 এখন z অচয়নিত করে ফলাফল মুছে দিন।
05:13 Modeling perspective এ ফিরে যান।
05:16 এখন স্লাইডে ফিরে যাই।
05:19 for লুপের ব্যবহার স্টেটমেন্ট বার বার পুনরাবৃত্তি করতে করা হয়।
05:24 এর ব্যবহার algorithm এবং equation সেকশনে করা যেতে পারে।
05:29 for লুপের জন্য সিনট্যাক্স একটি উদাহরণ সহ দেখানো হয়েছে।
05:34 for লুপের ব্যবহার কিভাবে করে তা দেখাতে OMEdit এ ফিরে যাই।
05:40 polynomialEvaluatorUsingVectors ট্যাবে ক্লিক করুন।
05:45 fx এর জন্য assignment স্টেটমেন্টে, আমরা ভেক্টর a এর এলিমেন্ট অ্যাক্সেস করছি।
05:52 এটি for লুপ ব্যবহার করেও করা যেতে পারে।
05:55 এখন দেখি যে algorithm সেকশনে for লুপ কিভাবে অন্তর্ভুক্ত করে।
06:01 প্রথমে, শুরু এবং শেষে ডবল স্ল্যাশ রেখে fx এর জন্য assignment স্টেটমেন্ট কমেন্ট করুন।
06:10 Ctrl + S টিপে ফাংশনটি সংরক্ষণ করুন।
06:15 প্রবিষ্ট করা for লুপ for-loop.txt নামে টেক্সট ফাইলে দেওয়া হয়েছে।
06:23 এটি আমাদের ওয়েবসাইটে উপলব্ধ। আমি gedit ব্যবহার করে এই ফাইলটি খুলেছি।
06:29 উইন্ডোজ ইউসার এটি খুলতে notepad বা অন্য কোনো এডিটর ব্যবহার করতে পারে।
06:35 আমি gedit এ যাই।
06:38 Ctrl + C টিপে সকল স্টেটমেন্ট কপি করুন।
06:44 OMEdit এ ফিরে যান।
06:46 Enter টিপুন। Ctrl + V টিপে সকল স্টেটমেন্ট পেস্ট করুন।
06:53 Ctrl + S টিপে ফাংশনটি সংরক্ষণ করুন।
06:57 এখন, আমি এই লুপের প্রতিটি স্টেটমেন্ট ব্যাখ্যা করি।
07:02 লুপ শুরু হওয়ার আগে এই স্টেটমেন্ট শূন্যের প্রাথমিক মান fx নির্ধারণ করে।
07:09 এখানে, i একটি লুপ কাউন্টার হিসাবে কাজ করে।
07:12 i এর ভ্যালু 3 না হওয়া পর্যন্ত লুপ রান হয়।
07:16 এটি ব্যবহার করার আগে i ঘোষিত করা আবশ্যক নয়।
07:21 আমি একটু নীচে স্ক্রোল করি।
07:24 এই স্টেটমেন্ট মৌলিকরূপে polynomial f(x) এর শর্তাবলী যোগ করে।
07:30 Polynomial f(x) এর আলোচনা করা হয়েছে যখন polynomialEvaluator ফাংশন নিয়ে আলোচনা হয়েছিল।
07:37 এই স্টেটমেন্ট for লুপের সমাপ্তি ইঙ্গিত করে।
07:41 এখন, এই ফাংশনটি সম্পূর্ণ।
07:44 ফাংশনটি যাচাই করতে আমি functionTester ফাংশন ব্যবহার করি।
07:49 আমি এই ফাংশনে class এর জন্য কোনো পরিবর্তন করিনি।
07:54 আমি টুলবারে Simulate বোতামে টিপে এই ক্লাস সিমুলেট করি।
07:49 variables browser এ z চয়ন করুন।
08:03 লক্ষ্য করুন z এর ভ্যালু ফাংশনে পরিবর্তন হওয়ার পরেও একই।
08:10 আমি z অচয়নিত করি এবং ফলাফল মুছে ফেলি।
08:14 Modeling perspective এ ফিরে যান।
08:17 এখন আমি আবার স্লাইডে ফিরে যাই।
08:21 while লুপের ব্যবহার স্টেটমেন্ট পুনরাবৃত্তি করতে করা হয় যতক্ষণ কোনো দেওয়া স্থিতি সন্তুষ্ট না হয়।
08:27 while লুপের ব্যবহার equation সেকশনে করা যাবে না।
08:31 while এর তুলনাতে for লুপ প্রায়ই Modelica তে ব্যবহার করা হয়।
08:37 এখন Arrays নিয়ে আলোচনা করি।
08:40 Arrays এর ব্যবহার multi-dimensional ডেটা প্রদর্শন করতে করা হয়।
08:44 তাদের vector নোটেশন ব্যবহার করে বানানো যেতে পারে।
08:48 Array ঘোষিত করতে এবং indexing এর জন্য সিনট্যাক্স দেখানো হয়েছে।
08:55 array বানানো এবং indexing সম্পর্কে অধিক জানতে:
09:00 আমি matrixAdder নামে ক্লাস লিখি যা mySum দিতে myMatrix এবং adder matrices যোগ করে। myMatrix এবং adder matrices প্রদর্শিত হয়।
09:14 এখন, matrixAdder ক্লাস দেখাতে OMEdit এ যান।
09:19 এটি ইতিমধ্যেই OMEdit এ খোলা রয়েছে।
09:23 matrixAdder ট্যাবে ক্লিক করুন।
09:26 এটি Text view তে খুলুন।
09:29 myMatrix একটি Real প্যারামিটার অ্যারে।
09:33 বর্গাকার বন্ধনীতে সংখ্যা, এই array এর আকার বোঝায়।
09:39 প্রথম মাত্রার আকার হল 3.
09:42 একইভাবে, দ্বিতীয় মাত্রার আকার হল 2.
09:46 MyMatrix অ্যারের নির্মাণ প্রতিটি দুটি এলিমেটের তিনটি ভেক্টর ব্যবহার করে করা হয়।
09:53 {1,2} প্রথম ভেক্টর
09:57 {3,4} দ্বিতীয় এবং
10:00 {5,6} তৃতীয় ভেক্টর বোঝায়।
10:04 এই প্রতিটি ভেক্টরের আকার এই array এর দ্বিতীয় মাত্রার আকারের সমান।
10:11 তাই, myMatrix এর দ্বিতীয় মাত্রার আকার 2.
10:16 ভেক্টরের সংখ্যা প্রথম মাত্রার আকারের সমান। তাই, প্রথম মাত্রার আকার হল 3.
10:25 adder ম্যাট্রিক্স এর নির্মাণ একই উপায়ে করা হয়েছে।
10:29 এই দুটি arrays বা matrices জুড়তে আমাদের দুই মাত্রার এলিমেন্ট অ্যাক্সেস করতে হবে।
10:35 তাই nested for লুপের প্রয়োজন।
10:40 এই for লুপ প্রথম মাত্রার মাধ্যমে রান হয়।
10:44 একইভাবে এই for লুপ দ্বিতীয় মাত্রার মাধ্যমে রান হয়।
10:49 আমি এটি একটু নীচে স্ক্রোল করি।
10:52 myMatrix এবং adder matrices এর অনুরূপ এলিমেন্ট mySum এ জোড়া হয়েছে।
11:00 এই স্টেটমেন্ট প্রতিটি for লুপের সমাপ্তি প্রদর্শন করে। ক্লাস এখন সম্পূর্ণ।
11:07 আমি Simulate বোতামে ক্লিক করে এটি সিমুলেট করি।
11:11 এটি প্রদর্শিত হলে পপ আপ উইন্ডো বন্ধ করুন।
11:15 এখন variables কলাম বিস্তৃত করি।
11:18 adder[1,1], myMatrix[1,1] এবং mySum[1,1] চয়ন করুন।
11:25 লক্ষ্য করুন adder[1,1] plus myMatrix[1,1], mySum[1,1] দেয়, যার মানে ফলাফল সঠিক।
11:35 আমি তাদের অচয়নিত করে ফলাফল মুছে ফেলি।
11:40 স্লাইডে ফিরে যাই।
11:43 অনুশীলনী হিসাবে: ভেক্টরের এলিমেন্টের ক্রম উল্টো করতে vectorReversal নামে ফাংশন লিখুন।
11:51 একইভাবে matrix এর প্রতিটি সারিতে এলিমেন্টের ক্রম উল্টো করতে matrixReversal নামে ফাংশন লিখুন।
12:00 এই দুটি ফাংশন যাচাই করতে FunctionTester ক্লাস লিখুন।
12:05 এর সাথেই আমরা টিউটোরিয়ালের শেষে এসেছি।
12:09 নিম্ন লিঙ্কে উপলব্ধ ভিডিওটি দেখুন: http://spoken-tutorial.org/ http://spoken-tutorial.org] /What\_is\_a\_Spoken\_Tutorial, এটি প্রকল্পকে সারসংক্ষেপে দেখায়।
12:15 আমরা কর্মশালার আয়োজন করে এবং প্রশংসাপত্র দেই। আরো জানতে আমাদের লিখুন।
12:21 আপনার এই স্পোকেন টিউটোরিয়ালে কোন প্রশ্ন থাকলে নিম্ন সাইটে যান।
12:28 আমরা জনপ্রিয় বইগুলির সমাধানকৃত উদাহরণের কোডিং নির্দেশ করি।
12:33 যারা এটি করে আমরা তাদের মানদণ্ড এবং সার্টিফিকেট দেই। আরো জানতে এই সাইটে যান।
12:39 আমরা কমার্শিয়াল সিমুলেটর ল্যাবগুলি OpenModelica তে মাইগ্রেট করতে সহায়তা করি। আরো জানতে এই সাইটে যান।
12:48 Spoken Tutorial প্রকল্প ভারত সরকারের NMEICT, MHRD দ্বারা সমর্থিত।
12:55 আমরা OpenModelica উন্নয়ন দলকে তাদের সমর্থনের জন্য ধন্যবাদ জানাই।
13:00 আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। অংশগ্রহনের জন্যে ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta, Satarupadutta