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,

yazdığımız değeri hesaplamak iç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));