نوشته های دکتر خودم

نوشته های دکتر خودم

اینجا من یعنی خودم در مورد خودم و خود خودم می نویسم
نوشته های دکتر خودم

نوشته های دکتر خودم

اینجا من یعنی خودم در مورد خودم و خود خودم می نویسم

به امید صبح

 * به نظرم آینده خیلی روشن‌ه، همه‌ی این روزهایی که گذشت، همه‌ی سختی‌هایی که هست، به من بشارت یک صبح رو میدن، مطمئنا آینده روشن‌ه. ایمان دارم که آینده روشن‌ه…

حکایت همچنان که بود

 * علیرغم همه‌ی تلاشی که برای انجام شدن کاری که میخواستم کردم، ولی اونچه که میخواستم نشد! بر مبنای «و من یتوکل علی الله فهو حسبه» (۶۵:۳) و تلاشی که کردم، خیر رو بر اونچه پیش اومد قرار میدم.

 * اون هدفی هم که اینجا مشخص شده بود هم به سرانجام نرسید و فعلا هم از موضوعیت خارج میشه.

 * شنبه، آغاز ِ ترم جدید، تحقیق در عملیات، شروع فصلی سرد….

هدف: پیاده‌سازی تبدیل گسسته‌ی فوریه

 * دوست دارم تا آخر شهریور، تبدیل گسسته‌ی فوریه رو به یکی از زبان‌های سی*/متلب/پایتون/پی‌اچ‌پی/جاوااسکریپت پیاده‌سازی کنم. برای این کار پیش‌نیازهایی هست که امیدوارم بتونم تمومش کنم.

پایتون برای ریاضی‌دانان

 * اگر شما هم جز افرادی بوده باشید که یکی از دروس آنالیز عددی یا محاسبات عددی رو گذرونده باشید و یا دانشجوی تحصیلات تکمیلی مرتبط با یک پروژه‌ی محاسباتی باشید، احتمالا نمونه‌ای از کدنویسی‌های محاسباتی رو دیده‌اید. برای این مورد، از طیف مختلف زبان‌ها، از سی++ تا پاسکال و متلب استفاده می‌شه. در این بین عموما از متلب/اکتاو برای پیاده‌سازی ایده‌ها و از سی*/جاوا برای اجرایی ساختن آنها استفاده می‌شود، اما در این بین به نظر می‌رسد که یک اسم کمتر شنیده شده باشد: «پایتون».

 * برای مقایسه‌ی امکانات پایتون با متلب می‌توانید اینجا را ببینید و برای شروع یادگری پایتون می‌توانید از کدآکادمی و درس پایتونش استفاده نمائید.

 * همانطور که قدرت متلب به خاطر جعبه‌ابزارهای قدرتمند آن است، برای پایتون نیز می‌توان کتابخانه‌های قدرتمندی را یافت. یک لیست خوب از کتابخانه‌های پایتون را می‌توان در اینجا دید. در زیر ۴ کتابخانه‌ی مفید در محاسبات عددی آورده شده است:

  1. NumPy: کتابخانه‌ای با قابلیت‌های «پردازش قدرتمند آرایه‌های Nبعدی، استفاده از توابع پیچیده و محاسبات مربوط به جبر خطی، تبدیل‌های فوریه و اعداد تصادفی» می‌باشد. همچنین NumPy ابزارهایی را برای استفاده از کدهای سی/سی++ و فرترن در اختیار کاربر قرار می‌دهد.
  2. SymPy: شاید نام Maple به عنوان ابزاری برای محاسبات نمادین را شنیده باشید، محاسبات نمادین به کاربر این اجازه را می‌دهد تا بدون درگیر شدن در محاسبات عددی و تکنیک‌هایش، مشتق یک تابع را حساب کند یا تبدیل فوریه‌ی آنرا بدست آورد. برای مثال در محاسبات عددی، انتگرال تابع x برای یک بازه با استفاده از تکنیک‌های عددی محاسبه و نتیجه‌ی آن که یک عدد است بازگردانده خواهد شد، اما در محاسبات نمادین، انتگرال تابع x برابر  می‌باشد. برای دیدن یک نمونه می‌توانید اینجا را کلیک کنید. SymPy قدرت محاسبات نمادین را به پایتون می‌آورد!
  3. matplotlib: کتابخانه‌ای برای رسم و پردازش تصاویر -نمودار، گراف‌ها و …- ریاضی!
  4. PyWavelet: تبدیلات موجک در پایتون! این کتابخانه قدرت تبدیلات گسسته‌ی موجک را به پایتون می‌آورد ؛) با استفاده آسان و بهینه.

 * س. اوه! برا یه محاسبات باید اینقدر کتابخانه اضافه کنم؟ :/

