طرق معالجة البيانات من التجربة المادية

على الرغم من أن العمل في المختبرات في معظم المؤسسات التعليمية في روسيا يحدث بالتنسيق القديم (عندما يقوم طالب فقير بجمع بيانات من معدات ما قبل التاريخ ، وقياس فترة التذبذب يدويًا باستخدام جهاز توقيت ، يحاول مؤلمًا العثور على تفسير للبيانات غير الواقعية) ، فقد اشترت بعض الجامعات أجهزة استشعار ولوحات (أهم) أجهزة الكمبيوتر لراحة الطلاب. بالطبع ، المعدات الجيدة تعمل على تحسين دقة التجربة. ومع ذلك ، فقد واجه خادمك المتواضع مرات عديدة زعزعة زملائه: "حسنًا ، ما الذي أعطانا هذه المجسات؟ "من السهل رسم الرسومات باستخدام الأقلام وقياس الوقت ، بدلاً من المعذبة باستخدام البرمجة على جهاز كمبيوتر." أعترف - لقد مررت أيضًا بفترة مماثلة من التكيف ، والتي مرت بسرعة كبيرة. لذلك ، أشارك تجربتي.
صورة

جنوبلوت


ربما يكون هذا هو أبسط شيء يمكن أن يعرضوه لنا في المقام الأول (باستثناء ربما Word أو Excel). معالجة البيانات باستخدام gluplot بسيطة للغاية ولا تتطلب معرفة خاصة في البرمجة ، اللغة قريبة من الخوارزمية. مثالية لبدء العمل على معالجة البيانات الرسومية.

كيفية الاستخدام


افترض أن لدينا ملفًا يحتوي على بيانات - عمود واحد يحتوي على قيم القياس لبعض المعلمات. استدعاء هذا الملف data.dat. نحن نعلم أن البيانات هي توزيع طبيعي ، فليكن التوزيع الشامل لمجموعة من البراغي. مهمتنا هي تحديد متوسط ​​قيمة كتلة المسمار. الحل الخاص بي هو رسم مخطط بياني من البيانات ثم تقريبها بمنحنى f(x)=ae frac((xc)2b. فيما يلي مثال على رمز لمثل هذا البناء:

bin_width=0.1 set boxwidth 0.9*bin_width absolute bin_num(x)=floor(x/bin_width) rounded(x)=bin_width*(bin_number(x)+0.5) plot 'data.dat' using (rounded($1)):(1) smooth frequency with boxes set table 'table.dat' replot #   ,       unset table f(x)=a*exp(-(xc)**2/b) a=6#    ""    b=0.01 c=2 fit f(x) 'table.dat' using 1:2 via a, b, c plot f(x), 'data.dat' using (rounded($1)):(1) smooth frequency with boxes 

في التقريب ، سيتم تحديد قيم a و b و c بدقة جيدة إلى حد ما. في مشكلتنا ، من السهل تخمين أن المعلمة c هي القيمة المتوسطة لكتلة الكائنات المقاسة. وبالتالي ، باستخدام رمز بسيط وبعض الاعتبارات ، يمكنك بسرعة تحليل البيانات التي تم جمعها.

استنتاجاتي حول العمل مع GNUplot


في الحالات التي تحتاج فيها إلى معالجة رسومية سريعة لكميات كبيرة من البيانات (كبيرة في إطار العمل المختبري) ، تعتبر GNUplot مثالية. ومع ذلك ، تظهر الأخطاء في بعض الأحيان ، والطبيعة التي يجب عليك التفكير فيها. أوصي باستخدامه للمبتدئين في بعض الأعمال الأساسية ، على سبيل المثال ، البحوث الإحصائية.

لابفيو


تم تصميم هذا الوحش لأصحاب المختبرات الحقيقية! منصة بصرية بحتة لمحاكاة عمل المختبر. يقوم هو نفسه بجمع البيانات من ComPorts ، ويقوم بمعالجتها بنفسه ، ويقوم أيضًا بإنشاء رسومات بيانية ديناميكية. الفرص - الكثير. يعمل معظم المهندسين خصيصًا من أجل Labview. لكن! يستغرق الكثير من الجهد لمعرفة ذلك.

صورة

استنتاجاتي حول العمل مع LabVIEW


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

الثعبان


هذه اللغة هي اكتشاف عظيم للفيزيائيين. في أغلب الأحيان أستخدمها لحل مشاكل الفيزياء الحاسوبية ، على سبيل المثال ، الحل العددي للمعادلات التفاضلية. مثل guplot ، هذه اللغة جيدة لمعالجة البيانات الرسومية ، فهي تحتوي على عدد أقل من الأخطاء والبساطة في بناء الجملة (على الرغم من أنني لا أشكو من guplot). أنا شخصياً أحب بيثون أكثر من ذلك ، لكن كل واحد لديه بلده.

وكمثال على العمل مع Python ، أقدم استيفاءًا من نقطة متعددة الحدود لاجرانج ، لأنه لم يكن هناك مثال أكثر وضوحًا لتحليل البيانات في متناول اليد . يستخدم الاستيفاء عادة للحصول على صيغة تقريبية لاعتماد كميتين.

 import numpy as np import matplotlib.pyplot as plt def f(x, y, t): lag = 0 for j in range(len(y)): n = 1 dn = 1 for i in range(len(x)): #  if i == j:#      n = n * 1 dn = dn * 1 else: n = n * (t - x[i]) dn = dn * (x[j] - x[i]) lag = lag + y[j] * n / dn return lag xk = np.linspace(-1, 1, 11) yk = 1/(1+xk**2) xnew = np.linspace(-1, 1, 200) ynew = [f(xk, yk, i) for i in xnew] plt.title(u'  ') plt.xlabel(u'x') plt.ylabel(u'y') plt.plot(xk, yk, '.', xnew, ynew) plt.grid() plt.show() 

استنتاجاتي حول العمل مع بيثون


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

بدلا من الاستنتاج


في هذا الاستعراض القصير ، قررت مشاركة تجربتي في استخدام بعض برامج معالجة البيانات. آمل أن يساعدك في أنشطة البحث الخاصة بك.

حظا سعيدا

Source: https://habr.com/ru/post/ar444090/


All Articles