مقالات

1.6.5: بيانات أحادية البعد


1.6.5: بيانات أحادية البعد

في هذا القسم ، سنناقش بعض الوظائف التي تنشئ بعض المصفوفات الخاصة. لكل هذه الوظائف ، تُنشئ وسيطة واحدة مصفوفة مربعة ، بينما تُنشئ الوسيطات المزدوجة مصفوفة مستطيلة.

ال الأصفار () تقوم الدالة بإنشاء مصفوفة من جميع الأصفار & الناقص

ستقوم MATLAB بتنفيذ البيان أعلاه وإرجاع النتيجة التالية & ناقص

ال واحد () الدالة تخلق مصفوفة من جميع الآحاد & ناقص

ستقوم MATLAB بتنفيذ البيان أعلاه وإرجاع النتيجة التالية & ناقص

ال عين() دالة تنشئ مصفوفة هوية.

ستقوم MATLAB بتنفيذ البيان أعلاه وإرجاع النتيجة التالية & ناقص

ال راند () تقوم الدالة بإنشاء مصفوفة من الأرقام العشوائية الموزعة بشكل موحد على (0،1) & ناقص

ستقوم MATLAB بتنفيذ البيان أعلاه وإرجاع النتيجة التالية & ناقص


هذه المشكلة لأنك قمت بتعريف tfirst_list كمصفوفة ذات أبعاد N.
فمثلا:

إذا كنت تستخدم بيانات N-dimensional (N. مجموعات البيانات) ، ثم وسيطة الكلمة الأساسية (kwarg اللون) يجب أن يكون أيضًا N-dimensional (لون واحد لكل مجموعة بيانات). على سبيل المثال للحالة أعلاه:

تحقق من نوع بيانات ملف سلسلة هو رقم كانت المشكلة معي.

فقط احذف سمة اللون.

احذف اللون = 'r' واللون = 'c' وستكون المشكلة مخفية - ليس حلًا بل خطوة للأمام.


1.6.5: بيانات أحادية البعد

توفر الخصائص المذكورة أعلاه لـ Binary Search Tree ترتيبًا بين المفاتيح بحيث يمكن تنفيذ العمليات مثل البحث والحد الأدنى والحد الأقصى بسرعة. إذا لم يكن هناك طلب ، فقد نضطر إلى مقارنة كل مفتاح للبحث عن مفتاح معين.

البحث عن مفتاح
للبحث عن قيمة ، إذا كان لدينا مصفوفة مرتبة يمكننا إجراء بحث ثنائي. لنفترض & # 8217s أننا نريد البحث عن رقم في المصفوفة ، ما نفعله في البحث الثنائي هو أننا نحدد أولاً القائمة الكاملة كمساحة بحث لدينا ، يمكن أن يوجد الرقم فقط داخل مساحة البحث. نقوم الآن بمقارنة الرقم المراد البحث عنه أو العنصر المراد البحث عنه بالعنصر الأوسط لمساحة البحث أو الوسيط وإذا كان السجل الذي يتم البحث عنه أقل ، فسنبحث في النصف الأيسر ، نذهب للبحث في النصف الأيمن ، في حالة المساواة وجدنا العنصر. في البحث الثنائي نبدأ بـ 'ن' العناصر في مساحة البحث ، ثم إذا لم يكن العنصر الأوسط هو العنصر الذي نبحث عنه ، فإننا نقوم بتقليل مساحة البحث إلى "ن / 2" ونستمر في تقليل مساحة البحث حتى نعثر على السجل الذي نبحث عنه أو نصل إلى عنصر واحد فقط في مساحة البحث وننتهي من هذا الاختزال بالكامل.
ستكون عملية البحث في شجرة البحث الثنائية متشابهة جدًا. لنقول & # 8217s أننا نريد البحث عن الرقم ، ما & # 8217 سنفعله هو أننا & # 8217 سنبدأ من الجذر ، وبعد ذلك سنقارن القيمة التي سيتم البحث عنها مع قيمة الجذر إذا كانت & # 8217s متساوية لقد انتهينا من خلال البحث إذا كان & # 8217s أقل ، نعلم أننا بحاجة إلى الانتقال إلى الشجرة الفرعية اليسرى لأنه في شجرة البحث الثنائية تكون جميع العناصر الموجودة في الشجرة الفرعية اليسرى أقل وكل العناصر الموجودة في الشجرة الفرعية اليمنى أكبر. إن البحث عن عنصر في شجرة البحث الثنائية هو في الأساس عملية المسح التي سنذهب فيها في كل خطوة إما نحو اليسار أو اليمين ، وبالتالي في كل خطوة نتجاهل إحدى الأشجار الفرعية. إذا كانت الشجرة متوازنة ، فإننا نسمي شجرة متوازنة إذا لم يكن الاختلاف بين ارتفاعات الشجرة الفرعية اليمنى واليسرى بالنسبة لجميع العقد أكبر من واحد ، فسنبدأ بمساحة بحث تبلغ 'ن'العقد وعندما نتخلص من إحدى الأشجار الفرعية سنقوم بإهمالها "ن / 2" العقد لذلك سيتم تقليل مساحة البحث لدينا إلى "ن / 2" ثم في الخطوة التالية سنقلص مساحة البحث إلى "ن / 4" وسنستمر في الاختزال مثل هذا حتى نجد العنصر أو حتى يتم تقليل مساحة البحث الخاصة بنا إلى عقدة واحدة فقط. البحث هنا هو أيضًا بحث ثنائي وهذا & # 8217s سبب اسم شجرة البحث الثنائية.


