محاسبه انتگرال معین در Matlab
رابطه ی زیر، فرمول انتگرال معین می باشد.
دستور آن در متلب به صورت زیر می باشد.
int(x, a, b)
مثال
مقدار انتگرال زیر را بدست آورید.
کد زیر را در متلب می نویسیم.
int(x, 4, 9)
متلب عبارت بالا را اجرا کرده و نتیجه زیر را بر می گرداند.
ans =
65/2
کد هم ارز آن در Octave، به صورت زیر است.
symbols
x = sym("x");
f = x;
c = [1, 0];
integral = polyint(c);
a = polyval(integral, 9) - polyval(integral, 4);
display('Area: '), disp(double(a));
Octave کد بالا را اجرا کرده و نتیجه را به صورت زیر بر می گرداند.
Area:
32.500
یک راه حل جایگزین در Octave، استفاده از تابع quad() می باشد.
pkg load symbolic
symbols
f = inline("x");
[a, ierror, nfneval] = quad(f, 4, 9);
display('Area: '), disp(double(a));
Octave برنامه را اجرا کرده و به صورت زیر نتیجه را نشان می دهد.
Area:
32.500
مثال
فرض کنیم می خواهیم مساحت بین محور x ها و منحنی y = x3−2x+5 و خطوط x = 1 و x = 2 را بدست آورید.
به عبارت دیگر می خواهیم انتگرال زیر را حل کنیم.
یک فایل اسکریپت ایجاد کرده و کد های زیر را در آن بنویسید.
f = x^3 - 2*x +5;
a = int(f, 1, 2)
display('Area: '), disp(double(a));
وقتی فایل را اجرا می کنید، نتیجه زیر حاصل می شود.
a =
23/4
Area:
5.7500
هم ارز کد بالا در Octave، کد های زیر می باشد.
symbols
x = sym("x");
f = x^3 - 2*x +5;
c = [1, 0, -2, 5];
integral = polyint(c);
a = polyval(integral, 2) - polyval(integral, 1);
display('Area: '), disp(double(a));
Octave، کد بالا را اجرا کرده و به صورت زیر بر می گرداند.
5.7500
راه حل جایگزین در Octave، با استفاده از تابع quad()
symbols
x = sym("x");
f = inline("x^3 - 2*x +5");
[a, ierror, nfneval] = quad(f, 1, 2);
display('Area: '), disp(double(a));
Octave کد بالا را اجرا کرده و نتیجه زیر را بر می گرداند.
5.7500
مثال
مساحت زیر منحنی f(x) = x2 cos(x) را در بازه −4 ≤ x ≤ 9 بدست آورید.
یک فایل اسکریپت ایجاد کرده و کد های زیر را در آن بنویسید.
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));
وقتی متلب فایل را اجرا می کند، نتیجه را به صورت نمودار زیر نشان می دهد.
خروجی به صورت زیر خواهد بود.
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
Area:
0.3326
هم ارز محاسبات بالا در Octave، کد های زیر می باشد.
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));
از ارسال دیدگاه های نا مرتبط با متن خبر، تکرار نظر دیگران، توهین به سایر کاربران و ارسال متن های طولانی خودداری نمایید.
لطفا نظرات بدون بی احترامی، افترا و توهین به مسئولان، اقلیت ها، قومیت ها و ... باشد و به طور کلی مغایرتی با اصول اخلاقی و قوانین کشور نداشته باشد.
در غیر این صورت، «برق نیوز» مطلب مورد نظر را رد یا بنا به تشخیص خود با ممیزی منتشر خواهد کرد.