گنو اکتاو

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
GNU Octave
Octave-screenshot.png
انتشار پایدار 3.4.0 / ۸ مارس ۲۰۱۱؛ ۱٬۲۳۹ روز پیش
نوشته شده به C, C++
گونه محاسبات علمی
پروانه GPL (نرم‌افزار آزاد)
وب‌گاه http://www.gnu.org/software/octave

گنو اُکتاو ‎(به انگلیسی: GNU Octave) زبان برنامه نویسی سطح بالایی است که بیشتر برای محاسبات عددی به کار می‌رود. این برنامه امکانات زیادی را از طریق رابط خط فرمان (به انگلیسی: Command-line interface) برای حل عددی مسائل خطی و غیر خطی می‌دهد. این برنامه را می‌توان جایگزین مناسبی برای همتای غیر رایگان خود ‎‎متلب به حساب آورد.[۱]

تاریخچه[ویرایش]

پروژه اُکتاو حوالی سال ۱۹۸۸ توسط جیمز ب. راولینگ (دانشگاه ویسکانسین-مدیسن) و جان جی. اِکرت (دانشگاه تگزاس) به عنوان ابزاری ویژه برای حل مسایل مربوط به طراحی واکنشگرهای شیمیایی (به انگلیسی: Chemical Reactors) کلید خورد. در سالهای بعد این برنامه به عنوان پروژه‌ای جامع‌تر بسط یافت. گسترش تمام وقت آن از بهار سال ۱۹۹۲ آغاز شد و اولین نسخهٔ آلفا در تاریخ ۴ ژانویه ۱۹۹۳ و نسخه ۱.۰ در ۱۷ فوریه ۱۹۹۴ منتشر شد.[۲]

قابلیت‌های ویژه[ویرایش]

اُکتاو علاوه بر قابلیت‌هایی همانند تعریف تابع، بارگذاری فایل‌ها، رسم نمودار و غیره، قابلیت‌های ویژه‌ای نیز ارائه می‌کند که این برنامه را از دیگر همتاهای خود تمیز می‌دهد.

تعریف مستقیم تابع از طریق خط فرمان[ویرایش]

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

 octave:1> function s = hello_string (to_who)
> ## Say hello
> if nargin<1, to_who = "World"; end
> s = ["Hello ",\
> to_who];
> endfunction
     octave:2> hello_string ("Moon")
     ans = Hello Moon
نمودارها در اکتاو

کامنت[ویرایش]

علاوه بر کاراکتر %، کاراکتر # نیز برای کامنت گذاری استفاده می‌شود. برتری این راهکار در این است که علامت # در سیستم‌های یونیکس برای کامنت گذاری فایل‌های اسکریپت استفاده می‌شود.

استفاده از " برای تمیز دادن رشته‌ها[ویرایش]

علاوه بر کاراکتر ' می‌توان در مطلب از " برای مشخص کردن رشته‌ها استفاده کرد. برتری این راهکار در این است که رشته‌های مشخص شده با " قابلیت تفسیر بک اسلش (\) را دارند (مانند C,C++ و Perl) در حالی که رشته‌های با ' این قابلیت را ندارند (مانند Matlab و Perl).

بلوک‌ها با اطلاعات مفید[ویرایش]

بلوک‌های if, while,function و غیره را می‌توان علاوه بر end و endfunction بوسیله endif, endwhile و مشابه به اتمام رساند.از این راه می‌توان آغاز و پایان بلوک‌های تودرتو را از هم تمیز داد.

تشابه با زبان‌های متداول برنامه‌نویسی[ویرایش]

  • استفاده از علامت عطف ! برای نفی (همتای ~)
  • استفاده از ++ و -- برای افزابش و کاستن پله‌ای و دیگر اپراتورهای متداول (=+,=*,...)

و غیره.

رابط‌های دیگر[ویرایش]

علاوه بر رابط خط فرمان، رابط‌های دیگری مانند ‎رابط‌های گرافیکی و یا رابط‌های تحت وب نیز در دسترس هستند.

جستارهای وابسته[ویرایش]

پیوندهای مفید[ویرایش]

منابع[ویرایش]