MATLAB - Entegrasyon
Entegrasyon, temelde farklı iki tür problemle ilgilenir.
Birinci türde bir fonksiyonun türevi verilir ve fonksiyonu bulmak istiyoruz. Bu nedenle, temelde farklılaşma sürecini tersine çeviriyoruz. Bu ters işlem, farklılaşma önleme veya ilkel işlevi bulma veya birindefinite integral.
İkinci tür problemler, çok büyük sayıda çok küçük miktarları toplamayı ve ardından niceliklerin boyutu sıfıra yaklaştıkça bir sınır almayı ve terimlerin sayısı sonsuza doğru gitmeyi içerir. Bu süreç,definite integral.
Belirli integraller alanı, hacmi, ağırlık merkezini, atalet momentini, bir kuvvet tarafından yapılan işi bulmak için ve diğer birçok uygulamada kullanılır.
MATLAB Kullanarak Belirsiz İntegrali Bulmak
Tanım olarak, bir f (x) fonksiyonunun türevi f '(x) ise, o zaman f' (x) 'in x'e göre belirsiz integralinin f (x) olduğunu söyleriz. Örneğin, x 2'nin türevi (x'e göre) 2x olduğu için, 2x'in belirsiz integralinin x 2 olduğunu söyleyebiliriz .
Sembollerde -
f'(x2) = 2x, bu nedenle,
∫ 2xdx = x2.
Belirsiz integral benzersiz değildir, çünkü x 2 + c'nin türevi, c sabitinin herhangi bir değeri için 2x olacaktır.
Bu şu sembollerle ifade edilir -
∫ 2xdx = x2 + c.
Burada c, 'keyfi sabit' olarak adlandırılır.
MATLAB, intbir ifadenin integralini hesaplamak için komut. Bir fonksiyonun belirsiz integrali için bir ifade türetmek için şunu yazıyoruz -
int(f);
Örneğin, önceki örneğimizden -
syms x
int(2*x)
MATLAB yukarıdaki ifadeyi yürütür ve aşağıdaki sonucu döndürür -
ans =
x^2
örnek 1
Bu örnekte, yaygın olarak kullanılan bazı ifadelerin integralini bulalım. Bir komut dosyası oluşturun ve içine aşağıdaki kodu yazın -
syms x n
int(sym(x^n))
f = 'sin(n*t)'
int(sym(f))
syms a t
int(a*cos(pi*t))
int(a^x)
Dosyayı çalıştırdığınızda, aşağıdaki sonucu görüntüler -
ans =
piecewise([n == -1, log(x)], [n ~= -1, x^(n + 1)/(n + 1)])
f =
sin(n*t)
ans =
-cos(n*t)/n
ans =
(a*sin(pi*t))/pi
ans =
a^x/log(a)
Örnek 2
Bir komut dosyası oluşturun ve içine aşağıdaki kodu yazın -
syms x n
int(cos(x))
int(exp(x))
int(log(x))
int(x^-1)
int(x^5*cos(5*x))
pretty(int(x^5*cos(5*x)))
int(x^-5)
int(sec(x)^2)
pretty(int(1 - 10*x + 9 * x^2))
int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2)
pretty(int((3 + 5*x -6*x^2 - 7*x^3)/2*x^2))
Unutmayın ki pretty işlev, daha okunaklı bir biçimde bir ifade döndürür.
Dosyayı çalıştırdığınızda, aşağıdaki sonucu görüntüler -
ans =
sin(x)
ans =
exp(x)
ans =
x*(log(x) - 1)
ans =
log(x)
ans =
(24*cos(5*x))/3125 + (24*x*sin(5*x))/625 - (12*x^2*cos(5*x))/125 + (x^4*cos(5*x))/5 - (4*x^3*sin(5*x))/25 + (x^5*sin(5*x))/5
2 4
24 cos(5 x) 24 x sin(5 x) 12 x cos(5 x) x cos(5 x)
----------- + ------------- - -------------- + ------------
3125 625 125 5
3 5
4 x sin(5 x) x sin(5 x)
------------- + -----------
25 5
ans =
-1/(4*x^4)
ans =
tan(x)
2
x (3 x - 5 x + 1)
ans =
- (7*x^6)/12 - (3*x^5)/5 + (5*x^4)/8 + x^3/2
6 5 4 3
7 x 3 x 5 x x
- ---- - ---- + ---- + --
12 5 8 2
MATLAB Kullanarak Kesin İntegrali Bulmak
Tanım olarak, belirli integral temelde bir toplamın sınırıdır. Bir eğri ile x ekseni arasındaki alan ve iki eğri arasındaki alan gibi alanları bulmak için belirli integralleri kullanırız. Belirli integraller, gerekli miktarın bir toplamın sınırı olarak ifade edilebildiği diğer durumlarda da kullanılabilir.
int fonksiyonu, integrali hesaplamak istediğiniz limitleri aşarak kesin entegrasyon için kullanılabilir.
Hesaplamak
Biz yazarız,
int(x, a, b)
Örneğin,
int(x, 4, 9)
MATLAB yukarıdaki ifadeyi yürütür ve aşağıdaki sonucu döndürür -
ans =
65/2
Aşağıda, yukarıdaki hesaplamanın Oktav eşdeğeri -
pkg load symbolic
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, kodu yürütür ve aşağıdaki sonucu döndürür -
Area:
32.500
Octave tarafından sağlanan quad () işlevi kullanılarak aşağıdaki gibi alternatif bir çözüm verilebilir -
pkg load symbolic
symbols
f = inline("x");
[a, ierror, nfneval] = quad(f, 4, 9);
display('Area: '), disp(double(a));
Octave, kodu yürütür ve aşağıdaki sonucu döndürür -
Area:
32.500
örnek 1
X ekseni ile y = x 3 −2x + 5 eğrisi ve x = 1 ve x = 2 koordinatları arasında kalan alanı hesaplayalım .
Gerekli alan verilir -
Bir komut dosyası oluşturun ve aşağıdaki kodu yazın -
f = x^3 - 2*x +5;
a = int(f, 1, 2)
display('Area: '), disp(double(a));
Dosyayı çalıştırdığınızda, aşağıdaki sonucu görüntüler -
a =
23/4
Area:
5.7500
Aşağıda, yukarıdaki hesaplamanın Oktav eşdeğeri -
pkg load symbolic
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, kodu yürütür ve aşağıdaki sonucu döndürür -
Area:
5.7500
Octave tarafından sağlanan quad () işlevi kullanılarak aşağıdaki gibi alternatif bir çözüm verilebilir -
pkg load symbolic
symbols
x = sym("x");
f = inline("x^3 - 2*x +5");
[a, ierror, nfneval] = quad(f, 1, 2);
display('Area: '), disp(double(a));
Octave, kodu yürütür ve aşağıdaki sonucu döndürür -
Area:
5.7500
Örnek 2
Eğrinin altındaki alanı bulun: −4 ≤ x ≤ 9 için f (x) = x 2 cos (x).
Bir komut dosyası oluşturun ve aşağıdaki kodu yazın -
f = x^2*cos(x);
ezplot(f, [-4,9])
a = int(f, -4, 9)
disp('Area: '), disp(double(a));
Dosyayı çalıştırdığınızda, MATLAB grafiği çizer -
Çıktı aşağıda verilmiştir -
a =
8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9)
Area:
0.3326
Aşağıda, yukarıdaki hesaplamanın Oktav eşdeğeri -
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));