کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

GNU Octave

GNU Octave Tutorial

GNU Octave یک زبان برنامه نویسی سطح بالا مانند متلب و بیشتر وقت ها با متلب سازگار است. همچنین از آن برای محاسبات عددی به کار گرفته می شود.

Octave در زمینه های زیر با متلب اشتراک دارد.

ماتریس ها دیتا تایپ های اساسی هستند.

از اعداد مختلط پشتیبانی می کند.

از کتابخانه و توابع ریاضی ساخته شده است.

پشتیبانی از توابع تعریف شده توسط کاربر

متلب در مقابل Octave

بیشتر وقت ها متلب در Octave اجرا می شود اما بیشتر برنامه Octave در متلب اجرا نمی شود چون Octave بیشتر سینتکس هایی که متلب انجام می دهد را اجازه دسترسی به آن ها را ندارد.

برای مثال، متلب تک کوتیشن و Octave هم تک و هم دابل کوتیشن می باشد.

مثال های سازگار

در این مثال نمودار سه بعدی تابع g = xe-(x2 + y2) را رسم می کنیم.

فایل اسکریپت ایجاد کرده و کد های زیر را در آن می نویسیم.

[x,y] = meshgrid(-2:.2:2);

g = x .* exp(-x.^2 - y.^2);

surf(x, y, g)

print -deps graph.eps

متلب دستورات بالا را اجرا کرده و نتیجه زیر را بر می گرداند.

clip_image001[6]

مثال های ناسازگار

مثال هایی را در نظر بگیرید که متلب و  Octave از توابع مختلف برای گرفتن قسمتی از یک منحنی استفاده می کنند.مانند f(x) = x2 cos(x) برای −4 ≤ x ≤ 9.

کد های زیر را در فایل اسکریپت بنویسید.

f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));

وقتی که فایل اجرا می شود، نمودار را به صورت زیر ببینید.

clip_image002[4]

نتیجه را به صورت زیر ببینید.

a =
 
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
 
Area: 
    0.3326

با استفاده از پکیج symbolic، منحنی بالا را به صورت زیر در Octave کد نویسی می کنیم.

pkg load symbolic
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));

 

1394/09/19 6509 1486
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...