پرش به محتوا

گنو اکتاو

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از گنو آکتیو)
گنو اُکتاو
مخزن
مجوز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 و مشابه به اتمام رساند. از این راه می‌توان آغاز و پایان بلوک‌های تودرتو را از هم تمیز داد.

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

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

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

[ویرایش]

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

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

[ویرایش]

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

[ویرایش]

منابع

[ویرایش]