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

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

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

رابط‌های دیگر
-------------

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

جستارهای وابسته
---------------

* متلب
* سایلب

پیوندهای مفید
-------------

* راهنمای رسمی آکتیو انگلیسی

منابع
-----

1. ↑  ; تاریخ انتشار: 8 اوت 2023; زمان بازیابی داده‌ها: 20 اوت 2023.
2. ↑  سایت رسمی گنو آکتیو به انگلیسی
3. ↑  درباره گنو آکتیو به انگلیسی

| * ن
* ب
* و
پروژه گنو |
| --- |
| تاریخچه | بیانیه گنو ·  بنیاد نرم‌افزار آزاد (اروپا ·  هند ·  آمریکای لاتین) ·  تاریخچه نرم‌افزار آزاد | GNU is not a gnu |
| پروانه‌ها | پروانه عمومی همگانی گنو ·  گنو ال‌جی‌پی‌ال ·  آفرو جی‌پی‌ال ·  پروانه مستندات آزاد گنو ·  GPL linking exception |
| نرم‌افزارها | 
* گنو (انواع)
* گنو هرد
* لینوکس-لیبره
* کتابخانه سی گنو
* بش
* coreutils
* findutils
* Build System
* جی‌سی‌سی
* گنو بین‌یوتیلز
* گنو دیباگر
* گنو گراب
* گنوم
* گنو استپ
* گیمپ
* گنو ایمکس
* GNU TeXmacs
* گنو آکتیو
* آر
* کتاب‌خانه علوم گنو
* GMP
* Electric
* GNU Archimedes
* گنونت
* گنو پرایوسی گارد
* گنوزیلا (گنو آیس‌کت)
* گنو هیلس
* GNUmed
* لیلی‌پاند
* GNU Go
* شطرنج گنو
* جی‌نش
* گنو گیکس
* توزیع سامانه گیکس
* *بیشتر...*

 |
| سخنرانان عمومی | Alexandre Oliva ·  Benjamin Mako Hill ·  Bradley M. Kuhn ·  ابن ماگلن ·  Federico Heinz ·  Georg C. F. Greve ·  Loïc Dachary ·  Ricardo Galli ·  ریچارد استالمن ·  Robert J. Chassell ·  John Sullivan |
| دیگر موضوع‌ها | بحث نامگذاری گنو/لینوکس ·  *انقلاب اواس* ·  BadVista ·  Defective by Design |

| * ن
* ب
* و
نرم افزارهای ریاضی |
| --- |
| متن‌باز | سایلب •  مکسیما •  گنو اکتاو |
| مالکیتی | متلب •  مثمتیکا •  مث‌کد •  میپل •  موپد •  اس‌پی‌اس‌اس •  ساس •  ام‌استت-سی •  مینی‌تب |

| * ن
* ب
* و
نرم‌افزار پردازش تصویر |
| --- |
| نرم‌افزار آزاد | 
* 3D Slicer
* AFNI
* CellCognition
* CellProfiler
* DicomIR
* Endrov
* Fiji
* اف‌اس‌ال
* FreeSurfer
* GemIdent
* گنو آکتیو
* ilastik
* ایمج جی
* ITK
* IVT
* InVesalius
* ITK-SNAP
* KNIME
* منگو
* اوپن‌سی‌وی
* اوسایرکس
* VIGRA
* VXL

 |
| نرم‌افزار مالکیتی | 
* Amira
* Analyze
* Bitplane
* IDL
* مثمتیکا
* متلب
* میمیکس
* MountainsMap
* Visage SDK

 |