Interactive Data Language (IDL) Learning Language
M.Sc. of Water Resources Engineering
1 May 2025
In the name of God the beneficent the merciful
Hadi Taji
Tarbiat Modares Un.
« سرفصلها»
« برنامه زمانبندی جلسات»
« برنامه زمانبندی جلسات»
« الگوریتم و الگوریتمنویسی»
الگوریتم یعنی انجام مرحله به مرحله هر کار…
می توان گفت که مهمترین و اساسی ترین قسمت یک برنامه،الگوریتم نویسی آن است.
برنامه نویسان موفق در ابتدا الگوریتم نویسان خوبی بوده اند.
در نوشتن الگوریتم ها از یک سری نمادها و اشکال هندسی استفاده می شود تا مفاهیم آن برای همگان به آسانی بیان گردد.
« الگوریتم و الگوریتمنویسی»
بیضی برای نشان دادن نقاط شروع و پایان یک الگوریتم
دایره جهت نمایش محل دادههایی که باید به عنوان اطلاعات ورودی وارد برنامه شود..
مستطیل برای نمایش دستورات استفاده می گردد.
لوزی برای نمایش دستورات شرطی(Conditions) استفاده می شود که دو جواب بلی یا خیر از آن خارج می شود.
« الگوریتم و الگوریتمنویسی»
شامل زیر الگوریتم
شکل رو به رو را می توان به یک الگوریتم کلی نسبت داد به طوری که هر خانه ای از آن به یک عملیات خاص اختصاص دارد که این عملیات ها ممکن است خود شامل یک سری زیر الگوریتم دیگر باشد.
8
« الگوریتم و الگوریتمنویسی»
مراحل 1 تا 3 حل این مسئله :
تعریف و تحلیل : محل تقاطع دو خط را نشان می دهد بطوری که یک زوج مرتب دوتایی (x,y) در هر دو صدق می کند.
تجزیه به مسائل کوچکتر:
تعیین y
تعیین x
جایگزین در معادله دومی
Ax+By=C
ax+by=c
Example
« الگوریتم و الگوریتمنویسی»
الگوریتم این مسئله :
شروع
پایان
(c- aC/A)/(b-aB/A)=y
B=?
a=?
C=?
b=?
x=?
y=?
x=(c-by)/a
A=?
c=?
« الگوریتم و الگوریتمنویسی»
بلی
شروع
پایان
b=?
a=?
c=?
x=-c/b
جواب مبهم است
خیر
بلی
خیر
X را چاپ کن
Example
« الگوریتم و الگوریتمنویسی»
الگوریتم فاکتوریل یک عدد مثل N را طراحی نمایید.
« تمرین »
« الگوریتم و الگوریتمنویسی»
الگوریتم این تمرین:
شروع
پایان
N=?
خیر
بلی
Factorial
را چاپ کن
]منفی N=[0,1,
Factorial=Factorial × N
Factorial=1
N=N-1
« معرفی دو محیط گرافیکی و برنامه نویسی نرم افزار ENVI»
کلمه ENVI کوتاه شده عبارت The Environment For Visualizing Images می باشد .
نرم افزار ENVI جهت انجام و اجرای برخی از نیازهای خاص به خصوص استفاده از داده های ماهواره ای طراحی شده است.
در این نرم افزار مشاهده اطلاعات بصورت کامل و جامع و همچنین آنالیز و پردازش تصاویر در ابعاد و اندازه های مختلف به نحوی کاملاً کاربرپسند ارائه می شود.
نرم افزار ENVI به کاربران راه های جدیدی جهت مشاهده اطلاعات در ابعاد وسیع و مختلف می دهد.
بسیاری از توابع در این نرم افزار بسیار آسانتر از دیگر نرم افزارهای مشابه است. توابع انتقال اطلاعات، و تصحیح هندسی ابزارهای آنالیز طیفی، ابزارهای ثبت زمینی، طبقه بندی و… از جمله این توابع هستند.
این نرم افزار بر پایه ی ماتریس محور طراحی شده است و بسیار شبیه متلب است، با این تفاوت که از سرعت، قدرت بالاتری برخوردار است و در تجزیه و تحلیل تصاویر (که عموماً ماتریس محور هستند) از فرمتهای بیشتری حمایت میکند.
«برخی از مراحل انجام کار درENVI»
فراخوانی تصویر در محیط نرم افزار
مدیریت باند ها
ذخیره سازی تصاویر
لینک دو تصویر
کسب اطلاعات مکانی از تصویر
کسب اطلاعات طیفی از تصویر
اندازه گیری طول و مساحت
بازتاب طیفی یا پروفیل ها
محاسبه پارامترهای آماری
هیستوگرام ها
پردازش های همسایگی (فیلترگذاری)
تصحیحات رادیومتریک
تصحیحات هندسی
باز نمودن یک فایل وکتوری
Resize Data
موزاییک کردن تصاویر
انجام محاسبات تصویری
طبقه بندی تصویر
استخراج یک ناحیه دلخواه
«برخی از قابلیت های محیط برنامه نویسیENVI»
« معرفی متغیر و انواع آن»
متغیر نوعی ظرف یا جایگاه است که در آن میتوان مقادیری را نگهداری نموده و در مواقع مورد نیاز از آن آنها استفاده نمود.
گاها به این جایگاه نوعی اسم یا کارکتر اختصاص داده میشود که براحتی بتوان در هنگام فراخوانی از آن استفاده نمود.
نحوه اختصاص نام به این جایگاه از قوانین خاصی پیروی میکند.
این جایگاه دارای نوعی جنس است که میتوان آن را از قبل مشخص نمود.
بطور عامیانه ظرف یک لیتری آب یا ظرف 2 کیلویی نمک
متغیرهای عددی اعداد صحیح، اعداد اعشاری کوتاه و بلند، اعداد مختلط، اعداد بایتی
متغیرهای رشتهای
باینتری
بایتی
متغیرهای اسکالری (صفر بعدی همچون یک عدد)
متغیرهای وکتوری (سطری و یا ستونی)
آرایهای یا ماتریسی
متغیرهای ساختاری
از نظر محتوا
از نظر گنجایش
« معرفی متغیر و انواع آن»
در نامگذاری بایستی موارد زیر مورد لحاظ قرار گیرد:
نام یک شناسه باید با یک حرف شروع شود (حرف اول نام متغیرها، نباید عدد یا کاراکتر علامت باشد).
بین کاراکترهای یک نام فضای خالی(Space) نباشد.
برای نامگذاری از اعداد و کاراکتر زیر خط( _ ) می توان استفاده کرد.
طول نام یک شناسه بایستی محدود باشد. (؟؟ کاراکتر)
در حد امکان از نام های از پیش تعیین شده همانند نام توابع و برنامههای کتابخانهای ENVI استفاده نکنید. (مثل SINکه نشان دهنده نام یک تابع مثلثاتی است و در آینده با این نام ها بیشتر آشنا می شوید!)
Hadi Taji, 1 May 2025
Thanks For Listening
If you are not using your smile, Then you are a person with million dollars in the bank having no cheque book” (Shakespeare)