12 أمرًا أساسيًا باستخدام مصفوفة NumPy

NumPy (تُنطق باسم Num-pee أو Num-pai) هي إحدى حزم python المهمة (الأخرى هي SciPy) للحوسبة العلمية. يوفر NumPy هياكل بيانات سريعة ومرنة للمصفوفات والمصفوفات متعددة الأبعاد مع العديد من الوظائف / العمليات الرياضية المرتبطة بها. بنية البيانات الأساسية في NumPy هي & # 8220ndarray & # 8221 ، اختصار لمصفوفة n-dimesional لتخزين القيم الرقمية. دعونا نبدأ ببعض الأوامر الأساسية مع NumPy 1d-array (صفيف أحادي البعد).

كيفية استيراد حزمة NumPy؟

كيف تصنع مصفوفة ذات بعد واحد؟

يمكننا إنشاء مصفوفة NumPy باستخدام الوظيفة مجموعة مصفوفة مع قائمة الأرقام كوسيطة.

كيف تجد طول (أو عدد العناصر) لمصفوفة 1d؟

يمكننا إيجاد عدد العناصر في مصفوفة 1d أو طول المصفوفة باستخدام الدالة لين.

كيف تجمع كل العناصر في المصفوفة 1d؟

إذا أردنا جمع كل العناصر في مصفوفة مكونة من 1d numpy باستخدام الوظيفة مجموع. هذه طريقة أسرع من استخدام حلقة for يدويًا عبر جميع العناصر في مصفوفة 1d.

كيف تجد القيمة القصوى في مجموعة NumPy 1d؟

يمكننا العثور على القيمة القصوى المخزنة في مجموعة 1d باستخدام NumPy & # 8217s الأعلى وظيفة.

كيف تجد الحد الأدنى للقيمة في مجموعة NumPy 1d؟

وبالمثل ، يمكننا العثور على الحد الأدنى للقيمة المخزنة في مجموعة 1d باستخدام NumPy & # 8217s دقيقة وظيفة.

كيفية إنشاء مجموعة NumPy 1d مع 1s؟

قد ترغب أحيانًا في إنشاء مصفوفة عددية مكونة من 1s في جميع العناصر. NumPy & # 8217s منها يمكن للوظيفة إنشاء مجموعة 1d مع 1s. نحتاج إلى تحديد طول مصفوفة NumPy كوسيطة.

