Octave یک دوست آزاد، برای جایگزینی با Matlab
چند روز پیش به طور اتفاقی با نرمافزار آزادی به اسم Octave آشنا شدم که توجهم رو به خودش جلب کرد. این نرمافزار برای افرادی طراحی شده که نیاز به محاسبات فنی (به قول فرنگیها Technical Computing) دارند. Syntax این نرمافزار شدیدا شبیه نرمافزار Matlab هست، پس اگه برنامهنویسی با Matlab رو بلدید، برنامهنویسی با Octave رو هم بلدید. اگه شما تا حالا با Matlab برنامه مینوشتید و الان دوست دارید به Octave مهاجرت کنین، حتما خوشحال میشید بدونید که Octave از فایلهای m. حمایت میکنه. عالی نیست؟
این نرمافزار برای مهندسان و دانشجوهای رشتههای مهندسی یه نعمته، مخصوصا اگه تو تهیهی لایسنسهای Matlab مشکل داشته باشن. پس با Octave از شر لایسنسهای Matlab خلاص میشن.
سوال پیش میاد، آمیرزا ما ایرانیها که یک ریال هم برای لایسنسهای Matlab پرداخت نمیکنیم، پس چرا اصلا باید از Octave به جای Matlab استفاده کنیم؟
جوابش حس خوبیه که موقع استفاده از یه نرمافزار آزاد دارید. حس آزادی! درضمن، در کنار حس خوب آزادی، میتونید به توسعهی این نرمافزار هم کمک کنید تا خیرتون به بقیه هم برسه. درضمن، یادتون باشه قرار نیست تا قیام قیامت از نسخههای جعلی و تقلبی استفاده کنیم، به نظر شما اینطور نیست؟
سوال پیش میاد، آمیرزا اگه بخواهیم Octave رو نصب کنیم باید چه کنیم؟
اگه از Ubuntu استفاده میکنین، کار سادهای در پیش دارین، کافیه این دستور رو توی ترمینال تایپ کنید:
sudo apt-get install octave
بههمین سادگی، به همین خوشمزگی!
اگه از ویندوز استفاده میکنین، میتونین از installer این نرمافزار استفاده کنید. برای دانلود کردن آخرین نسخهی این نرمافزار برای ویندوز میتونید از لینک زیر استفاده کنید:
https://ftp.gnu.org/gnu/octave/windows/
تو لینک بالا چند تا فایل قرار داره که شما کافیه فقط فایل exe. مربوط به installer رو دانلود کنید.
یادتون باشه اگه از windows8 استفاده میکنید، نمیتونید از Octave GUI استفاده کنید و فقط محیط دستوری اون در دسترس شماست. البته این حرف الان که من دارم این متن رو مینویسم صادقه، در آینده زود حتما Octave GUI برای محیط Windows8 هم در دسترس قرار میگیره.
بعد از نصب Octave، با تایپ کردن دستور octave وارد دنیای octave میشید. اگه دوست دارید محیط GUI این برنامه رو باز کنید و از ویرایشگر کد خودش برای کارهاتون استفاده کنید، میتونید موقع شروع این دستور رو تایپ کنید:
octave --force-gui
اگه با Matlab آشنا هستید، پس با Octave هم دوست هستید. در هر صورت، اگه دوست دارید یه آموزش سریع از Octave رو مرور کنید میتونید از فایل زیر استفاده کنید.
من خودم تازه کار کردن با Octave رو شروع کردم، گرچه با Matlab مدت مدیدی رفیق گرمابه و گلستان بودم. امیدوارم در آینده بتونم چندتا از نمونه کدهایی که تو Octave نوشتم رو تو وبلاگم بذارم تا یخورده راجع به اونا هم حرف بزنیم.
شاد باشید و آزاد،
قربان شما،
آمیرزا.
امیرزا یه سوال :
چطوره که حجم متلب حدود چند گیگ هست ولی حجم اکتاو در حد ۵۰ مگ ؟
آیا این نشون میده اکتاو خیلی ضعیف تره یا دلیل دیگه ای داره ؟
البته مقایسه Matlab و Octave از روی حجم اونها زیاد کار درستی نیست. چون حجم بالای متلب به چند دلیله: یه دلیل، Toolkitهای زیادی که Matlab داره. دلیل دیگه، مستندات زیادی که همراه Matlab رو سیستم نصب میشن. دلیل دیگهش Matlab Runtime هست که بهمون اجازه میده نرمافزارهایی تحت Matlab بنویسیم و به فرمت اجرایی (exe.) تبدیل دربیاریم تا امکان اجراشون توی سیستم عاملهای ویندوزی که حتی Matlab ندارن هم فراهم میشه. و دلایل دیگه …
البته نکات بالا جزو نکات مثبت Matlab هم هستند، که البته هزینه دارند، گرچه ما تو ایران هزینهش رو پرداخت نمیکنیم و نرمافزار قفلشکسته رو نصب میکنیم که فول آپشن هم هست!!!
در هر صورت، Octave سعی کرده تا هستهش شبیه Matlab باشه، گرچه هنوز قدرت Matlab رو نداره، ولی چون Open Source هست انتظار میره که روز به روز بهتر بشه! به نظر من مشکل Octave اینه که میخواد عین به عین از Matlab تقلید کنه! اگه سعی میکرد خودش یه چیز جدید باشه بهتره.
ولی اگه الان نظر من رو بخوای، برای محاسبات فنی Julia رو انتخاب کنی خیلی بهتره. یه زبون برنامهنویسی مستقل، سریع و خوبه برای محاسبات فنی. حتما نگاهی به جولیا بنداز. سینتکس جولیا هم شبیه متلبه و باهاش احساس غریبی نخواهی داشت.
راستی، این نکته رو فراموش نکنیم که طبق نتایج بنچمارکها جولیا از متلب سریعتره. همچنین متلب خیلی از Octave سریعتره.
چه جواب خوب و کاملی .
حتما جولیا رو امتحان می کنم . ( الان دارم دانلود می کنم .)
بازم ممنون بابت توضیح کاملی که راجع به متلب و اکتاو دادی .
به امید موفقیت شما و اپن سورس ها .
حالا که طرح دوستی با جولیا رو ریختی، بهت پیشنهاد میکنم تو مسیر دوستی با جولیا از جونو (Juno) و IJulia هم کمک بگیر.
جونو یه IDE هست برای کدنویسی با جولیا که خیلی خوش بر و رو هم هست. IJulia هم یه محیط کدنویسی تحت وب لوکال برات فراهم میکنه که استفاده ازش خالی از لطف نیست.
شاد باشی.
چه باحال . ممنون .
این نرم افزار رو من روی ویندوز ۱۰ هم ازش استفاده میکن خیلی فوق العاده کار میکنه انصافا .
راجع به سوال دوستمون هر نرم افزاری که میخواد سمت ویندوز نوشته بشه همیشه به کتابخانه های حجیمی نیازمند هست و ابزارهای ویندوز بیشتر مترجمی هستن تا مفسری . مگر اینکه زبان برنامه نویسیش مفسری باشه که بازم برای ویندوز محور بودن همیشه حجم داده بالاست
ممنون از جوابی که دادی علی جان،
اگه اهل اینجور برنامهنویسی هستی، به شما هم توصیه میکنم که حتما زبون برنامهنویسی جولیا رو هم چک کنی. 🙂
سلام دوست عزیز . چشم حتما تست میکنم . ممنون
سلام آمیرزا جان
آقا من در بلاد کفر هستم و متاسفانه Matlab رو نمیتونم استفاده کنم به دلیل لایسنسش.
یک سوال ازت دارم. اکتاو خیلی باحال و هیجان انگیزه، فقط من نمیتونم توش ماتریس هام رو ببینم و ظاهرا مثل متلب Value ها رو در فضای Spreadsheet نمایش نمیده درسته؟
این خیلی حیاتی هست برای من که داده هام رو ببینم!
ممنون میشم بگی اکتاو (البته GUI رو دارم استفاده میکنم) این قابلیت رو داره یا من دارم الکی میگردم!
شاد باشید
سلام نوید جان،
حقیقتش من خیلی وقته که با متلب و octave کار نکردم، ولی یادمه GUI اکتاو خیلی شبیه محیط متلب بود. ولی جزئیاتش رو یادم نیست.
باسلام وخسته نباشید.
میشه لطفا به سوال من پاسخ دهید
دستورالعمل وارد کردن یک فایل داده عددی به یک برنامه در اوکتاو چیست؟
ممنون:)(
به نظرم برای جواب سوالت باید توی مستندات اکتاو جستجو کنی…
سلام من جاوا رو نصب دارم ولی موقع نصب هشدار میاره که باید حتما جاوا رو نصب داشته باشی علتش چیه میدونید
راجع به این مسائل میتونید توی اینترنت جستجو کنید…
سلام آمیرزا
آقا برای مک از چی استفاده کنم؟ نسخه مک اکتاو نیومده؟
البته زبان برنامه نویسی جولیا از اکتاو و متلب خیلی بهتره … سینتکسش هم تقریبا شبیه متلبه …
سلام . من با متلب اشنایی دارم و می خواهم حتما جولیا رو یاد بگیرم.به نظر شما از کجا و از چه منبعی شروع کنم ؟
معمولا بهترین راه سرچ کردن تو اینترنته برای پیدا کردن منابع مختلف …
سلام وقت بخیر
بنده تازه شروع به یادگیری این نرم افزار کردم و زیاد پیش نرفتم
یکی از مشکلاتی که باهاش مواجه شدم اینه که بعد نصب این نرم افزار متوجه شدم که راست چین هست
امکان داره راهنمایی بفرمایید تا بدونم چطور چپ کنم.
با تشکر
من زمان زیادی میشه که از محیط این نرمافزارها دور هستم، توصیه میکنم که تو اینترنت درموردش جستجو کنی.
سلام
ببخشید من میخوام از اکتاو برای ماشین لرنینگ استفاده کنم، جواب میده؟ ی سری رول هارو میخوام بنویسم
سلام، متاسفانه من مدت زمان زیادیه که از اکتاو استفاده نکردم و از فضاش دورم.
با سلام و عرض خسته نباشید
نرم افزار اکتاو برای نوشتن تمرینات درس کنترل در قسمت تابع تبدیل و فضای حالت ، ارور میدهد و میگوید tf برایش تعریف نشده است و باید برای آن فایل بارگذاری کنیم . اگر ممکنه راهنمایی بفرمایید چکار کنم . تشکر از شما
این متن پایین نمونه ارور نرم افزار :
>> num_G=[2 5 3 6 ]
num_G =
۲ ۵ ۳ ۶
>> den_G=[1 6 11 6]
den_G =
۱ ۶ ۱۱ ۶
>> G=tf(num_G,den_G);
error: ‘tf’ undefined near line 1, column 1
The ‘tf’ function belongs to the control package from Oct
ave Forge which
you have installed but not loaded. To load the package,
run ‘pkg load
control’ from the Octave prompt.
Please read to lear
n how you can
contribute missing functionality.
>>
سلام وقتتون بخیر
چرا هرکاری میکنم نمیتونم پکیج symbolic رو روی نرم افزار octave نصب کنم؟؟
لطفاً راهنماییم کنید🙏