MatlabTips
892 subscribers
462 photos
72 videos
54 files
304 links
آموزش MATLAB با "استفاده از ویدئو و متن" در سطوح مبتدی تا پیشرفته
پاسخ به سوالات تخصصی:
@roholazandie
Download Telegram
:
روباهی از شتری پرسید:
عمق این رودخانه چقدر است؟

شتر جواب ‌داد:
تا زانو

ولی وقتی روباه توی رودخانه پرید ، آب از سرش هم گذشت!

روباه همانطور که در آب دست و پا می زد و غرق می شد به شتر گفت:
تو که گفتی تا زانووووو!
و شتر جواب داد: بله ، تا زانوی من ، نه زانوی تو!


هنگامی که درکاری از کسی مشورت می گیریم باید شرایط طرف مقابل و خودمان را هم در نظر بگیریم.
لزوماً درکارها هر تجربه ای که دیگران دارند ممکن است برای ما مناسب نباشد
🔵گرادیان از مفهوم تا تئوری🔵
کسایی که دوست دارند یه بار دیگه مفهوم گرادیان رو مطالعه کنند اما این بار به شکلی متفاوت! رجوع به لینک زیر رو بهشون پیشنهاد میکنم. تو این لینک ابتدا به صورت مفهومی و تمثیلی در مورد گرادیان صحبت میکنیم و سپس وارد بحث های ریاضیاتی می شویم. در پایان هم نحوه به کار گیری اون در متلب آورده شده.
https://coffeematlab.com/659/%DA%AF%D8%B1%D8%A7%D8%AF%DB%8C%D8%A7%D9%86/
@MatlabTips
🔵روش مونت کارلو🔵
در بسیاری از کاربردهای یادگیری ماشین یا تخمین توابع به قسمت هایی میرسیم که میخواهیم یک تابع احتمالی را تخمین بزنیم. اگر متغیر مورد نظر ما دارای بعد کمی باشد معمولا روش های ساده ای برای نمونه گیری از آن وجود دارد اما اگر متغیر مورد نظر دارای ابعاد زیادی باشد نمونه گیری های عادی پاسخگو نیست. در این مواقع اصطلاحا با “مخمصه بعد”(Curse of dimentionality) مواجه می شویم. مخمصه بعد به حالتی گفته می شود که نمونه گیری در فضاهای با ابعاد بالا به خاطر تعداد زیاد بعد بسیار دشوار می شود.
ادامه در https://coffeematlab.com/2363/%D8%B1%D9%88%D8%B4-%D8%B2%D9%86%D8%AC%DB%8C%D8%B1%D9%87-%D9%85%D8%A7%D8%B1%DA%A9%D9%88%D9%81-%D9%85%D9%88%D9%86%D8%AA-%DA%A9%D8%A7%D8%B1%D9%84%D9%88/
🔵چرا تازه نفس ها را هدف قرار می دهیم؟🔵

مدرسه آیزاک نیوتون 25 ساله در سالهای 1666 و 1667 میلادی به خاطر شیوع طاعون بسته شد.پس از اتمام تعطیلات، او به استادش آیزاک بارو(Issac Borrow) نشان داد در اوقات فراغت خود قانون گرانش و حساب دیفرانسیل و انتگرال را کشف کرده است! بارو بلافاصله از شغل خود به عنوان استاد دانشگاه کنار رفت آن را به نیوتون واگذار کرد و خود شاگرد او شد! چنین صداقت علمی ای امروزه تقریبا نایاب است.
بسیاری از ما همواره با خطای مقایسه اجتماعی روبرو می شویم. ما تمایل داریم تا جایی که ممکن است به کسانی که امکان دارد از ما پیشی بگیرند کمک نکنیم حتی اگر در دراز مدت این کار ما را شبیه به احمق ها جلوه دهد[1]. این واقعیت برای سازمان ها بسیار خطرناک است: اگر هیئت مدیره (افراد رده آ) افراد باهوشی باشند افرادی به اندازه هوش خودشان را استخدام می کنند (رده ب) اما افراد رده ب قطعا کسانی را استخدام می کنند که بتوانند نسبت به آن ها حس برتری داشته باشند و افراد سطح ج که توسط افراد رده ب استخدام شده اند باز هم کم هوش تر از خود را استخدام می کنند. این فرآیند که با نام "انفجار ابله ها" شناخته می شود عامل ایجاد ناکارآمدی ساختاری و فساد در دراز مدت می شود. اثر موسوم به Danning Kruger نشان داده است بی عرضه ها در نادیده گرفتن ابعاد بی لیاقتی خود با استعداد ترند. بر اساس مطالعات کم هوش ها بیشتر دچار توهم خود برتربینی هستند و و به اشتباه، توانایی‌شان را بسیار بیش از اندازهٔ واقعی ارزیابی می‌کنند. برعکس، افراد خیلی حرفه‌ای، گرایش بیشتری به دست‌کم‌گرفتن شایستگی خود داشته و به نادرست تصور می‌کنند که کاری که برای‌شان آسان است، برای دیگران نیز آسان است. دیوید دانینگ و جاستین کروگر از دانشگاه کرنل این‌گونه نتیجه می‌گیرند: "تخمین نادرست فرد بی‌لیاقت، از اشتباه در ارزیابی خود ناشی می‌شود؛ درحالی‌که تخمین نادرست افراد بسیار بالیاقت، از اشتباه در ارزیابی دیگران نشئت می‌گیرد."[2]
در نتیجه آیا به افرادی که از خودت با استعدادترند انگیزه می دهی؟ مسلم است که در کوتاه مدت برتری ستاره ها می تواند موقعیت تو رو به خطر بیندازد، اما در دراز مدت تو از مشارکت آن ها فقط سود خواهی برد. سرانجام باید قبول کنی که در مرحله ای برخی از تو جلو می زنند. تا آن زمان باید بیشتر مطالعه کنی و بیش از استعدادت تلاش کنی تا بتوانی حداقل پا به پای آن ها برسی.
[1] https://www.sciencedirect.com/science/article/pii/S0749597806001117
[2] https://dx.doi.org/10.1037%2F0022-3514.77.6.1121
🔵تنظیمات High DPI در متلب🔵

