چگونه متلب را یاد بگیریم؟

متلب سراراهنمای کاربردی

امیدواریم از خواندن این مقاله لذت کافی را ببرید

در صورتی که قصد دارید که با آموزش های پروژه محور دانش خود را در زمینه کدنویسی متلب ارتقاء دهید می توانید به فروشگاه متلب سرا مراجعه نمایید. همچنین جهت شرکت در دوره های آموزش ویدئویی می توانید در بخش دوره های آموزشی دوره مدنظر خود را بررسی و در صورت تمایل در آن شرکت نمایید.

در این پست از وب سایت متلب سرا قصد داریم به بررسی این موضوع بپردازیم که اصولا یک مهندس، برنامه نویس یا متخصص علوم رایانه یا هر کسی که به متلب علاقمند است، چگونه می تواند متلب را به ساده ترین شکل ممکن یاد بگیرید. پس با ما در متلب سرا همراه باشید.

در ضمن این مقاله به پرسش های زیر پاسخ خواهیم داد:

  • آیا یادگیری متلب به صورت خودآموز امکان پذیر است؟
  • برای یادگیری متلب از چه منابعی بایستی استفاده کرد؟
  • یک مهارت آموز در اولین قدم برای نوشتن یک برنامه متلب چه باید بکند؟
  • آیا برای آموختن حرفه ای برنامه نویسی متلب باید سطح بالایی در ریاضیات داشت؟
  • چه دستوراتی در کدنویسی متلب مفید هستند؟
  • چگونه می توان بررسی کرد که یک برنامه خوب کار می کند یا خیر؟
  • چه چیزها و چه ابزارهایی برای یادگیری برنامه نویسی متلب مفید است؟
  • در حالت کلی چه چیزهای یا ابزارهایی برای یک برنامه نویس مفید است؟

مسلماً Matlab جامع ترین documentation (مستندات) را در مقایسه با سایر زبان های برنامه نویسی داراست. به همین دلیل، من همیشه تصور می کردم که یادگیری و ورود به دنیای Matlab به نسبت سایر زبان ها باید یک فرایند کاملا ساده باشد و طبیعتا نباید اهمیتی داشته باشد که قبلاً یک برنامه نویس با تجربه در زبان های دیگر بوده اید، یا حتی متلب اولین زبانی است که می خواهید برنامه نویسی با آن را شروع کنید.

با این حال، هنگامی که این ماجراجویی را در دوره دانشجویی آغاز کردم به طرز شگفت انگیزی دریافتم که گاهی اوقات تنها خواندن help و مستندات نرم افزار موثرترین راه برای چشیدن طعم این زبان نیست (قبل از شروع برنامه نویسی با متلب من با زبان c و تا حدودی پایتون کار کرده بودم).

دقیقاً به دلیل جامعیت فوق العاده Documentation، بهتر است به عنوان یک مرجع به آن نگریسته شود تا یک منبع آموزش.

با توجه به این موضوعات، من تصمیم گرفتم آنچه را که آموخته ام، که به نوعی معتقدم ضروری ترین مواردی است که برای شروع باید بدانید، در این مقاله به شکل خلاصه بیان کنم.

ریاضیات و برنامه نویسی متلب

در حالت کلی شاید برای پیشرفت در برخی شاخه های برنامه نویسی مثل برنامه نویسی وب نیاز به دانش زیادی در ریاضیات نباشد. در این شاخه ها قطعاً نیازی به درک ریاضیات پیشرفته برای تبدیل شدن به یک برنامه نویس متخصص ندارید. تنها چیزی که نیاز دارید درک جامع از عمل های اصلی (جمع، تفریق ، ضرب و تقسیم) است.

نوعی درک شهودی از منطق های برنامه نویسی شاید بسیار مفیدتر از شرکت در یک دوره ریاضیات پیشرفته باشد و این منطق با کسب تجربه بیشتر در برنامه نویسی راحت تر درک می شود.

شما در شروع کار برنامه نویسی با مشکلات بسیاری دست و پنجه نرم خواهید کرد و با مفاهیمی مانند حلقه های تکرار، ساختارهای سلسله مراتبی و … مشکلاتی خواهید داشت اما هرچه بیشتر تمرین کنید، این مشکلات خواهد شد.

