صفحه اصلی > کارشناسی / نرم افزار / صفحه اصلی > جزوه آموزشی نرم افزار Matlab برای مهندسین نقشه برداری

جزوه آموزشی نرم افزار Matlab برای مهندسین نقشه برداری


10-10-1348, 13:00. نویسنده: irangeo
جزوه آموزشی نرم افزار Matlab برای مهندسین نقشه برداری


واژه متلب هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامه‌نویسی مربوطه‌ است که از ترکیب دو واژه MATrix (ماتریس) و LABoratory (آزمایشگاه) ایجاد شده‌ است. این نام حاکی از رویکرد ماتریس محور برنامه ‌است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته می‌شوند. کار کردن با ماتریس‌ها در متلب بسیار ساده است. در حقیقت تمام داده‌ها در متلب به شکل یک ماتریس ذخیره می‌شوند. حتی یک تصویر به شکل یک ماتریس سه بعدی ذخیره می‌گردد که بُعد اول و دوم آن برای تعیین مختصات نقاط و بُعد سوم آن برای تعیین رنگ نقاط استفاده می‌شود. فایل‌های صوتی نیز در متلب به شکل ماتریس‌های تک ستون (بردارهای ستونی) ذخیره می‌شوند. بنابراین جای تعجب نیست که متلب مخفف عبارت آزمایشگاه ماتریس باشد. علاوه بر توابع فراوانی که خود متلب دارد، برنامه‌نویس نیز می‌تواند توابع جدید تعریف کند. استفاده از توابع متلب برای نمایش داده‌ها بسیار راحت و لذت بخش است. ساخت رابط گرافیکی کاربر مانند دیالوگ‌هایی که در محیط‌های ویژوال مانند بیسیک و C وجود دارند، در متلب امکان‌پذیر است. این قابلیت، ارتباط بهتری را میان برنامه‌های کاربردی نوشته‌شده با متلب و کاربران برقرار می‌کند. متلب که از محصولات شرکت مت‌ورکس است، برای گروه‌های مختلف مهندسان رشته‌های مختلف از جمله مهندسی برق، مکانیک، رایانه و... کاربرد بسیاری دارد. هسته متلب برای سرعت و کارایی بالا به زبان سی نوشته شده‌است ولی رابط گرافیکی آن به زبان جاوا پیاده سازی گشته‌است. برنامه‌های متلب اکثراً متن‌باز هستند و در واقع متلب (مانند بیسیک) مفسر (رایانه) است نه کامپایلر. قدرت متلب از انعطاف‌پذیری آن و راحت بودن کار با آن ناشی می‌شود، همچنین شرکت سازنده و گروه‌های مختلف، از جمله دانشگاه‌های سرتاسر جهان و برخی شرکت‌های مهندسی هر ساله جعبه‌ابزارهای خاص-کاربردی به آن می‌افزایند که باعث افزایش کارآیی و محبوبیت آن شده‌است.
برنامه‌نویسی رایانه در فرهنگ واژه غیر متخصّصین ممکن است به تمام پروژه ساخت نرم‌افزار یا برنامهٔ رایانه‌ای گفته شود. با این همه برنامه‌نویسی تنها بخشی از فرایند توسعهٔ نرم‌افزار یا برنامه رایانه‌ای است. اهمیت، توجه و منابع اختصاص داده شده به برنامه‌نویسی، بسته به ویژگی‌های مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرم‌افزار متغیر است.

