Octave یک زبان برنامهنویسی تحت لیسانس GPL با سینتکسی ریاضیمحور برای انجام محاسبات و پردازشهای علمی است که دارای ابزارهای رسم پلات و تصویرسازی است. محیط اجرای این زبان برنامهنویسی کراسپلتفرم است به طوری که در سیستمعاملهای Linux، macOS ،BSD و Windows قابلاجرا میباشد و از آنجا که سینتکس Octave سازگاری خوبی با Matlab دارد، بسیاری از اسکریپتهای متلب را میتوان در محیط آن استفاده کرد.
Octave ابتدا در سال 1988 توسط دو نفر به نامهای James B. Rawlings از دانشگاه Wisconsin-Madison و John G. Ekerdt از دانشگاه Texas ساخته شد که از آن به عنوان یک نرمافزار کمکی برای کتابی در رابطه با طراحی راکتور شیمیایی استفاده کردند.
به طور کلی، طبق ادعای سایت رسمی اُکتاو، این زبان در حل معادلات ریاضیاتی توانایی بالایی دارد به طوری که میتوان معادلاتی همچون جبر خطی بر روی بردار و ماتریس، مسائل خطی و غیرخطی، معادلات دیفرانسیل، درآوردن ریشهٔ معادلات غیرخطی و بسیاری از عملیات محاسباتی دیگر را با آن حل کرد (همچنین میتوان پلاتهای دوبعدی و سهبعدی از دادهها را در آن ترسیم کرد.) به عنوان نمونه سینتکس این زبان داریم:
[ x.u, x.s(2:3,2:3), x.v ] = svd ([1, 2; 3, 4]);
x
⇒ x =
{
u =
-0.40455 -0.91451
-0.91451 0.40455
s =
0.00000 0.00000 0.00000
0.00000 5.46499 0.00000
0.00000 0.00000 0.36597
v =
-0.57605 0.81742
-0.81742 -0.57605
}
مفسر Octave هم در محیط گرافیکی و هم در محیط کنسول قابلاجرا است به گونهای که حتی میتوان آن را به عنوان قسمتی از یک شِل اسکریپت فراخوانی کرد. همچنین کاربران در محیط Octave میتوانند توابعی را که به زبان نِیتیو آن نوشته شده را به صورت یک ماژول و برای دفعات متعدد مورد استفاده قرار دهند؛ به علاوه اینکه امکان استفاده از ماژولهایی که به زبانهای C++ ،C و Fortran نوشته شده نیز فراهم است.