مسلما هرچه شما سطح بالاتری در ریاضیات داشته باشید و درک عمیق تری از مفاهیم ریاضی کسب کنید این امکان را دارید که به برنامه نویس بهتری تبدیل شوید. دانش ریاضی به شما انعطاف پذیری در کدنویسی و استفاده از روش های خلاقانه را هدیه می کند.

اما این موضوع به این معنا نیست که بدون داشتن دانش زیاد در ریاضیات در برنامه نویسی موفق نخواهید شد بلکه باید این آمادگی را داشته باشید تا متناسب با نیاز خود دانش خود را ارتقاء دهید.

اگرچه متلب نرم افزاری آکادمیک است و اصولا آنچه که در متلب پیاده سازی می شود ریاضیات حاکم بر هر مساله است اما در کاربردهای ساده و در شروع کار نیازی به دانش آنچنانی در ریاضیات نیست و می توانید کار خود را با هر سطحی در ریاضیات شروع کنید و در ادامه با توجه به نیازهای مساله خود سعی کنید دانش خود را ارتقا بخشید.
هر چه سطح مساله شما بالاتر رود و تخصصی تر شود نیاز شما به ریاضیات سطح بالاتر نیز بیشتر خواهد شد پس باید آمادگی مواجهه با چنین مسائلی را نیز داشته باشید.

کتاب های ریاضی که می تواند به شما در ارتقاء سطح ریاضی مورد نیاز برنامه نویسی متلب کمک کند؟

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

من در ادامه نام چند کتاب را با شما به اشتراک می گذارم (لازم به ذکر است که این کتاب ها به هیچ وجه نمی تواند برای همگان مفید باشد زیرا سطح دانش پایه و میزان آشنایی اولیه افراد با مفاهیم ریاضی، روحیات، شیوه ترجمه و … تاثیر زیادی در انتخاب یک کتاب دارد ولی بهتر است نگاهی به این کتاب ها هم بیندازید):

  • ریاضیات عمومی ایساک مارون
  • معادلات دیفرانسیل دکتر مسعود نیکوکار
  • ریاضیات مهندسی کالن

برای برنامه نویس شدن به چه چیزی نیاز داریم؟

یادگیری یک زبان برنامه نویسی چیزی جز دو عنصر نیست: هدف و مهارت.

اغلب مهندسان و برنامه نویسان دوست دارند از کم (کدهای کوچک) شروع کرده و به تدریج برنامه خود را توسعه دهند. نکته منفی این است که گاه این برنامه بسیار بزرگ، کند و غیر قابل خواندن می شود.

برنامه نویسان و متخصان علوم رایانه اغلب در ابتدا یک طرح و ساختار فوق العاده برای ایجاد برنامه ها و نرم افزارها ایجاد می کنند، اما تا آزمایش اولین قطعه کد واقعی شاید چند سال نیز زمان نیاز باشد.

یک برنامه نویس MATLAB باید از هر دو استراتژی پشتیبانی کند.

سبک های مختلف کدنویسی وجود دارد که با نیازهای متفاوت برنامه نویس بسته به پروژه جاری وی مطابقت می کند.
یکی از اولین پروژه های دانشگاهی من شبیه سازی یک سیتم کنترل ترافیک هوایی در متلب بود. بعد از جستجوی اولیه در خصوص این سیستم متوجه شدم که هنگام طراحی چنین سیستمی در یکی از شرکت های بزرگ آمریکایی برای اینکه بسیار مهم بود که در این برنامه همه چیز به درستی انجام شود، سالها تلاش شده بود تا طرح کاملی از آنچه که سیستم باید به صورت دقیق انجام دهد و در عین حال چگونگی انجام آن، ایجاد شده شود.

من با جستجوی زیاد دیتاهای مختلفی در خصوص این سیستم و همچنین کد مربوط به آن را پیدا کردم. این برنامه به خوبی نوشته شده بود و توضیحات مستندی در خصوص آن وجود داشت و کاری که من باید انجام می دادم این بود که به بررسی قدم به قدم دستورالعمل های فایل های راهنما بپردازم.