برای دوستانی که جدیدا لپ تاب یا PC خریده اند و با صفحه نمایش های High DPI کار میکنند باز کردن متلب تجربه ناخوشآیندی است زیرا تمامی آیکون ها در متلب تار و خواندن فونت کد ها دشوار و سخت است. از آن بدتر زمانی است که چند بار بر روی برنامه متلب راست کلیک کنید. این کار باعث می شود که برنامه کرش کرده و به یک پنجره بسیار کوچک با آیکون هایی که دیگر اصلا نمی توان دید تغییر شکل دهد. در این حالت چاره ای نیست جز آنکه متلب را ببندید و دوباره باز کنید. اما راه حل چیست؟
قطعا متوجه شده اید هرچقدر هم در گزینه های تنظیمات متلب بالا و پایین کنید چیزی که این مشکل را حل کند نخواهید یافت. در اینجا یک راه حل ساده و سریع برای این موضوع پیشنهاد می دهیم. کافی است فایل .p زیر را دانلود کنید و با برنامه متلب آن را اجرا کنید. سپس متلب را ببندید و دوباره باز کنید. تنظیمات High DPI برایتان ست می شود!
⚠️اگر مشکلی در رزولوشن متلب ندارید و یا لپ تاب شما قدیمی است این فایل را اجرا نکنید⚠️
⚠️اگر از نسخه MATLAB 2015b استفاده می کنید این مشکل حل شده است⚠️
Forwarded from Rohola Zandie
🔵مزیت بستن درها🔵

