سؤال

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

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

سبب اهتمامي بـ F# هو وظائف وحدات القياس التي توفرها اللغة.

هل كانت مفيدة؟

المحلول

في رأيي المتحيز، تعتبر F# مثالية للفيزياء.يحتوي على ميزة تسمى وحدات القياس والتي تقوم بتحليل الأبعاد نيابةً عنك، وتوفر الأخطاء إذا أخطأت في ذلك.على سبيل المثال إذا كتبت:

let distance : float<meters> = gravity * 3.0<seconds>

التي من شأنها أن تسفر عن خطأ في الترجمة, حيث أن الجاذبية <متر/ثانية^2> وليست <متر>.وهذا يمنع قدرًا كبيرًا من أخطاء البرمجة المتعلقة بالفيزياء.

لمزيد من المعلومات تحقق من مدونة أندرو كينيدي.

نصائح أخرى

وأنا استقل إدخال مكالمة كتاب "F # للعلماء" (مقدمة متاح مجانا)، ويبدو أن يكون مقدمة جيدة إلى الميدان، منذ F # يبدو أن تتكيف بشكل جيد جدا لهذا النوع من الميدان .

وقد ترغب في إلقاء نظرة على المقدمة.

http://www.ffconsultancy.com/products/fsharp_for_scientists/

(وليس، وليس لدي أي علاقة مع المؤلف؛ -)

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

حول تحليل الأبعاد:خدعة حسابية ممتعة قدمها ذات مرة أحد أساتذتي في الفيزياء:نظرًا لأن طهي ديك رومي يزن رطلًا واحدًا في فرن معين يستغرق ساعة واحدة، فكم من الوقت يستغرق طهي ديك رومي يزن 2 رطل في نفس الفرن؟

حسنا، يظهر تحليل الأبعاد

(1) أن إجمالي كمية الطاقة الحرارية اللازمة لطهي الديك الرومي تتناسب مع كتلة الديك الرومي، والتي تتناسب في حد ذاتها مع حجمه، والذي يتناسب في حد ذاته مع مكعب متوسط ​​"نصف القطر" الخاص به.
أي
الطاقة الحرارية اللازمة للطهي = k1 * (turkeyRadius" ^3) ==> الوحدة :م ^ 3 * ك (حيث وحدة k1 هي J / م ^ 3)

(2) أن إجمالي كمية الطاقة الحرارية التي يوفرها الفرن تتناسب مع سطح الديك الرومي مضروبًا في مقدار الوقت الذي تقضيه في طهيه،
أي
الحرارة التي يوفرها الفرن = k2 * الوقت * (نصف القطر التركي ^ 2) (حيث تكون وحدة k2 هي J / s / m^2 )

ثم باستخدام (1) = (2) تحصل عليه
الوقت = k1 / k2 * نصف قطر تركيا ^ (3/2)

أي
- يتناسب وقت الطهي مع نصف القطر ^ 3/2
- بالنظر إلى أن نصف القطر التركي يتناسب مع الجذر المكعب للكتلة، نحصل عليه
وقت الطهي = k3 * sqrt(الكتلة)

لذلك، سوف يستغرق الأمر sqrt(2) وقتًا أطول لطهي الديك الرومي الذي يبلغ وزنه 2 رطل، ويتم الحصول على النتيجة بدون أي حساب على الإطلاق - فقط تحليل الأبعاد.

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

ويتكون F # للمجالات المعرفة مثل الفيزياء.

وFsharp هو خيار واحد. إذا كنت تريد أن تتعلم مهارة والتي قد تكون أيضا أكثر فائدة على المدى الطويل لماذا لا تتعلم الثعبان. سيكون لديك أيضا نمباي وscipy في متناول يدك ثم أيضا.

وتعلم أي لغة الكمبيوتر لن يعلمك الفيزياء، ويمكنك أن تتعلم الفيزياء من خلال كتابة البرامج في أي لغة.

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

ولقد اكتسبت دائما من دواعي سروري الضارة معين في الحصول على إجابة خاطئة عن عوامل من 10 ^ 34 لأنني حصلت على وحدات بلدي خطأ في مكان ما؛ -)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top