ج. پایتون یه زبان برنامه‌نویسی‌ه و نه یک ابزار محاسباتی! تمام کارهایی که شما با سی* می‌تونید انجام بدید، در پایتون هم شدنی هستند! شاید خیلی هم راحت‌تر! شما با یادگرفتن پایتون به ابزاری مسلط نمیشین که شاید گاهی فقط به کارتون بیاد! با پایتون میتونید سیستم خودتون رو اونطور که دلتون میخواد به دست بگیرید ؛)

 * س. چقدر طول میکشه من پایتون یاد بگیرم؟

ج. بستگی به خودت داره! اگه قبلا برنامه‌نویسی کار کرده باشی، احتمالا در کمتر از ۲۴ روز بتونی پایتون رو یاد بگیری، و گرنه یه ذره بیشتر! چیزی که هست اینه که اگه پشت‌کار داشته باشی مطمئنا میتونی یاد بگیری. درس پایتون کدآکادمی هم میتونه خیلی این فرآیند رو تسریع ببخشه ؛).

 * س. من رشته‌ی پرستاری خوندم بابا! ولی خب دوست دارم برنامه‌نویسی یاد بگیرم :(

ج. چه رشته‌ی سختی! خدا بهت صبر بده :| خیلی گودرز به شقایق رابطه‌ای نداره خب! جالبه بدونی که حتی یک کتاب رایگان برای آموزش پایتون به تاریخ‌دانان وجود داره ؛) این کتاب برای تمام افرادی که علوم انسانی میخونن قابل استفاده‌ست! احتمالا شما که چند واحد ریاضی بیشتری پاس کردی، راحت‌تر هم بتونی برنامه‌نویسی با پایتون رو یاد بگیری.

 * س. اینکه تو لیست بالا فقط همین ۴تا کتابخانه رو آوردی، یعنی بقیه به اندازه‌ی اینها قوی نبودند؟

ج. مسلما نه! این چهارتا، کتابخانه‌هایی بودند که به درد من میخوردن! شما شاید نیازت یه چیز دیگه باشه و بخوای از کتابخونه‌ی دیگه‌ای استفاده کنی! مثلا برای پردازش تصویر بخواید از Scikit Image استفاده کنید و یا برای برنامه‌نویسی منطقی از PyDatalog! برای پیدا کردن اون چیزی که میخواین از PyPI استفاده کنید ؛).

count--;‎

 * لایف‌هکر در اینجا یه پست نشر داده در مورد اینکه انسان‌ها به صورت متوسط ۲۵۰۰۰ روز در زندگی بزرگسالیشون میگذره و اینا۱ و ۹تا استراتژی ارائه داده که کارایی این ۲۵۰۰۰ روز رو به بیشینه‌ی ممکن برسونه. ۹تا استراتژی عبارتند از:

  1. انرژی‌تان را مدیریت کنید، نه زمان را!
  2. از شب قبل آماده شوید!
  3. تا قبل از ظهر ایمیل‌تان را باز نکنید!
  4. تلفن‌تان را خاموش کنید و آنرا در یک اتاق دیگر قرار دهید!
  5. در یک محیط خنک کار کنید!
  6. نشستن یا ایستادن…
  7. خوردن، پاداش یک تلاش سخت!
  8. برای روز خودت، یک "پیش‌نقشه‌ی روزمره" داشته باش!
  9. قدرت یک روال صبحگاهی!۲

 * یادم میاد صبح که این پست رو شروع کردم به نوشتن، یه هدفی داشتم و میخواستم یه نتیجه‌ی خاص بگیرم ازش، ولی الان یادم نمیاد چی بود. به هر حال فکر کنم انتشارش بهتر از چرکنویس کردن‌ش باشه!


۱. تقریبا من یک دهم این مقدار رو استفاده کردم.

۲. طبیعتا من با متد «من‌درآوردیشن» عناوین رو ترجمه کردم و لزوما درست نیستند!