كيفية إنشاء مجموعة NumPy 1d مع 0s؟

وبالمثل ، يمكننا إنشاء صفيف 1d NumPy مع 0s فيه باستخدام الأصفار وظيفة.

كيفية إنشاء مجموعة NumPy 1d فارغة بطول محدد؟

قد ترغب في وقت ما في إنشاء مصفوفة فارغة بدون قيم فيها. يمكننا استخدام NumPy & # 8217s فارغة وظيفة لإنشاء مجموعة NumPy فارغة.


Xarray للبيانات الشبكية متعددة الأبعادensional

في محاضرة الأسبوع الماضي ، رأينا كيف قدمت Pandas طريقة لتتبع "البيانات الوصفية" الإضافية المحيطة بمجموعات البيانات المجدولة ، بما في ذلك "الفهارس" لكل صف وتسميات لكل عمود. هذه الميزات ، جنبًا إلى جنب مع العديد من إجراءات Pandas المفيدة لجميع أنواع التحكم في البيانات وتحليلها ، جعلت Pandas واحدة من حزم Python الأكثر شيوعًا في العالم.

ومع ذلك ، لا تتناسب جميع مجموعات بيانات علوم الأرض بسهولة مع النموذج "الجدولي" (أي الصفوف والأعمدة) الذي تفرضه Pandas. على وجه الخصوص ، غالبًا ما نتعامل معها بيانات متعددة الأبعاد. بواسطة بيانات متعددة الأبعاد (تسمى أيضًا غالبًا N- الأبعاد) ، أعني البيانات ذات الأبعاد أو المحاور المستقلة. على سبيل المثال ، قد نمثل درجة حرارة سطح الأرض $ T $ كمتغير ثلاثي الأبعاد

حيث $ x $ يمثل خط الطول و $ y $ يمثل خط العرض و $ t $ هو الوقت.

الهدف من xarray هو توفير راحة على مستوى الباندا للعمل مع هذا النوع من البيانات.


مصفوفة بايثون متساوية

تتحقق وظيفة Python Numpy المتساوية مما إذا كان كل عنصر في المصفوفة يساوي رقمًا معينًا أم لا. إذا كان صحيحًا ، يتم إرجاع True المنطقية بطريقة أخرى ، خطأ. صيغة الدالة المتساوية في Python Numpy هي

  • np.equal (arr، 0) - تحقق مما إذا كانت العناصر في مجموعة arr تساوي 0.
  • np.equal (arr1، 28) - تحقق من العناصر في مصفوفة ثنائية الأبعاد ، فإن arr1 يساوي 28.
  • np.equal (arr2، 8) - تحقق من أن عناصر المصفوفة ثلاثية الأبعاد تساوي 8.

Numpy Array ناتج دالة متساوية


بعض المصطلحات ذات الصلة بالصفيف

يعطي الجدول التالي بعض المصطلحات المتعلقة بالمصفوفة & ناقص

شرط المعنى
مرتبة هو عدد أبعاد المصفوفة. على سبيل المثال ، بالنسبة للمصفوفة المسماة بالمصفوفة ، الرتبة هي 2 ، وللصفيف المسماة الأرقام ، الرتبة هي 1.
حد إنه عدد العناصر على طول البعد. على سبيل المثال ، أرقام المصفوفة لها المدى 5 والمصفوفة المسماة بالمصفوفة لها مدى 3 في كلا البعدين.
شكل شكل المصفوفة هو مصفوفة عدد صحيح أحادي البعد ، تحتوي على عدد العناصر (المدى) في كل بُعد. على سبيل المثال ، بالنسبة لمصفوفة المصفوفة ، الشكل هو (3 ، 3) وأرقام المصفوفة هي (5).
مقاس هو عدد العناصر التي تحتوي عليها المصفوفة. بالنسبة لمصفوفة المصفوفة ، فهي 9 ، وأرقام المصفوفة 5.


1.6.5: بيانات أحادية البعد