مردی را می شناسم که با سه زن قرار ملاقات میگذارد. او عاشق هر سه نفرشان است و می تواند تصور کند که با هر یک از آن ها تشکیل خانواده بدهد. با این حال او جرات انتخاب بین هیچ کدام از آن ها را ندارد. صرفا به این خاطر که انتخاب یکی به معنای کنار گذاشتن دو تای دیگر برای همیشه است.
دانشجویی بین ادامه دادن رشته کامپیوتر یا ادبیات مردد است او هر دوی آن ها را دوست دارد به همین خاطر در کلاس های هر دو شرکت می کند و وقتش را بین هر دو تقسیم می کند.او احساس می کند اینطوری هر دو گزینه را خواهد داشت و اینطور برایش بهتر است.
مادری فرزندش را به کلاس شنا، پیانو، نقاشی و زبان می فرستند. حتی خود مادر هم می داند که امکان ندارد فرزندش در همه موفق شود اما فکر می کند شاید روزی به کارش آمد.
همه ما سعی میکنیم تا جایی که ممکن است تمام گزینه ها را باز باقی بگذاریم. اما متاسفانه معمولا هیچ کدام را به نتیجه نمی رسانیم و مقدار زیادی وقت و انرژی هدر می دهیم. به همین خاطر است که امروزه با این همه گزینه های زیادی که داریم معمولا از قدیمی ها عقب تر هستیم.
روانشناسان رفتار شناسی اقتصادی Dan Ariely و Jiwoong Shin با اختراع بازی کامپیوتری که این شرایط را تقیلد می کند این رفتار غیر منطقی انسان ها را مطالعه کردند[1]. بازی به این صورت است که در ابتدای بازی با سه در مواجه می شوید. که با کلیک کردن در را باز و وارد اتاقی می شوید. در اتاق می توانید با کلیک کردن داخل اتاق امتیاز بدست بیاورید یا با کلیک کردن روی درِ داخل اتاق به اتاق دیگری بروید. باید حواستان باشد که تعداد محدودی می توانید کلیک کنید(زمان و انرژی محدود در زندگی). و اگر درِ اتاقی را باز کرده باشید و به آن نروید به تدریج درش بسته می شود(از دست دادن یک گزینه به تدریج با بی توجهی). در مجموع سه اتاق بیشتر وجود ندارد و بازی طوری طراحی شده که یکی از اتاق ها به طور متوسط امتیاز بیشتری نصیب شما می کند.
بهترین استراتژی (از لحاظ ریاضی) این است که پس از بررسی چند گزینه محدود، در اتاقی بمانیم و مابقی کلیک ها را مصرف کنیم که به طور متوسط بیشترین امتیاز را می دهد. اما رفتار کاربران متفاوت بود: آن ها سراسیمه تا جایی که می توانستند درهای بیشتری را باز می کردند و زمانی که دری در حال بسته شدن بودن سعی می کردند با صرف یک کلیک آن را باز نگه دارند. این رفتار حتی زمانی که جریمه باز نگه داشتن یک در بیش از یک کلیک شد، تغییری نکرد. وقتی از آن ها پرسیده شد که چرا اینکار را می کنند آن ها پاسخ می دادند:" ممکن است در آینده به دردم بخورد" در صورتی که آن ها هرگز به آن آینده نمی رسیدند و قبل از آن که بتوانند از آن اتاق آن طور که باید استفاده کنند کلیک هایشان تمام می شد. روانشناسان اما نتیجه گرفتند دلیل اصلی باز نگه داشتنِ در این است که افراد نمی خواهند سختی و دردِ بسته شدن یک در را تحمل کنند.
ما همواره می خواهیم در آنِ واحد کارهای زیادی را بکنیم، از هیچ امکانی نمی گذریم و می خواهیم همه گزینه ها را با هم داشته باشیم. این امر به سادگی می تواند موفقیت ما را نابود کند. باید یاد بگیریم درها را ببندیم حتی اگر اینکار برایمان سخت باشد. کارهایی که در زندگی نباید بکنی را بنویس. به بیان دیگر تصمیم های حساب شده ای بگیر تا برخی چیز ها را کلا نادیده بگیری. یک بار خوب فکر کن و تصمیمت را بگیر که سراغ چه چیزهایی، حتی اگر فرصتش بود، نروی. بیشتر درها ارزش وارد شدن ندارند، حتی اگر به نظر برسد چرخاندن دسته در بسیار ساده است.

[1] Shin, J., & Ariely, D. (2004). Keeping doors open: The effect of unavailability on incentives to keep options viable. Management Science, 50(5), 575-586.
🔵فیلم PI🔵
فیلم PI یا همان عدد معروف 3.14 محصول سال 1998 و به کارگردانی دارن ارونوفسکی(Darren Aronofsky) است .این فیلم اولین کار بلند دارن ارونوفسکی است که توجه بسیاری از منتقدین را به خود معطوف ساخت. اما فیلم pi یک فیلم صرفا تجاری نبود زیرا به خاطر ساختارهای پیچیده و نوع روایت داستان و مضمون و محتوا فیلمی تماشاگر پسند نبود. اما به واقع یکی از متفاوت ترین اثار سینمای دهه نود میباشد.
فیلم pi داستان یک ریاضی دان نابغه به نام ماکسیمیلیان کوهن (Maximillian Cohen) است، او سعی دارد با علم ریاضی ماهیت خدا را کشف کند و برای این کار نظریه‌هایی را هم ارائه میکند. او دارای بیماری صرع است و گاه و بیگاه دچار تشنج های شدید عصبی و مغزی میشود. شاید اولین چیزی که مخاطب را در این فیلم با خود درگیر میکند سیاه و سفید بودن فیلم با نورپردازیهای عجیب و غریب است که فضایی تیره و تاریک را در فیلم ترسیم میکند ،البته این عامل شاید به این دلیل باشد که کارگردان قصد دارد جهان را از نگاه شخصیت کوهن نشان دهد جهانی سیاه و سفید و عاری از رنگ.
دوستانی که به این نوع روایت ها علاقه مندن و سلیقه‌های خاص و متفاوت دارند پیشنهاد میکنم که این فیلم را از لینک زیر دانلود کنند.
https://coffeematlab.com/courses/pi-movie/
@MatlabTips
🔵حل دستگاه‌ معادلات خطی به روش ژاکوبی🔵
در متلب دستوراتی مانند solve هستند که قادرند یک دستگاه معادلات را به روش سمبولیک اجرا کنند. اما گاهی اوقات نیاز داریم که یک دستگاه را به روش عددی حل کنیم(برای مثال دستور solve بنا به دلایلی قادر به حل ان نیست). در لینک زیر دوستان علاوه بر مطالعه این الگوریتم میتوانند کد کامل آن نیز به همراه توضیحات و مثال مشاهده کنند.
https://coffeematlab.com/1741/دستگاه-خطی-به-روش-ژاکوبی/
@MatlabTips
🔵روش گاوس سایدل🔵
در این پست می‌خواهیم روش گاوس سایدل که اصلاحیه روش ژاکوبی است را مورد بررسی قرار دهیم. اصلاحیه‌ای که باید صورت بگیرد خیلی پیچیده‌تر از خود روش ژاکوبی نیست و غالبا برای رسیدن به دقتی که روش ژاکوبی داشت به تکرارهای کمتری نیاز است.
در زیر ببینید آنچه دیدنی است:

https://coffeematlab.com/1765/%DA%AF%D8%A7%D9%88%D8%B3-%D8%B3%D8%A7%DB%8C%D8%AF%D9%84/
@MatlabTips
اگر از سرویس های ابری استفاده می کنید یا علاقه دارید که از مهمترین داده هایتان در محیط ابری یک Backup داشته باشید سرویس های زیادی وجود دارند. بیشتر کاربران با storage های Google Drive ،Dropbox یا iCloud آشنایی دارند. اما این سرویس ها معمولا حجم پایینی در اختیار کاربر قرار می دهند یا امنیت لازم را فراهم نمی کنند. سرویس ابری Mega یک Cloud Drive با امکانات عالی و حجم 50 گیگابایت رایگان است که بیشتر عکس ها و فیلم ها و داده های شما را به راحتی می تواند در خود جای دهید. این سرویس بر روی دسکتاپ ویندوز، لینوکس و مکینتاش و نیز گوشی های موبایل اندروید، آیفون و ویندوز موبایل قابل اجرا است. حتی به صورت افزونه کروم، فایرفاکس و نیز سرویس وب می توانید از آن استفاده کنید. این پروژه Open source است و کد تمامی خدمات آن بر روی github قابل دسترسی است. قابلیت سینک کردن فایل ها و دسترسی به آن ها در همه جا بدون محدودیت از ویژگی سرویس های ابری است. در زیر می توانید بیشتر در این مورد بدانید:
https://mega.nz/
Forwarded from گنگ خواب دیده
نفرت انگیز ترین و زجرآورترین شکنجه برای انسانها این است که از فساد همه چیز آگاه باشند و بر اصلاح هیچ چیزی قادر نباشند!



هرودوت
@mortezaebad
🔵احتمال: منطق دانش(قسمت اول)🔵

