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