من معمولا از پایتون برای برنامهنویسی استفاده میکنم، چون پایتون آزاده، رایگانه و یه حالت آچار فرانسهطوری داره که کارهای مختلف میشه باهاش کرد. همینطور پایتون کتابخونههای زیادی داره که برای کارهای مختلف علمی (محاسباتی) میشه ازشون استفاده کرد. خوبی این کتابخونهها اینه که به زبانهای سطح پایینتری نوشته شدن به همین خاطر به قدر کافی سریع هستند! اگر هم کسی قصد کارهای تحلیل داده و یادگیری ماشین داشته باشه هم پایتون گزینه اوله، دست کم برای شروع! خلاصه همیشه به همه پیشنهاد میکنم که با پایتون شروع کنید و اگه کار دانشگاهی میکنید با پایتون ادامه بدین! از همه مهمتر وقتی شما با پایتون کد میزنید معمولا آدمهایی رو پیدا میکنید که مثل شما روی پروژه یا مسئله مشابهی کار کردن یا کار میکنند و از تجربیاتشون میتونید استفاده کنید یا ازشون سوال بپرسین.
با این وجود گاهی پیش میاد که آدم مجبور به استفاده از زبانهای دیگه بشه. تجربه شخصی من اینه که عمده دانشگاهیها به این دلیل مجبور میشن از یک زبان خاص استفاده کنند که به قدر کافی آدمهای حرفهای در تیمشون نیست! گاهی استاد و تیمی که پروژهای رو پیش برده سالها با یک زبان خاص کد زدند و ترجیحشون اینه که آدمهای جدید هم با همون زبون ادامه بدن. راه کمدردسرتری هست معمولا، هر چند که گاهی میتونه به شدت احمقانه باشه! خلاصه ممکنه که هر کسی مجبور بشه سراغ زبانها یا محیطهای دیگه برنامهنویسی بره. یکی از این محیطها متلب هست. توی لینوکس میتونید از Octave به جای متلب استفاده کنید و لذتش رو ببرید!
متلب یک محیط نرمافزاری برای انجام محاسبات عددی و یک زبان برنامهنویسی نسل چهارم است. واژهٔ متلب هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامهنویسی مورد نظر است که از ترکیب دو واژهٔ MATrix (ماتریس) و LABoratory (آزمایشگاه) ایجاد شدهاست. این نام حاکی از رویکرد ماتریس محور برنامه است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته میشوند.
گنو اُکتاو ( GNU Octave) زبان برنامهنویسی سطح بالایی است که بیشتر برای محاسبات عددی به کار میرود. این برنامه امکانات زیادی را از طریق رابط خط فرمان برای حل عددی مسائل خطی و غیر خطی میدهد. این برنامه را میتوان جایگزین مناسبی برای همتای غیر آزاد خود متلب به حساب آورد.
ویکیپدیا
در ادامه یک سری منبع برای یادگیری متلب و اکتاو رو معرفی میکنم.
برای شروع
از بین این دورهها، ببینید کدوم یکی به مذاقتون بیشتر خوش میاد:
- Introduction to Programming with MATLAB, Vanderbilt University
- Introduction To MATLAB Programming, MIT OCW
- MATLAB and Octave for Beginners, EPFLx
برای محسابات عددی
- Learn Differential Equations: Up Close with Gilbert Strang and Cleve Moler, MIT OCW for MATLAB® ODE suite
- Differential Equations: Linear Algebra and NxN Systems of Differential Equations, MITx
- MATLAB Programming for Numerical Computation, IIT Madras
به طور کلی
پیشنهاد من اینه که کلیات متلب رو یاد بگیرین و از منابع مختلف مربوط به کارتون استفاده کنید. مخصوصا از مثالهای خود Mathworks استفاده کنید. مثلا اینجا ۵۰۰ تا مثال خیلی خوب برای ریاضیات، آمار و یادگیری ماشین هست. خوبه به اینها حتما نگاه کنید. حواستون باشه که به روی ایران بستهس و شما نیاز به چیزی برای دور زدن تحریم دارین که حتما راههای مختلفی بلدین براش!
- Numerical Computing with MATLAB, 2nd Edition
این کتاب پر از مثالهای خیلی قشنگه و اساسا آموزشش بر پایه مثال زدن. فصل اولش هم برای کسایی که آشنایی با متلب ندارن یک سری مثال آموزشی خوب داره.
- Scientific Computing with MATLAB and Octave, 4th ed. 2014 Edition
خوبی این کتاب اینه که جواب تمرینها رو هم داره و میشه به عنوان کتاب کمکی برای تدریس ازش استفاده کرد.
به عنوان پیشنهاد به دوستانی که معلم این درس یا درسهای دیگه میشن : میتونید به جای حلتمرین سنتی پایه کلاسهاتون رو بر همچین چیزی بذارید. همین کار کوچیک میتونه تغییر محسوسی توی آموزش فیزیک بهوجود بیاره. این کتاب نسخه پایتونی هم داره!
سلام همیشه موفق و پیروز باشید♥️♥️♥️♥️
سلام. ممنونم 🙂
سلام آقای عباس ک. ریزی ببخشید یه سوال خارج از بحث داشتم که خیلی ذهنمو درگیر کرده
طبق رابطهE=-ER/n^2(انرژی لایه های کوانتومی اتم) لایه اول دارای کم ترین سطح انرژی میباشد پس چرا اتم هیدروژن که تنها الکترونش درلایه اول قرار دارد اینقدر واکنش پذیر است؟
سلام.
واکنش پذیری در حقیقت به این ربط داره که چیزی قبل و بعد از اون واکنش در چه سطحی از انرژی قراره قرار بگیرن. به همین خاطر اتم هیدروژن واکنشپذیری زیادی داره. یعنی وقتی اتم هیدروژن با چیز دیگهای ترکیب بشه در سطح پایینتری از انرژی قرار میگیره.
بحث دقیقتری در مورد ترکیب اتمها رو توی کتابهای مکانیک کوانتومی پیشرفته یا کتابهای شیمی میتونید پیدا کنید.
” وقتی اتم هیدروژن با چیز دیگهای ترکیب بشه در سطح پایینتری از انرژی قرار میگیره.”
مگه سطح انرژی پایین تر از یک ریدبرگ (13.6ev-)هم داریم؟!
این موضوع سطح انرژی لایه ها رو نقض نمیکنه؟؟؟
[…] بیشازپیش نمایان شده است. بهنظر میرسد ابزار برنامهنویسی و شبیهسازی در آیندهای نزدیک، به یکی از مهارتهای […]
سلام علیکم جناب آقای کریمی. وقت بخیر. بسیار ممنون و سپاس از سایت متفاوت و نایاب و نمونه شما. لطفا بهترین کتابهای ترجمه شده به فارسی را برای شبیه سازی و برنامه نویسی و کد نویسی مخصوص فیزیک، معرفی کنید
سلام. راستش منابع فارسی سراغ ندارم الان. شاید باشه ولی من بیاطلاعم.
سلام
تو کارشناسی تو درس مبانی کامپیوتر به ما سی یاد دادن و برای درسهای دیگمون هم از متلب استفاده کردیم. به نظرتون برای ارشد فیزیک بهتره متلب رو ادامه بدیم یا نیازه پایتون یاد بگیریم؟
سلام. فرقی زیادی نداره. پایتون و متلب خیلی شبیه به هم هستند.
خوبه که آدم بسته به گروهی که قراره باهاشون ارشد کار کنه تنظیم کنه این چیزا رو. مثلا اگه اونجا همه با متلب کد میزنن احتمالا استفاده از متلب بهتر باشه. به طور کلی این روزها پایتون بیشتر از هر زبان دیگهای بین دانشگاهیا استفاده میشه.
سلام
Octave نصب کردم ولی فقط از عاداد میتونم استفاده کنم یعنی حروف صفحه کلیدم کار نمیکنن میشه بگید اشکال کار کجاست؟
[…] تا انتگرال حل کردن یاد گرفته و بعدا هم مجبور شده کد توی متلب بزنه اسمش نیست مهندسی برق. اسمش هست حواشی رشته برق که […]