در این نوشته به معرفی دو دستور where و argwhere از کتابخانه numpy پرداخته خواهد شد. این دو دستور اگر درست و به جا استفاده شوند میتوانند موجب خوانایی کدها شده و سرعت برنامهنویسی ما را نیز افزایش دهند. با مثالها گوناگون نحوه استفاده از این دو تابع توصیف خواهد شد.
رگرسیون خطی تخمین یک پارامتر بهصورت تابعی خطی از تعدادی داده دیگر میباشد. در عمل ما به دنبال به دست آوردن یک خط یا در حالت کلی اَبَر صفحه هستیم که با توجه به معیار خطای تعریف شده بهینه است. این روش کاربرد ویژه در علوم و مهندسی داشته و آشنایی با نحوه پیادهسازی آن در پایتون موضوع این نوشته میباشد.
بسیاری از مسائل صنعت و مهندسی در عمل به برنامهریزی بهینه با تابع هزینه قابل بیان به شکل خطی تحت قیود تساوی و ناتساوی ختم میشود. ابزارهای بسیاری برای حل این نوع مسائل طراحی شده است که بطور رایگان در دسترس عموم قرار دارد؛ مثل GNU Linear Programming Kit یا GLTK. با این حال این ابزارها بعنوان ورودی از مدل مجتمع ماتریسی استفاده می کنند. کتابخانه PuLP در پایتون واسط بین کاربر و حل کنندههای برنامهریزی خطی میباشد تا کاربر در گیر ساخت مدل ماتریسی که اغلب زمان بر و پر خطا است نباشد.
کتابخانههای جنبی پایتون اکثرا از رابط Python/C برای افزایش سرعت اجرا استفاده می کنند. برای اینکه بتوانیم از این ظرفیت بالقوه استفاده نماییم باید حدالامکان فراخوانی مکرر توابع کتابخانهای را کاهش دهیم. بعبارت عملیتر از استفاده از حلقهها و فراخوانی توابع پشتسر هم و زاید اجتناب نماییم. در این نوشته با مثالهای متعدد نحوه استفاده صحیح از numpy برای افزایش سرعت محاسبات توضیح داده خواهد شد.
کتابخانه SymPy طیف وسیعی از محاسبات سمبولیک را برای کاربران و برنامه نویسان پایتون فراهم کرده است. یکی از این محاسبات که مورد نیاز مهندسین می باشد، تبدیل لاپلاس و عکس لاپلاس می باشد. محاسبه این تبدیل انتگرالی به سادگی با SymPy قابل انجام است و نشانگر توانمندی رقابت پایتون با متلب می باشد. در این نوشته نحوه محاسبه تبدیل لاپلاس و عکس لاپلاس را با مثال خواهیم دید.
اگر از زبان خشک، بی روح و غیر تکنیکی متلب برای شبیه سازی ها و محاسبات علمی و عددیتان خسته شده اید و می خواهید با زبان پایتون که انعطاف پذیری و سرعت بیشتری نسبت به متلب دارد به انجام کارهای شبیه سازیتان بپردازید، پیشنهاد ما برای شما استفاده از کتابخانه NumPy میباشد. این کتابخانه در کنار دو کتابخانه SciPy و matplotlib تمام آنچه شما نیاز دارید را در خود دارد. در این نوشته در صد قدم ساده و ابتدایی شروع به یادگیری سریع کار با NumPy خواهیم کرد.
در بسیاری از فرآیندهای محاسباتی امکان روبرو شدن با مسئله پیدا کردن ریشه معادلات محتمل است. این معادلات می توانند در حالت کلی غیرخطی و در ابعاد بزرگ باشند از این رو کاربرد روشهای کارامد برای حل این دسته از مسائل بسیار مهم می باشد. یکی از روشهای شناخته شده که مسئله ریشه یابی را تقریب کریلوف ژاکوبین معکوس انجام می دهد، روش نیوتون-کریلوف است. در این نوشته به نحوه پیدا کردن ریشه دسته معادلات غیرخطی با روش نیوتون-کریلوف پرداخته می شود.
شبیه سازی سیستم های دینامیکی، بررسی و کنترل آنها بدون حل معادله سیستمی آن بر اساس زمان و پارامترهای وابسته امکان ناپذیر است. محیطهای محاسبات عددی متعددی برای انجام اینکار مثل متلب موجود می باشند که امکانات متنوعی را فراهم آورده اند. زبان برنامه نویسی پایتون با بهره گیری از کتابخانه محاسباتی NumPy و SciPy به ابزار مناسبی برای محاسبات علمی تبدیل شده است. در این نوشته به دنبال حل عددی دسته معادلات دیفرانسیلی با SciPy هستیم.