زبان برنامه نویسی GNU Octave Tutorial
GNU Octave یک زبان برنامه نویسی سطح بالا مانند متلب و بیشتر وقت ها با متلب سازگار است. همچنین از آن برای محاسبات عددی به کار گرفته می شود.
سرویس آموزش و آزمون برق نیوز: GNU Octave یک زبان برنامه نویسی سطح بالا مانند متلب و بیشتر وقت ها با متلب سازگار است. همچنین از آن برای محاسبات عددی به کار گرفته می شود.
Octave در زمینه های زیر با متلب اشتراک دارد:
متلب در مقابل Octave
بیشتر وقت ها متلب در Octave اجرا می شود اما بیشتر برنامه Octave در متلب اجرا نمی شود چون Octave بیشتر سینتکس هایی که متلب انجام می دهد را اجازه دسترسی به آن ها را ندارد.
برای مثال، متلب تک کوتیشن و Octave هم تک و هم دابل کوتیشن می باشد.
Octave در زمینه های زیر با متلب اشتراک دارد:
- ماتریس ها دیتا تایپ های اساسی هستند.
- از اعداد مختلط پشتیبانی می کند.
- از کتابخانه و توابع ریاضی ساخته شده است.
- پشتیبانی از توابع تعریف شده توسط کاربر
متلب در مقابل Octave
بیشتر وقت ها متلب در Octave اجرا می شود اما بیشتر برنامه Octave در متلب اجرا نمی شود چون Octave بیشتر سینتکس هایی که متلب انجام می دهد را اجازه دسترسی به آن ها را ندارد.
برای مثال، متلب تک کوتیشن و Octave هم تک و هم دابل کوتیشن می باشد.
مثال های سازگار
در این مثال نمودار سه بعدی تابع را رسم می کنیم.
فایل اسکریپت ایجاد کرده و کد های زیر را در آن می نویسیم.
[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)
print -deps graph.eps
متلب دستورات بالا را اجرا کرده و نتیجه زیر را بر می گرداند.
مثال های ناسازگار
مثال هایی را در نظر بگیرید که متلب و Octave از توابع مختلف برای گرفتن قسمتی از یک منحنی استفاده می کنند.مانند f(x) = x^2 cos(x) برای
−4 ≤ x ≤ 9
کد های زیر را در فایل اسکریپت بنویسید.
f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));
وقتی که فایل اجرا می شود، نمودار را به صورت زیر ببینید.
نتیجه را به صورت زیر ببینید.
a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
Area:
0.3326
با استفاده از پکیج symbolic، منحنی بالا را به صورت زیر در Octave کد نویسی می کنیم.
pkg load symbolic
symbols
symbols
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));
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));
از ارسال دیدگاه های نا مرتبط با متن خبر، تکرار نظر دیگران، توهین به سایر کاربران و ارسال متن های طولانی خودداری نمایید.
لطفا نظرات بدون بی احترامی، افترا و توهین به مسئولان، اقلیت ها، قومیت ها و ... باشد و به طور کلی مغایرتی با اصول اخلاقی و قوانین کشور نداشته باشد.
در غیر این صورت، «برق نیوز» مطلب مورد نظر را رد یا بنا به تشخیص خود با ممیزی منتشر خواهد کرد.