گنو آکتیو

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از گنو اکتاو)
پرش به: ناوبری، جستجو
GNU Octave
Octave-screenshot.png
انتشار پایدار ۴٫۰٫۰ / ۲۹ مه، ۲۰۱۵؛ ۱۱ ماه پیش (۲۰۱۵-۰۵-29)
نوشته‌شده به 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 و مشابه به اتمام رساند. از این راه می‌توان آغاز و پایان بلوک‌های تودرتو را از هم تمیز داد.

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

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

و غیره.

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

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

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

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

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