يتم إصدار الحزمة أيضًا على PYPI.
للقراء من PYPI ، هنا من فضلك.
بالنسبة لبياناتك التجريبية ومعالجة البيانات البرامج النصية والصور ونتائج الحساب (من المستوى 1 إلى المستوى 4) ، يرجى الرجوع إلى مشروع USTCPHYSEXPDATA. بيانات التجربة الخاصة بي ، ونصوص معالجة البيانات ، والأرقام ، وبعض النتائج (من مستوى التجربة من الأول إلى الرابع) ، يرجى زيارة مشروع USTCPHYSEXPDATA.
لا تريد استخدام OriginLab أو Excel؟ جرب بيثون!
الهدف النهائي هو إنشاء مجموعة من الأدوات لمعالجة البيانات التجريبية الكبيرة تلقائيًا ، ورسم الصور ، وإنشاء مستندات قابلة للطباعة ، وتقديم المستندات إلى أنظمة الطباعة عبر الإنترنت ؛ يتم تحقيق التبسيط والأتمتة لتلبية احتياجات معالجة البيانات الشائعة. مع وجود عدد قليل من الخطوط البسيطة من التعليمات البرمجية ، يمكن إكمال المهام الشائعة مثل تجارب الكائنات الكبيرة مثل الرسم ، والملاءمة ، وحساب عدم اليقين.
لا تزال هناك فجوة كبيرة بين المثالي والواقع. في الوقت الحاضر ، يتم تعبئة مكتبة الرسم Matplotlib فقط ، والملاءمة البسيطة ، وإدخال الملفات ، وتوليد DOCX لتبسيط العمالة المتكررة.
الآن أنا فقط ملفوف مكتبة Dreplotlib التآمرية ، ونفذت الانحدار البسيط ، وإدخال الملفات السهل ، وتوليد docx . لتبسيط الأعمال المتكررة.
المدونة ذات الصلة: صفحات على صفحات العروة USTC على صفحتي الرئيسية
تثبيت الحزمة
استخدام مرآة التونة للتسريع. سيتم تثبيت حالات مثل Numpy و Matplotlib تلقائيًا.
pip install -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple physicsexp
اختبار التثبيت (اختياري)
>>> from physicsexp.mainfunc import *
>>> from physicsexp.gendocx import *
>>>
إذا لم يكن هناك خطأ فأنت جاهز! إذا حدث خطأ فلا تتردد في فتح مشكلة.
قم بتشغيل النص النصي (الموصى به)
python3 ./physicsexp/example/plot.py
سترى الرسوم البيانية برزت وحفظها إلى .png ، وهو Gen.Docx تم إنشاؤه جاهز للطباعة ، والحسابات المطبوعة للإخراج ، في دليل ./physicsexp/example . يمكنك أيضًا استنساخ ustcphysexpdata لتجربة بعض حالات الحياة الواقعية. ثم يمكنك تعديل الرمز أو كتابة التعليمات البرمجية الخاصة بك لمعالجة بياناتك!
إنه مثال حقيقي على الإدخال عدة أسطر من البيانات ، ورسم البيانات وإجراء الانحدار الخطي ، وإنشاء مستند DOCX قابل للطباعة يحتوي على مؤامرة وتحليل النتائج.
إذا كنت ترغب حقًا في معرفة ذلك ، فإن التجربة تدور حول التحقق من الطاقة الحركية النسبية مقابل علاقة الزخم بالإلكترون (Beta-Ray) وقياس استخراج الأشعة بيتا بواسطة قطع الألومنيوم ذات السماكة المختلفة.
أولاً ، ضع بياناتك في data.txt ، مثل هذا:
# 位置x
e -2
23. 24.2 25.5 26.5 27.7 29. 30.5 31.8
# 峰位N
245.77 291.79 336.40 378.52 417.94 456.14 510.12 544.95
# 铝片数量M
0 1 2 3 4 5
# 选区计数N
43901 34258 28725 23670 19386 16866
يمكنك استخدام # لإضافة بعض خطوط التعليقات ، و e * لتحديد ترتيب الحجم-وبالتالي تكون قادرًا على كتابة بيانات الورق الأصلية على الإطلاق دون تحويل.
ثم حان الوقت لكتابة بيثون
الرؤوس والواردات
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from physicsexp . mainfunc import *
from physicsexp . gendocx import * اقرأ الملف بسهولة مع وظيفة readoneline
fin = open ( './data.txt' , 'r' , encoding = 'utf-8' )
pos = readoneline ( fin )
N = readoneline ( fin )
Al_num = readoneline ( fin )
Cnt = readoneline ( fin )
fin . close ()حساب وطباعة بعض النتائج. هذا بيثون ، يمكنك أن تفعل ما تريد بسهولة. (هذا الجزء لا يرتبط بالمكتبة ، يمكنك تخطي هذا)
a = 2.373e-3
b = - .0161
dEk = .20
c0 = 299792458.
MeV = 1e6 * electron
Emeasure = a * N + b + dEk
x0 = .10
R = ( pos - x0 ) / 2
B = 640.01e-4
Momentum = 300 * B * R
Eclassic = (( Momentum * MeV ) ** 2 / ( 2 * me * c0 ** 2 )) / MeV
Erela = np . array ([ math . sqrt (( i * MeV ) ** 2 + ( me * c0 ** 2 ) ** 2 ) - me * c0 ** 2 for i in Momentum ]) / MeV
print ( 'pos t ' , pos )
print ( 'R t ' , R * 100 )
print ( 'pc t ' , Momentum )
print ( 'N t ' , N )
print ( 'Eclas t ' , Eclassic )
print ( 'Erela t ' , Erela )
print ( 'Emes t ' , Emeasure )الآن ، مؤامرة!
الرسم البياني الأول: ثلاثة منحنى في شخصية واحدة. باستخدام simple_plot . يمكنك استخدام اللاتكس في ملصقات المؤامرة. يتم حفظ الرسم البياني إلى 1.png . استخدم show=0 لرسم خطوط متعددة على رقم واحد.
simple_plot ( Momentum , Emeasure , show = 0 , issetrange = 0 , dot = '+' , lab = '测量动能' )
simple_plot ( Momentum , Eclassic , show = 0 , issetrange = 0 , dot = '*' , lab = '经典动能' )
simple_plot ( Momentum , Erela , dot = 'o' , save = '1.png' , issetrange = 0 , xlab = '$pc/MeV$' , ylab = '$E/MeV$' , title = '电子动能随动量变化曲线' , lab = '相对论动能' ) الرسم البياني الثاني ، منحنى بسيط ، يتم حفظه إلى 2.png :
Len = 150
Cnt = Cnt / Len
simple_plot ( Al_num , Cnt , xlab = '铝片数' , ylab = '选区计数率(射线强度)' , title = '$ \ beta$射线强度随铝片数衰减曲线' , save = '2.png' ) الرسم البياني الثالث ، منحنى مع ملاءمة خطي ، باستخدام simple_linear_plot ، تم حفظه إلى 3.png :
CntLn = np . log ( Cnt )
d = 50
Al_Real = Al_num * d
slope , intercept = simple_linear_plot ( Al_Real , CntLn , xlab = '质量厚度$g/cm^{-2}$' , ylab = '选区计数率对数(射线强度)' , title = '半对数曲线曲线' , save = '3.png' )
print ( - slope )
print ( math . log ( 1e4 ) / ( - slope ))
print (( math . log ( Cnt [ 0 ]) - 4 * math . log ( 10 ) - intercept ) / slope )لا تضع الصور في المستندات بنفسك!
مع سطر واحد من التعليمات البرمجية ، قم بإنشاء مستند DOCX قابل للطباعة مع الصور الثلاث المذكورة أعلاه ونتائج الملاءمة.
gendocx ( 'gen.docx' , '1.png' , '2.png' , '3.png' , 'slope, intercept: %f %f' % ( slope , intercept ))نتائج
الإخراج:
pos [0.23 0.242 0.255 0.265 0.277 0.29 0.305 0.318]
R [ 6.5 7.1 7.75 8.25 8.85 9.5 10.25 10.9 ]
pc [1.2480195 1.3632213 1.48802325 1.58402475 1.69922655 1.8240285
1.96803075 2.0928327 ]
N [245.77 291.79 336.4 378.52 417.94 456.14 510.12 544.95]
Eclas [1.52375616 1.81804848 2.16616816 2.45469003 2.82471934 3.25488743
3.78910372 4.28491053]
Erela [0.83752628 0.94478965 1.0622588 1.15334615 1.26333503 1.3831891
1.52222218 1.64324566]
Emes [0.76711221 0.87631767 0.9821772 1.08212796 1.17567162 1.26632022
1.39441476 1.47706635]
0.0038199159787357996
2411.136900195471
2402.45428200782
Docx المولدة:

لا تنس تغيير اسمي إلى لك.
في وقت لاحق وجدت أن استخدام دفتر Jupyter أفضل بكثير من الترميز في محرر Python:

ويمكن لـ JupyterHub توفير وصول دفتر جوبتر لمجموعة من المستخدمين: الحالة الشائعة عندما يرغب العديد من الأشخاص في مشاركة البرنامج النصي لمعالجة بيانات التجربة مع بعضهم البعض.
في. حرفيا لا توجد أمن أو التحكم في الوصول ولكن مقبول لمجموعة من الأشخاص الموثوق بهم على خادم خاص.
هل تريد معرفة كيفية استخدامها بعد قراءة المثال؟
أنت تستطيع:
ومع ذلك ، لا يُقصد منهم الركض مباشرة على جهازك وإعطائك إجابة صحيحة بطريقة سحرية دون أي تغيير ، ولكن إذا كنت ترغب حقًا في تشغيلها ، فربما
git resetعلى هذا المستودع والغوص في التاريخ المظلم هو الملاذ الأخير.
اقرأ الكود المصدر بنفسك. على وجه الخصوص physicsexp/mainfunc.py و physicsexp/gendocx.py - مع مثال يغطي معظم حالات الاستخدام ، تحتاج فقط إلى التحقق من إعلان الوظيفة والخيارات الإضافية المتاحة (أنها تجعل الحياة أسهل).
أو افتح مشكلة. إذا كنت أيضًا طالبًا في USTC ، اتصل بي فقط مع QQ/Email. جهات الاتصال على موقع الويب الخاص بي.
لكن لا تحبط إذا لم يكن أي من هذه الأعمال. يأتي المشروع مع عدم وجود تحذير على الإطلاق.
ويمكن استخدام هذه الأدوات تعزيز كفاءتك؟ لا أعرف ، لكن ربما لا أستطيع ذلك.
** ومع ذلك ، إذا كانت هذه يمكن أن تجعلك تشعر بتحسن على الرغم من قضاء المزيد من الوقت ، استخدمه. **
أخيرًا ، فكر مرتين قبل إضاعة الوقت في هذا المشروع ، بدلاً من ذلك ، استمتع بحياتك ، وتعلم بعض الفيزياء الحقيقية ، والعثور على صديق (فتى | فتاة).
هنا.