اگر در به کاربردن آمار و احتمال مشکل دارید یا هنوز هم احساس می کنید کاربرد آن را در هوش مصنوعی، داده کاوی یا شاخه های مرتبط درک نمی کنید ولی در عین حال پیش زمینه ریاضی خوبی دارید، شاید واقعا تقصیر شما نباشد. نگارنده بر آن است که بدفهمی های معمول توسط دانشجویان و حتی اساتید ریشه در مشکل پایه ای دارد که در آموزش نامتجانس احتمال در دبیرستان و دانشگاه وجود دارد. مطالعات نشان داده برخلاف اکثر زمینه های ریاضیات، آمار و احتمال بیشتر از همه در معرض کج فهمی، حتی توسط دانشمندان است. مجموعه ای که در ادامه می آید نتیجه چندین سال تدریس در سطوح مختلف، مطالعه فنی تا فلسفی موضوع و کاوش ذهنی است. قبل از آنکه شروع به خواندن کنید بهتر است سعی کنید چیزهایی که یاد گرفته اید را فراموش کنید.
https://coffeematlab.com/2517/%D8%A7%D8%AD%D8%AA%D9%85%D8%A7%D9%84-%D9%85%D9%86%D8%B7%D9%82-%D8%AF%D8%A7%D9%86%D8%B4/
🔵نوار پیشرفت🔵
فرض کنید الگوریتم مسئله را در متلب در قالب یک اسکریپت که ممکن است خود چندین روتین یا فانکشن مختلف داشته باشد پیاده‌سازی کرده‌اید. از قضا برنامه شما زمانبر است و هر بار که اجرا میکنید شاید دوست داشته باشید که ای کاش مکانیزمی میشد پیاده کرد که به من اطلاع دهد الان کجای کار هستم.
این قابلیت در متلب با نام wait bar شناخته شده است. wait bar یک فیگر (figure) است که درصد پیشرفت کار شما را با استفاده از یک نوار سبز یا قرمز رنگ که در حال پر شدن است نمایش می دهد. علاوه بر این ، این قالب یک پویایی و زیبایی به برنامه شما میبخشد. در زیر گام به گام آموزش پیاده‌سازی یک Wait bar را از حالت پایه تا پیشرفته ارائه خواهم کرد. از آنجایی که ممکن است این بحث طولانی شود بنابراین در چند پست خلاصه میکنم.
basic wait bar
اصولا زمانی از wait bar استفاده میکنیم که یک حلقه داشته باشیم که یک سری عملیات زمانبر در آن در حال انجام است. به کد زیر دقت کنید:
h = waitbar(0,'Please wait...');

steps = 1000;

for step = 1:steps

    % computations take place here

    waitbar(step / steps)

end

close(h)
تصویر نوار پیشرفت
🗝کالبد شکافی کد
خط اول برنامه تابع waitbar را فراخوانی میکند. هندل این تابع در متغیری به نام h ذخیره میشود. تقریبا هر بلایی که میخواهیم بر سر این waitbar بیاوریم از طریق همین هندل است. تابع waitbar در اینجا دو آرگومان گرفته است. آرگومان اول که یک عدد است درصد نوار پیشرفت را نشان میدهد که در ابتدا خالی است. آرگومان دوم هم که به قول معروف self-explanatory است.
حلقه for را تشکیل داده و تابع waitbar را در این حلقه استفاده میکنیم. درون حلقه آرگومان درصد پیشرفت waitbar را بصورت پویا تنظیم میکنیم. برای اولین تکرار مقدار step برابر 1 است بنابراین در تکرار اول به اندازه 0.1 درصد پیشرفت داشته ایم.
همیشه دقت کنید که بعد از اینکه کارتان با waitbar تمام شد با استفاده از تابع close که بر روی هندل اعمال میشود، از شر آن خلاص شوید.
در پست بعد توضیح خواهم داد که چگونه بر روی waitbar به صورت عددی و دینامیک میزان پیشرفت را در هر لحظه چاپ کند و چگونه یک دکمه cancel به این فیگر اضافه کنیم.
@matlabTips
#waitbar
🔵مقایسه ای کوتاه از متلب و اکتاو🔵
شاید بسیاری از کاربران متلب مانند من که برای اولین بار محیط اکتاو(octave) برخورد کردند این جمله رو زیر لب زمزمه کردند "what the hell is that?" و با خودشون گفتن که "so what is difference?".
بله دوستان محیط متلب و اکتاو بسیار مشابه هم هستن ولی یک سری تفاوت ها هم البته در این دو محیط برنامه نویسی سطح بالا وجود دارد که بچه هایی که علاقمندن یا سروکارشان با اکتاو است میتونن به لینک زیر رجوع کنند.
https://coffeematlab.com/876/octave-vs-matlab/
@Matlabtips
🔵ویرایشگر زنده🔵
در Matlab 2016a در کنار تمام تغییرات و ویژگی‌های مثبتی که به آن اضافه شده است، شاید به جرات بتوان گفت که “ویرایشگر زنده” یا Live Editor بسیار برجسته است. با استفاده از این ویژگی کاربر می‌تواند به صورت انلاین خروجی برنامه خود را مشاهده کند. در این ویرایشگر، کاربر قادر است که معادله، هایپرلینک، تصاویر و متن‌هایی با فرمت خاص(فارسی، چینی، …) وارد کند. همه این‌ها در کنار دیگر ویژگی‌هایی که در این ویدئو خواهید دید، باعث می‌شود که کد شما خواناتر شود و همچنین درک درست و سریعی نسبت به برنامه خود داشته باشید.
https://coffeematlab.com/courses/%D9%88%DB%8C%D8%B1%D8%A7%DB%8C%D8%B4%DA%AF%D8%B1-%D8%B2%D9%86%D8%AF%D9%87/
@MatlabTips