Multi-dimensional Arrays এবং Slicing

Arrays এবং Dictionaries (অ্যারে এবং ডিকশনারি) - জুলিয়া (Julia) - Computer Programming

337

জুলিয়া প্রোগ্রামিং ভাষায় multi-dimensional arrays এবং slicing স্ট্রাকচারগুলি ব্যবহার করে আপনি একাধিক মাত্রার (dimension) ডেটা সংরক্ষণ এবং প্রক্রিয়া করতে পারবেন। এই ফিচারগুলি বিশেষভাবে ডেটা সায়েন্স, বৈজ্ঞানিক কম্পিউটিং এবং গাণিতিক বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ।


Multi-dimensional Arrays (বহু-মাত্রিক অ্যারে)

একটি multi-dimensional array এমন একটি অ্যারে যা একাধিক মাত্রার ডেটা সংরক্ষণ করতে সক্ষম। সাধারণত এটি ২ বা তার বেশি মাত্রার অ্যারে হিসেবে ব্যবহৃত হয়।

২-ডি অ্যারে (2D Array)

এটি একটি টেবিলের মতো, যেখানে ডেটা রো (row) এবং কলাম (column) হিসেবে থাকে।

২-ডি অ্যারে তৈরি করা:

arr_2d = [1 2 3; 4 5 6; 7 8 9]
println(arr_2d)

আউটপুট:

[1 2 3]
[4 5 6]
[7 8 9]

এখানে, একটি ২-ডি অ্যারে তৈরি করা হয়েছে, যার মধ্যে তিনটি রো এবং তিনটি কলাম রয়েছে। প্রতিটি সংখ্যা একটি সেল বা পজিশনে অবস্থান করছে।

৩-ডি অ্যারে (3D Array)

এটি একটি বহুমাত্রিক অ্যারে, যার মধ্যে গভীরতার (depth) জন্য তৃতীয় মাত্রা রয়েছে।

৩-ডি অ্যারে তৈরি করা:

arr_3d = cat(3, [1 2 3; 4 5 6], [7 8 9; 10 11 12], dims=3)
println(arr_3d)

আউটপুট:

[
 [1 2 3; 4 5 6]
 [7 8 9; 10 11 12]
]

এখানে, cat(3, ...) ফাংশনটি ৩টি টেবিলকে তৃতীয় মাত্রায় সংযুক্ত করছে, ফলে ৩-ডি অ্যারে তৈরি হচ্ছে।


Slicing (অ্যারে স্লাইসিং)

Slicing হল একটি পদ্ধতি যার মাধ্যমে আপনি একটি অ্যারে থেকে একটি নির্দিষ্ট অংশ বা উপসেট (subset) নির্বাচন করতে পারেন। এটি অ্যারের ইন্ডেক্স ব্যবহার করে করা হয়, এবং এর মাধ্যমে আপনি অ্যারের ভ্যালু অ্যাক্সেস বা পরিবর্তন করতে পারেন।

একটি ২-ডি অ্যারের স্লাইসিং:

arr_2d = [1 2 3; 4 5 6; 7 8 9]

রো এবং কলাম স্লাইসিং:

  1. একটি রো নির্বাচন করা:
row_1 = arr_2d[1, :]   # প্রথম রো নির্বাচন
println(row_1)   # আউটপুট: [1, 2, 3]

এখানে, arr_2d[1, :] প্রথম রো নির্বাচন করবে।

  1. একটি কলাম নির্বাচন করা:
col_2 = arr_2d[:, 2]   # দ্বিতীয় কলাম নির্বাচন
println(col_2)   # আউটপুট: [2, 5, 8]

এখানে, arr_2d[:, 2] দ্বিতীয় কলাম নির্বাচন করবে।

একটি ৩-ডি অ্যারের স্লাইসিং:

arr_3d = cat(3, [1 2 3; 4 5 6], [7 8 9; 10 11 12], dims=3)