المصفوفة هي مجموعة من المتغيرات ذات النوع المتماثل التي يشار إليها باسم شائع. ويطلق على كل عنصر بيانات عنصر من عناصر المصفوفة. قد تكون أنواع بيانات العناصر أي نوع بيانات صالح مثل char و int و float وما إلى ذلك ويتم تخزين العناصر في مكان قريب. طول من المصفوفة يحدد عدد العناصر الموجودة في المصفوفة. في سي # يتم تخصيص الذاكرة للصفائف ديناميكيًا. والمصفوفات هي نوع من الكائنات ، لذلك من السهل العثور على حجمها باستخدام الوظائف المحددة مسبقًا. يتم ترتيب المتغيرات في المصفوفة ولكل منها فهرس يبدأ من 0. المصفوفات في C # تعمل بشكل مختلف عما هي عليه في C / C ++.

نقاط مهمة يجب تذكرها حول المصفوفات في C #

  • في C # ، يتم تخصيص كل المصفوفات ديناميكيًا.
  • نظرًا لأن المصفوفات عبارة عن كائنات في C # ، فيمكننا إيجاد طولها باستخدام طول العضو. هذا يختلف عن C / C ++ حيث نجد الطول باستخدام sizeof المشغل.
  • يمكن أيضًا الإعلان عن متغير مصفوفة C # مثل المتغيرات الأخرى باستخدام [] بعد نوع البيانات.
  • يتم ترتيب المتغيرات في المصفوفة ولكل منها فهرس يبدأ من 0.
  • مصفوفة C # هي كائن من النوع الأساسي النظام.
  • يتم تعيين القيم الافتراضية لعناصر المصفوفة الرقمية ونوع المرجع لتكون صفرًا وخاليًا على التوالي.
  • عناصر الصفيف المتعرجة هي أنواع مرجعية ويتم تهيئتها إلى قيمة خالية.
  • يمكن أن تكون عناصر المصفوفة من أي نوع ، بما في ذلك نوع المصفوفة.
  • أنواع المصفوفات هي أنواع مراجع مشتقة من صفيف نوع القاعدة المجرد هذه الأنواع تنفذ لا تعد ومن أجل ذلك ، يستخدمون التكرار foreach على جميع المصفوفات في C #.

يمكن أن تحتوي المصفوفة على أنواع بيانات أولية بالإضافة إلى كائنات من فئة اعتمادًا على تعريف المصفوفة. عند استخدام أنواع البيانات الأولية ، يجب تخزين القيم الفعلية في مواقع ذاكرة متجاورة. في حالة كائنات فئة ، يتم تخزين الكائنات الفعلية في مقطع كومة الذاكرة المؤقتة.

يوضح الشكل التالي كيف يخزن المصفوفة القيم بالتسلسل:

توضيح :
يبدأ الفهرس من 0 ، والذي يخزن القيمة. يمكننا أيضًا تخزين عدد ثابت من القيم في مصفوفة. يجب زيادة فهرس المصفوفة بمقدار 1 بالتسلسل عندما لا يصل إلى حجم الصفيف.

هنا،
& lt نوع البيانات>: يحدد نوع عنصر المصفوفة.
[]: تحدد حجم المصفوفة.
& lt Name_Array>: إنه اسم المصفوفة.

ملحوظة : فقط إعلان المصفوفة لا يقوم & # 8217t بتخصيص الذاكرة للمصفوفة. لذلك يجب تهيئة المصفوفة.

كما ذكرنا سابقًا ، المصفوفة هي نوع مرجعي ، لذا فإن ملف الجديد الكلمة الأساسية المستخدمة لإنشاء مثيل للمصفوفة. يمكننا تعيين عناصر صفيف فردية مُهيأة ، بمساعدة الفهرس.

هنا ، يحدد النوع نوع البيانات التي يتم تخصيصها ، ويحدد الحجم عدد العناصر في المصفوفة ، و Name_Array هو اسم متغير المصفوفة. و الجديد سيخصص الذاكرة لمصفوفة وفقًا لحجمها.

