برنامه نویسی برای محاسبات با MATLAB/Octave ( مقدمه ای بر شبیه سازی های عددی با MATLAB/Octave )

مقدمه

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

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

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

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

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

خوشبختانه، بیشتر نرم افزارهای کنونی را می توان از طریق برنامه نویسی ارتقاء داد. در حقیقت، بسیاری از سیستم ها ایجاب می کنند که بخش هایی از ویژگی مسئله (مانند مدل های ماده) با کدهای کامپیوتری مشخص شوند.

  • مهارت های برنامه نویسی ما را قادر می سازند تا انعطاف پذیری بسته های نرم افزاری موجود را با ادغام آن ها گسترش دهیم. به طور نمونه، شما می توانید بسته های نرم افزاری که با هم در ارتباط نیستند را از ابتدا با هم ادغام و ترکیب کنید. این امر جریان کار را ساده تر، موثرتر و قابل اعتمادتر می کند و شما را در جایگاهی قرار می دهد تا به مشکل ها و مسئله های جدید حمله کنید.
  • استفاده اشتباه از نرم افزارهای عالی موجود خیلی راحت است. بینش موجود در برنامه نویسی و ریاضی برای فهم نرم افزارهای پیچیده، پرهیز از خطا و تبدیل شدن به کاربری امن لازم و حیاتی است.
  • اشکال (خطاهای موجود در کدهای کامپیوتری) در برنامه های کامپیوتری بزرگ تر وجود دارند (همچنین در کامپیوترهای موجود در مغازه ها). چیکار میکنید اگر نرم افزار دردسترس شما نتایجی غیرمنتظره ارائه کند؟ آیا این یک اشکال، کاربرد نادرست و یا نتیجه ی ریاضی درستی می باشد؟ تجربه در زمینه ی برنامه نویسی ریاضی به شما این امکان را می دهد تا به این پرسش ها پاسخ دهید. کسی که می تواند برنامه نویسی کند همچنین می تواند برای  مشکلی ساده شده، کدهای خاصی را ایجاد کند و از آن ها برای تایید محاسبات انجام گرفته با نرم افزار موجود استفاده کند.
  • بسیاری از افراد خبره در جهان مشکلات محاسباتی را با نوشتن کدهای خود حل می کنند و این کدها را به طور رایگان در اینترنت در دسترس قرار می دهند. برای اینکه از این منبع مفید و عالی نرم افزاری به روشی مطمئن بهره مند شویم، فرد میبایست کد کامپیوتری پیشنهاد شده توسط دیگران را بفهمد و احتمالا آن را نیز تغییر دهد.
  • در سرتاسر جهان اینطور به نظر می رسد که دانشجویان به سختی با ریاضی و فیزیک دست و پنجه نرم می کنند و افراد زیادی این مباحث را دشوار و طاقت فرسا توصیف می کنند. از طریق برنامه نویسی، ما قادر خواهیم بود تا مباحث خوب قدیمی را به روشی کاملا جدید اجرا کنیم! طبق تجربه ی شخصی خود نویسنده، زمانیکه برنامه نویسی به بخش لاینفکی از دوره های ریاضی و علموم فیزیک تبدیل می شود، مباحث ترغیب کننده و لذت بخش می شوند. به طور خاص، مسئله ای که در حال حل شدن است می تواند به مراتب واقعی تر از زمانی باشد که ریاضی به چیزیکه می توان با قلم و کاغذ انجام داد محدود شده باشد.
  • در نهایت، استدلال مهم خود برای یادگیری برنامه نویسی کامپیوتری را ارئه می کنیم: تفکر الگوریتمی که حین فرایند نوشتن برنامه ای برای مسئله ی محاسباتی ایجاد می شود باعث فهم عمیقی از مسئله و روش حل می شود. در اینجا می توانیم به سادگی از دانشمند کامپیوتر نروژی نقل قول کنیم: “برنامه نویسی فهمیدن است”.

زبان کامپیوتر: Matlab

ما به این دلیل از زبان برنامه نویسی Matlab استفاده کردیم که این زبان کدی فشرده و خوانا ارائه می دهد که تا حد زیادی شبیه دستور ریاضی است که با آن مسئله حل می شود. همچنین این زبان منحنی یادگیری دقیقی دارد. در صورتی که آن زبان ترجیح داده شود، همسان Phyton این کتاب نیز موجود است. مقایسه ی ورژن های دوگانه ی این کتاب به خوبی نشان می دهد که چقدر این زبان ها شبیه همدیگر هستند. در این کتاب از واژه ی Matlab برای اشاره به نرم افزار تجاری MATLAB یا جایگزین آن Octave ]4[ استفاده می شود ]12[.  زبان های کامپیوتری دیگر مانند Fortran، C و C++ در علم و مهندسی جایگاهی ویژه دارند. با این حال، طی دو دهه ی اخیر، توجه و تمرکز از این زبان های تالیف یافته به زبان های سطح بالاتر و خواناتر مانند Matlab، Phyton، R، Maple، Mathematica، و IDL تغییر کرده است. این گروه آخر از ربان ها از لحاظ محاسباتی چندان کارآمد نیستند اما با توجه به کارآمدی حل مسئله انسان، این برنامه ها در سطح بالاتری قرار دارند. این کتاب به جای تمرکز بر جزئیات تخصصی زبان، تاکید می کند که چطور مانند یک برنامه نویسی فکر کرد. بنابراین، تصور می شود کتاب خواننده را برای یادگیری دیگر زبان های برنامه نویسی شامل Fortran، C، و C++ در جایگاه بهتری قرار دهد.

لینک دانلود

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *