گنو آکتیو

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به ناوبری پرش به جستجو
GNU Octave
Octave-screenshot.png
انتشار پایدار ۴٫۴٫۱ / ۹ اوت، ۲۰۱۸؛ ۹ ماه پیش (۲۰۱۸-۰۸-09)
نوشته‌شده به C, C++
گونه محاسبات علمی
پروانه GPL (نرم‌افزار آزاد)

گنو آکتِیو (به انگلیسی: 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 و مشابه به اتمام رساند. از این راه می‌توان آغاز و پایان بلوک‌های تودرتو را از هم تمیز داد.

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

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

و غیره.

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

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

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

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

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