أمثلة: لإظهار طرق مختلفة لإعلان المصفوفة والتهيئة

تعلن العبارة أعلاه وتهيئ مصفوفة نوع int التي يمكنها تخزين خمس قيم int. يتم تحديد حجم الصفيف بين أقواس مربعة ([]).

العبارة أعلاه هي نفسها ، لكنها تعين قيمًا لكل فهرس في <>.

في البيان أعلاه ، يتم تهيئة قيمة المصفوفة مباشرة دون أخذ حجمها. لذلك ، سيكون حجم المصفوفة تلقائيًا هو عدد القيم المأخوذة مباشرة.

تهيئة المصفوفة بعد التصريح

يمكن تهيئة المصفوفات بعد الإعلان. ليس من الضروري التصريح والتهيئة في نفس الوقت باستخدام ملف الجديد كلمة رئيسية. ومع ذلك ، عند تهيئة المصفوفة بعد الإعلان ، يجب تهيئتها بالكلمة الأساسية الجديدة. يمكن & # 8217t أن تتم تهيئتها عن طريق تعيين القيم فقط.

ملحوظة : التهيئة دون إعطاء الحجم غير صالح في C #. سيعطي خطأ وقت الترجمة.

مثال: تصريح خاطئ لتهيئة مصفوفة

في وقت التهيئة ، يمكننا تعيين القيمة. لكن يمكننا أيضًا تعيين قيمة المصفوفة باستخدام فهرسها عشوائيًا بعد التصريح والتهيئة. يمكننا الوصول إلى قيمة مصفوفة من خلال الفهرسة الموضوعة للعنصر داخل أقواس مربعة باسم المصفوفة
مثال :

تطبيق : الوصول إلى عناصر المصفوفة باستخدام حلقات مختلفة


المصفوفات

المصفوفات هي مجموعة القيم المحدودة والمرتبة ، وهي من نفس النوع. تسمى كل قيمة مفردة عنصر (مكون) من المصفوفة.

2. ما هي أنواع البيانات التي يمكن أن تكون عناصر المصفوفة؟

يمكن أن يكون نوع المصفوفة أيًا ، معتمدًا في باسكال ، باستثناء نوع الملف. هذا النوع هو نوع أساسي.

3. كيفية تحديد المصفوفة أحادية البعد؟

وفقًا لصيغة باسكال ، يمكنك تحديد المصفوفة بطريقتين. الطريقة الأولى - في & # 8220 فار & # 8221 القسم. الطريقة الثانية & # 8211 باستخدام تعريف النوع الخاص به في & # 8220 اكتب & # 8221 القسم.

الطريقة 1. تعريف صفيف أحادي البعد في فار قسم تعريف المتغيرات.

الطريقة 2. تعريف مصفوفة أحادية البعد باستخدام قسم & # 8220 type & # 8221.

4. كيف يتم الوصول إلى عناصر المصفوفة أحادية البعد؟

افترض أن لدينا الوصف التالي:

بعد ذلك ، لتعيين القيمة لعنصر محدد من المصفوفة ، عليك كتابة:

5. مثال على مقتطف الشفرة لمصفوفة صفرية تسمى & # 8220 M & # 8220 ، تحتوي على 100 عدد صحيح.
6. مثال على حساب مجموع عناصر مصفوفة Mas ، التي تحتوي على 50 رقمًا حقيقيًا.
7. مثال للبحث عن القيمة القصوى في مصفوفة مكونة من 100 رقم.
8. مثال على تحديد وجود عنصر معين في مصفوفة مكونة من 100 عدد صحيح.

في المثال أدناه ، يتم حفظ المصفوفة في المتغير Mas. يتم حفظ العنصر الذي تريد البحث عنه في المتغير الأسطوانات.

9.مثال على فرز مصفوفة أحادية البعد من الأرقام الحقيقية باستخدام فرز الإدراج.