একটি ৩-ডি অ্যারে থেকে একটি স্লাইস নির্বাচন:

  1. তৃতীয় মাত্রা থেকে একটি স্লাইস নির্বাচন করা:
slice_1 = arr_3d[:, :, 1]  # প্রথম ৩-ডি স্লাইস নির্বাচন
println(slice_1)

আউটপুট:

[1 2 3; 4 5 6]

এখানে, arr_3d[:, :, 1] প্রথম ৩-ডি স্লাইস (অর্থাৎ ১ম গভীরতা) নির্বাচন করবে।

  1. তিনটি ভিন্ন স্লাইস নির্বাচন করা:
slice_2_3 = arr_3d[:, 2, 2]  # দ্বিতীয় কলাম এবং দ্বিতীয় গভীরতা থেকে স্লাইস
println(slice_2_3)  # আউটপুট: [5, 11]

এখানে, arr_3d[:, 2, 2] দ্বিতীয় কলাম এবং দ্বিতীয় গভীরতার ভ্যালু প্রদান করবে।


Indexing (ইন্ডেক্সিং) এবং Slicing

জুলিয়া অ্যারে ইন্ডেক্সিং এবং স্লাইসিং প্রক্রিয়াতে খুবই নমনীয়। 1-based indexing সিস্টেম ব্যবহার করা হয়, যার মানে হলো অ্যারের প্রথম উপাদানটি ইনডেক্স ১ এ থাকে (পাইথনের বিপরীতে যেখানে ০-based indexing হয়)।

স্লাইসিংয়ের আরও উদাহরণ:

  1. একাধিক রো এবং কলাম স্লাইসিং:
arr_2d = [1 2 3; 4 5 6; 7 8 9]
subset = arr_2d[1:2, 2:3]  # প্রথম দুই রো এবং দ্বিতীয় থেকে তৃতীয় কলাম
println(subset)  # আউটপুট: [2 3; 5 6]

এখানে, arr_2d[1:2, 2:3] প্রথম দুই রো এবং দ্বিতীয় ও তৃতীয় কলামকে নির্বাচন করবে।


Advanced Slicing with Step Sizes

জুলিয়া step sizes সমর্থন করে, যা ইন্ডেক্সিংয়ের মধ্যে স্টেপে স্টেপে নির্বাচনের সুযোগ দেয়। উদাহরণস্বরূপ:

arr_2d = [1 2 3; 4 5 6; 7 8 9]
subset = arr_2d[1:2:end, 1:2:end]   # প্রথম দুই রো এবং কলামের মধ্যে প্রতি দ্বিতীয় উপাদান
println(subset)   # আউটপুট: [1 3; 4 6]

এখানে, 1:2:end স্টেপ সাইজ ব্যবহার করে প্রতিটি দ্বিতীয় উপাদান নির্বাচিত হচ্ছে।


সারসংক্ষেপ

  • Multi-dimensional arrays জুলিয়া ভাষায় একাধিক মাত্রার (dimension) ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। এটি ২-ডি, ৩-ডি বা আরও উচ্চ মাত্রার অ্যারে তৈরি করতে সাহায্য করে।
  • Slicing হল অ্যারের নির্দিষ্ট অংশ নির্বাচন করার পদ্ধতি। আপনি রো, কলাম বা কোন নির্দিষ্ট অংশে কাজ করতে পারেন।
  • Indexing এবং Step Sizes আপনাকে আরও নমনীয়ভাবে অ্যারের নির্দিষ্ট উপাদান নির্বাচন করতে সাহায্য করে।

এই ফিচারগুলো ডেটা সায়েন্স, গাণিতিক বিশ্লেষণ এবং বৈজ্ঞানিক গবেষণায় অত্যন্ত গুরুত্বপূর্ণ, যেখানে বড় ডেটাসেট এবং বহুমাত্রিক ডেটার প্রক্রিয়াজাতকরণ প্রয়োজন।

Content added || updated By
Promotion

Are you sure to start over?

Loading...