هر چند من عملا کار خاصی انجام نداده بودم اما بعد از بررسی کامل برنامه و توضیحات آن اطلاعات بسیار زیادی دریافت کردم و خیلی از چیزهایی را که تا آن زمان نمی دانستم در ضمن آن کار آموختم.

آنجا بود که به این نکته پی بردم که یکی از راه های خوب یادگیری کدنویسی در متلب و عموما همه زبان های برنامه نویسی پیدا کردن و تست کردن این برنامه ها و سعی در فهم و یادگیری آن هاست.

پس در خصوص این برنامه هدف حفظ جان چندین هزار مسافر بود که روزانه در آسمان ایالات متحده جابجا می شدند و در چنین حالتی جای هیچگونه اشتباهی وجود ندارد و در نتیجه متخصصان جهت حصول هدف سالها تحقیق و بررسی نموده بودند و برنامه را با روش های مختلف تست و آنالیز مکرده بودند تا ریسک به کمترین حد خود برسد.

اینگونه برنامه های بر روی اینترنت بسیار است و کاری که شما باید انجام دهید بررسی دقیق برنامه ها با هدف یادگیری و نیز بکار بردن کمی خلاقیت برای برآورده کردن نیازهایتان است.

جهت پیشرفت در برنامه نویسی ایده آل گرایی را کنار بگذارید

معمولا برنامه نویسی در سطح پیشرفته شامل ابداع و بکارگیری تکنیک های ریاضی جدید و بررسی این است که آیا این تکنیک ها برای حصول یک هدف خاص مفید هستند یا خیر.

لازم نیست تکنیک هایی که بکار می گیریم بی نقص باشند و دلایل خوب و محکمی وجود دارد که به این مساله اعتقاد داشته باشیم که هیچ روش “کامل” و بی نقصی برای کارهایی که انجام می دهیم وجود ندارد.

معمولا ایده آل گرایی در هر کاری نتایج معکوس به دنبال دارد و بهتر است بهبود مستمر را جایگزین آن نماییم. همواره شروع حركت‌های بزرگ از قدم های كوچك اما سریع آغاز می شود.

همه آنچه که برای توسعه کد خود نیاز داریم هم اکنون در اختیار ماست. لازم نیست چرخ را دوباره اختراع نماییم. پس بهتر است شروع کنیم.

جمع بندی

  • تجربه به من ثابت کرده است که بهترین روش یادگیری برنامه نویسی متلب learning by doing (یادگیری عملی یا یادگیری از طریق عمل یا تمرین یا هر هر اسمی که شما دوست دارید روی آن بگذارید) است.
  • شما تنها زمانی بر دستورات و توابع متلب مسط خواهید شد که آستین را بالا بزنید، شروع کنید و هیچگاه یادگیری را متوقف نکنید. برای خود پروژه های مختلفی تعریف کنید و برای انجام آن ها پشت کامپیوتر بنشینید و تا حد امکان تمرکز خود را هنگام کدنویسی حفظ کنید.
  • آموزش ها، مثال ها و تمرین های زیادی وجود دارد که برای دسترسی به آن ها می توانید به وب سایت مت ورکز مراجعه کنید.
  • از documentation نرم افزار غافل نشوید و هر جا لازم است به help مراجعه کنید. یاد بگیرید که چگونه از documentation به شکلی موثر استفاده کنید.
  • لطفا وقت خود را با کارهای دیوانه وار مانند کار افراطی با رنگ ها و گرافیک و … تلف نکنید (بدون اینکه ابتدا نحوه انجام کارهای اصلی و مهم را یاد بگیرید).
  • وب سایت ها و فروم های زیادی وجود دارد که در آن ها می توانید با سایر برنامه نویسان و مهندسان ارتباط برقرار کنید (تعامل سازنده با دیگران و توانایی کار تیمی برای یک برنامه نویسی امری واجب و ضروری است) و در صورتی که در جایی مشکلی دارید با آن ها مطرح نمایید.