مقتطف التعليمات البرمجية ، الذي يفرز مصفوفة الأعداد الصحيحة ، حيث يكون الحد الأقصى للعناصر متساويًا مع MaxItems. يتم فرز العناصر بترتيب تنازلي.

10. كيف يتم تنفيذ إسناد قيمة مصفوفة إلى مصفوفة أخرى في باسكال؟

مقتطف الكود ، حيث يتم تعيين قيمة المصفوفة M1 في المصفوفة M2. يجب أن تكون المصفوفات من نفس النوع.

11. كيف تتحقق تهيئة المصفوفة أحادية البعد؟

يتم تحقيق تهيئة صفيف أحادي البعد في القسم مقدار ثابت. في مقتطف الشفرة أدناه ، تمت تهيئة صفيفتين:

12. مثال على تعريف واستخدام مصفوفة ثنائية الأبعاد في البرنامج.

هناك طريقتان لتعريف المصفوفات ثنائية الأبعاد.

مثال 1. تعريف المصفوفة ثنائية الأبعاد في القسم فار .

مثال 2. التعريف باستخدام ملف اكتب قسم.

مثال على تخصيص القيم لعناصر المصفوفة ثنائية الأبعاد.

عند الإشارة إلى المصفوفة الموجودة بين قوسين مربعين ، حدد رقم السطر الأول ، في الثانية & # 8211 رقم العمود.

13. أمثلة على تعريف المصفوفات متعددة الأبعاد.

في المثال أدناه يتم تعريف المصفوفات ثلاثية الأبعاد ورباعية الأبعاد.

14. مثال على تهيئة مصفوفة ثنائية الأبعاد.

في المثال التالي ، تمت تهيئة المصفوفات ثنائية الأبعاد للأعداد الصحيحة ، والتي يتم وصفها بطرق مختلفة. وفقًا لنهج باسكال ، يجب أن تتحقق تهيئة المصفوفات في القسم مقدار ثابت (قسم تعريف الثوابت).

15. مثال على تهيئة مصفوفة متعددة الأبعاد.

تهيئة مصفوفة الأعداد الصحيحة ثلاثية الأبعاد:

16. مثال على صفير مصفوفة ثنائية الأبعاد للأعداد الصحيحة بحجم 10 * 10.

في المثال أدناه المصفوفة المسماة & # 8220 Matr & # 8221 هي صفرية.

17. مثال على البحث عن عنصر معين في مصفوفة الأعداد الصحيحة بحجم 20 * 20.

في المثال المعطى ، قيمة num هي العنصر المطلوب ، f_is & # 8211 علامة تحدد وجود العنصر في المصفوفة. ويعتبر أن مصفوفة المصفوفة مليئة بالفعل بالقيم.

18. مثال على تحديد القيمة الدنيا في مصفوفة الريالات.

في المثال ، يتم حفظ القيمة الدنيا المطلوبة في المتغير دقيقة. يعتبر أن مصفوفة المصفوفة مليئة بالفعل بالقيم.

19. مثال على حساب مجموع بنود المصفوفة للريال.

في المثال ، يتم حفظ مجموع عناصر المصفوفة في المجموع المتغير. يعتبر أن المصفوفة مليئة بالقيم.

20. مثال على تعريف واستخدام مصفوفة أحادية البعد من الهياكل من نوع BOOK.

افترض أن لدينا الوصف التالي:

مثال على الوصول إلى هياكل الكتب المصفوفة. في هذا المثال ، في العنصر الموجود في الفهرس 3 للمصفوفة & # 8220 BOOKS & # 8221 ، يتم حفظ البيانات.

21. مثال على تعريف واستخدام مجموعة من السلاسل.
22. مثال على تعريف واستخدام مجموعة من الفئات.

في المثال ، تم وصف الفئة المسماة TMyClass. في الفصل المتغيرين مع الأسماء x و ذ أعلن. الوصول إلى هذه المتغيرات عام.


شاهد الفيديو: بيانات وجداول وبيانات ورسوم بيانية بحثThe Components of GDP (كانون الثاني 2022).