با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن. و کاربرانی که دوره کامل آموزش متلب را دنبال می کنند. GNU Octave یک زبان برنامه نویسی سطح بالا مانند MATLAB است. و عمدتا با MATLAB سازگار است. همچنین برای انواع محاسبات عددی نیز استفاده می شود. GNU Octave همچنین نرم افزاری برای توزیع نیز هست. و شما می توانید آن را مجددا توزیع و یا آن را در شرایط مجوز عمومی (GNU) که توسط بنیاد نرم افزار آزاد منتشر شده، تغییر دهید. حالا به منظور آشنایی با زبان GNU Octave و مقایسه Octave با MATLAB در ادامه ی مباحث این بخش با ما همراه باشید.
ویژگی های مشترک Octave با MATLAB به شرح زیر است:
اکثر برنامه های MATLAB در Octave اجرا می شوند.
برخی از برنامه های Octave ممکن است در MATLAB اجرا نشود.
به عنوان مثال، MATLAB تنها از نقل قول ها پشتیبانی می کند، اما Octave هم از تک نقل قول و هم از دو نقل قول برای تعریف رشته ها پشتیبانی می کند.
تقریبا تمام نمونه هایی که در این آموزش دیده می شوند با MATLAB و Octave سازگار هستند.
برای نمونه مثال زیر را در MATLAB و Octave بررسی می کنیم.
برای نمونه ما یک نقشه ی سه بعدی از تابع (g = xe-(x2 + y2 رسم می کنیم.
برای شروع یک فایل اسکریپت ایجاد کرده و کد زیر را در آن وارد کنید:
1 2 3 4 | [x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps |
با اجرای فایل فوق، نتیجه ی زیر را در متلب مشاهده خواهید کرد:
البته تمام ویژگی های اصلی MATLAB در Octave در دسترس است.
البته بعضی از ویژگی در هر دو نو متفاوت است که در این آموزش ها مثالی های از هر دو ارائه کردیم.
در مثال زیر نشان داده ایم که MATLAB و Octave از توابع متفاوتی برای بدست آوردن منحنی استفاده می کنند:
1 2 3 4 | f = x^2*cos(x); ezplot(f, [-4,9]) a = int(f, -4, 9) disp('Area: '), disp(double(a)); |
نتیجه ی اجرای کد فوق در متلب:
نیتجه بصورت زیر خواهد بود:
1 2 3 4 5 | a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Area: 0.3326 |
اما برای دادن منحنی مشابه فوق در Octave ، شما باید از بسته symbolic به صورت زیر استفاده کنید:
1 2 3 4 5 6 7 8 | x = sym("x"); f = inline("x^2*cos(x)"); ezplot(f, [-4,9]) print -deps graph.eps [a, ierror, nfneval] = quad(f, -4, 9); display('Area: '), disp(double(a)); |
در بخش های فصل جاری تاکنون به محیطی مشابه متلب به نام Octave اشاره کرده و کدهای متناظر دستوراتی که آموزش دادیم را در Octave نیز بررسی کردیم. از این رو برای آشنایی با برخی نقاط مشترک و تفاوت های Octave با MATLAB مباحث این بخش را به آشنایی با زبان GNU Octave اختصاص دادیم.