برنامه‌نویسی رایانه (که اغلب به طور کوتاه برنامه‌نویسی نامیده می‌شود) فرایند سوق دادن ساختار اصلی یک مسئله محاسباتی به برنامه‌ای قابل اجرا است. این کار مستلزم فعالیت‌هایی همچون تحلیل و درک مسئله است و عموماً حل چنین مسایلی منجر می‌شود به ایجاد یک الگوریتم، بازبینی نیازمندی‌های الگوریتم که شامل صحت و میزان منابع مصرفی است، پیاده‌سازی (که معمولاً به عنوان کدینگ از آن یاد می‌شود) این الگوریتم در یک زبان برنامه‌نویسی مقصد، تست کردن، اشکال زدایی، نگه داری کد منبع، پیاده‌سازی سیستم ساخت(build system) و مدیریت مصنوعات مشتق شده مانند کد ترجمه شده به زبان ماشین برنامه‌های کامپیوتری. الگوریتم اغلب تنها به شکل قابل تجزیه و تحلیل برای انسان و قابل استدلال با منطق نمایش داده می‌شود. کد منبع به یک یا چند زبان برنامه‌نویسی (مانند jаvascript ،Smalltalk ،Python ،Java ، CSS ، HTML ،#C# ،C++ ،C، و غیره) نوشته شده است.
هر روشی که برای برنامه نویسی به کار برود ، برنامه نهایی باید دارای تعدادی مشخصات پایه باشد. مشخصات زیر تعدادی از مهمترین آنها هستند.

قابلیت اطمینان : این که چقدر نتایج یک برنامه درست باشند ، به صحت طراحی الگوریتم و به حداقل رساندن اشتباهات برنامه نویسی مربوط می شود. اشتباهات برنامه نویسی شامل اشکالاتی مثل اشکال در مدیریت منابع ( مثل سرریز شدن بافر یا وضعیت رقابتی ) و اشکالات منطقی ( مثل تقسیم بر صفر یا خطاهای off-by-one ) .
پایایی : این که یک برنامه چگونه اشکالاتی ( نه باگ ها ) را که ممکن است پیش بیایند ، پیش بینی کرده است . این شامل حالتهایی مانند دریافت اطلاعات نادرست ، نامناسب یا غلط می شود ؛ همچنین کمبود منابعی مانند حافظه ، سرویسهای سیستم عامل یا اتصال به شبکه و سایر اشکالات مانند خطای کاربر یا اشکالات قطع برق نیز در این دسته قرار می گیرند.
کاربرد پذیری : ارگونومی یک برنامه : آسانی استفاده از برنامه برای شخصی که می خواهد از آن برای کار در نظر گرفته شده استفاده کند یا گاهی برای کارهای پیش بینی نشده آن را به کار برد. این مورد می تواند به تنهایی و علی رغم تمام موارد دیگر باعث موفقیت یا شکست شود. طیف وسیعی از عناصر متنی ، تصویری و گاهی سخت افزاری وجود دارند که می توانند باعث ارتقای وضوح ، درک ، پیوستگی ، کامل بودن واسط کاربری برنامه شوند.
قابلیت انتقال : طیف سخت افزارها و سیستم عاملهایی که کد منبع برنامه را بتوان روی آنها با مترجم یا مفسر اجرا کرد . این قابلیت بستگی به تفاوت در تسهیلاتی دارد که سیستمهای مختلف از نظر منابع سخت افزاری و سیستم عاملها برای برنامه نویسی ارائه می کنند. همچنین رفتار پیش بینی شده سخت افزارها و سیستم های عامل ، و در دسترس بودن مترجم ها ( و منابع کتابخانه ای ) اختصاصی در آن سیستمها برای کد منبع موجود نیز مهم است.
نگهداشت پذیری : این که سازندگان و ارتقا دهندگان فعلی برنامه یا افراد دیگری در آینده بتوانند به راحتی ارتقاها یا تغییراتی در برنامه انجام دهند تا خطاها و حفره های امنیتی را رفع کنند یا بتوانند آن را برای محیط جدیدی تطبیق دهند. در این مورد تلاش مناسب اولیه [۱] در ایجاد برنامه است که نقش عمده ای بازی می کند . این خاصیت ممکن است تاثیر خیلی زیادی روی کاربر نهایی برنامه نداشته باشد ولی در بلند مدت برای سرنوشت یک برنامه خیلی مهم است.
کارآیی / عملکرد :اندازه گیری منابع سیستمی مورد نیاز برای یک برنامه ( زمان پردازنده ، فضای حافظه ، وسایل کند مثل دیسکها ، پهنای باند شبکه و موارد دیگری مثل تعامل با کاربر ) : هر چقدر کمتر ، بهتر . این خاصیت همچنین شامل مدیریت صحیح منابع مانند پاک کردن فایلهای موقت و از بین بردن نشتی های حافظه نیز می شود.
در برنامه ریزی رایانه ، خوانایی عبارت است از این که خواننده متن کد منبع بتواند هدف ، جریان برنامه و عملکرد کد منبع را متوجه شود. این موضوع در مجموعه نیازهای کیفیتی شامل موارد قابلیت انتقال ، کاربرد پذیری و نگهداشت پذیری می شود.

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

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

بلوک بندی متفاوت ( فاصله سفید )
یادآورها
تکه تکه کردن نوشته های طولانی
قواعد نامگذاری برای اشیا ( مثل متغیر ها ، کلاسها ، روالها و غیره )

جنبه های دیداری برای این کار ( مثل تورفتگی ، شکستن خطوط ، علامت گذاری رنگی و مانند اینها ) معمولا به وسیله ویرایشگر کد منبع فراهم می شود ، اما جنبه های محتوایی بازتابی از استعداد و توانایی های برنامه نویس است .

زبانهای برنامه نویسی دیداری متعددی با این منظور توسعه داده شده اند تا بتوانند از روشهای غیر سنتی برای ارائه کد و تصویر استفاده کنند. محیطهای یکپارچه توسعه نرم افزار (IDE ها) می خواهند تا تمام این گونه کمکها را به شکل یک پارچه ارائه کنند. تکنیکهایی برای بازسازی کد می تواند خوانایی را افزایش دهد.

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

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


****************************************************************************************************

از اینجا دانلود کنید - جزوه 1
از اینجا دانلود کنید - جزوه 2
از اینجا دانلود کنید - جزوه 3
از اینجا دانلود کنید - جزوه 4
از اینجا دانلود کنید - جزوه 5
از اینجا دانلود کنید - جزوه 6
از اینجا دانلود کنید - جزوه برنامه نویسی پیشرفته


با ما در ارتباط باشید: irangeomatics4u@gmail.com - 09900213878

****************************************************************************************************
بازگشت