• Sonuç bulunamadı

diff Türev Alma Fonksiyonu. >> syms x >> A=3*x^4+x^2-3*x A = 3*x^4+x^2-3*x. >> diff(a) // A fonksiyonunun türevini alır. ans = 12*x^3+2*x-3

N/A
N/A
Protected

Academic year: 2022

Share "diff Türev Alma Fonksiyonu. >> syms x >> A=3*x^4+x^2-3*x A = 3*x^4+x^2-3*x. >> diff(a) // A fonksiyonunun türevini alır. ans = 12*x^3+2*x-3"

Copied!
8
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

7.4.2. diff Türev Alma Fonksiyonu

>> syms x

>> A=3*x^4+x^2-3*x A =

3*x^4+x^2-3*x

>> diff(A) // A fonksiyonunun türevini alır.

ans =

12*x^3+2*x-3

>> diff(A,2) // A fonksiyonunun türevini 2 kere alır.

ans = 36*x^2+2 ÖRNEK:

>> syms x

>> f1=cos(x)^2;

>> diff(f1) ans =

-2*cos(x)*sin(x)

ÖRNEK:

>> syms x

>> syms y

>> F=x^3+x^2-3*y;

>> diff(F,x) // F fonksiyonunun x e göre türevini alır.

ans = 3*x^2+2*x

>> diff(F,y) // F fonksiyonunun y ye göre türevini alır.

ans = -3

>> diff(F,x,2) // F fonksiyonunun x e göre 2. türevini alır.

ans = 6*x+2

>> diff(F,y,2) // F fonksiyonunun y ye göre 2. türevini alır.

ans =

0

(2)

7.4.3. İntegral Alma Fonksiyonları

function y = myfun(x) // bu iki satır m-file (FileNewM-File) de yazılır.

y = 1./(x.^3-2*x-5) // Aşağıdaki “quad” bu fonksiyonun altsınırı 0 üst sınırı 2 olan // integral sonucunu hesaplar.

>> Q = quad(@myfun,0,2) //Quad simpson yöntemine göre integral alır.

ÖRNEK: dblquad iki katlı integral alma fonksiyonu

dblquad

2

0

2 .cos integralini çözer.

pi pi

pi

x y

 

function dy=fonk1(x,y) dy=2*x*cos(y)^2

>> dblquad('fonk1',0,pi,-pi,pi) ans =

19.7392

7.4.4. dsolve Diferensiyel Denklem Çözüm Fonksiyonları

y”  d y

2

dx  Matlab da gösterimi D2y şeklindedir.

y’ dy

dx Matlab da gösterimiDy şeklindedir.

(1+t^2). dy

dt +2*t*y=cost diferansiyel denkleminin çözümü için;

>> k=dsolve('(1+t^2)*Dy+2*t*y=cost(t)') // ' ' lar arasındaki k diferensiyel denklemini çözer.

k =

(Int(cost(t),t)+C1)/(1+t^2) // genel çözümü verir.

>> pretty(k) // k diferansiyel denkleminin C ye bağlı çözümünü matematiksel olarak yazar.

/ |

| cost(t) dt + C1 |

/

---

2

1 + t

(3)

Alıştırma Soruları: Aşağıdaki dif.denklemleri dsolve komutu ile çözünüz.

MATLAB’ta ; lnx log(x) , e

x

exp(x) ve log x = log10(x) şeklinde ifade edilir.

10

y”-2y’+y= e .lnx

x

y”’-2y”-3*y’= 1 1  e

x

y”+3y’+2y= 1

1  e

x

y”+y’= 1

sin x

7.4.5. Euler Sayısal Yöntemiyle Diferensiyel Denklem Çözümü

y’= y-x diferansiyel denklemini y(0)=1 başlangıç şartıyla 0  x  0.3 aralığında 10 adımda Euler yöntemiyle çözelim.

Matlab’ta file  new  M-file diyerek aşağıdaki kodları yazalım.

%Euler Yöntemi

%y'=y-x ve y(0)=1 başlangıç değeri

%0<= x <= 0.3 aralığında Euler çözümü x0=0;

xn=0.3;

y0=1;

m=10;

h=(xn-x0)/m;

x=x0:h:xn;

y(1)=y0;

for i=1:m

y(i+1)=y(i)+h*(y(i)-x(i)) end

display(' Euler Çözümü') display(' x y') disp([x;y]')

plot(x,y)

daha sonra bu dosyayı

euler1

adıyla kaydedip Matlab ana ekranına (Command Window) euler1 yazalım.

Ekran çıktımız şu şekilde olacaktır.

( Columns 1 y nin çözüm değerlerini göstermektedir. Son satır son çözüm değerlerini verir.)

>> euler1

y =

Columns 1 through 2

(4)

y =

Columns 1 through 4

1.0000 1.0300 1.0600 1.0900 y =

Columns 1 through 5

1.0000 1.0300 1.0600 1.0900 1.1200 y =

Columns 1 through 6

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 y =

Columns 1 through 7

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 y =

Columns 1 through 8

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100 y =

Columns 1 through 9

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100 1.2400 y =

Columns 1 through 10

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100 1.2400 1.2700 y =

Columns 1 through 11

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100 1.2400 1.2700 1.3000

Euler Çözümü x y 0 1.0000 0.0300 1.0300 0.0600 1.0600 0.0900 1.0900 0.1200 1.1200 0.1500 1.1500 0.1800 1.1800 0.2100 1.2100 0.2400 1.2400 0.2700 1.2700 0.3000 1.3000

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4

(5)

7.4.6. Runge-Kutta Sayısal Yöntemiyle Diferensiyel Denklem Çözümü

y’= y-x diferansiyel denklemini y(0)=1 başlangıç şartıyla 0  x  0.3 aralığında 10 adımda Runge-Kutta yöntemiyle çözelim.

Matlab’ta file  new  M-file diyerek aşağıdaki kodları yazalım.

%Euler örneğinin Runge-Kutta çözümü x0=0;

xn=0.3;

y0=1;

m=10;

h=(xn-x0)/m;

x=x0:h:xn;

y(1)=y0;

for i=1:m

k1=h*(y(i)-x(i));

k2=h*(y(i)+k1/2-(x(i)+h/2));

k3=h*(y(i)+k2/2-(x(i)+h/2));

k4=h*(y(i)+k3-(x(i)+h));

y(i+1)=y(i)+(k1+2*k2+2*k3+k4)/6 end

display(' x y') disp([x;y]')

plot(x,y)

daha sonra bu dosyayı

rungekutta1

adı altında kaydedip matlab ana ekranına (Command Window) rungekutta1 yazalım. Ekran çıktımız şu şekilde olacaktır.

>> rungekutta1

y =

Columns 1 through 2 1.0000 1.0300

y =

Columns 1 through 3 1.0000 1.0300 1.0600

y =

Columns 1 through 4

1.0000 1.0300 1.0600 1.0900

y =

Columns 1 through 5

1.0000 1.0300 1.0600 1.0900 1.1200

(6)

y =

Columns 1 through 6

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 y =

Columns 1 through 7

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800

y =

Columns 1 through 8

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100

y =

Columns 1 through 9

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100 1.2400

y =

Columns 1 through 10

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100 1.2400 1.2700

y =

Columns 1 through 11

1.0000 1.0300 1.0600 1.0900 1.1200 1.1500 1.1800 1.2100 1.2400 1.2700 1.3000

x y 0 1.0000 0.0300 1.0300 0.0600 1.0600 0.0900 1.0900 0.1200 1.1200 0.1500 1.1500 0.1800 1.1800 0.2100 1.2100 0.2400 1.2400 0.2700 1.2700 0.3000 1.3000

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4

(7)

ÖRNEK: ode23 komutu 2. ve 3. mertebeden Runge-Kutta yaklaşımını, ode45 komutu 4. ve 5. mertebeden Runge-Kutta yaklaşımını kullanır. Ode fonksiyonunun kullanımı şöyledir:

[t x]=ode23(‘fonksiyon adı’,[t0 tson],x0)

M- file dosyasına 2. dereceden bir fonksiyon yazıp bunu ode23 komutuyla çözelim.

Diferensiyel denklem fonksiyonumuz dy 2

2

. x olsun

dx

Bunun analitik(gerçek) çözümünü y(1)=1 başlangıç koşulu(x0=1,y0=1) altında, x in 1 ve 3 sınır değerleri arasında ise sayısal çözümünü bulalım.

Analitik(gerçek) çözüm: Diferensiyel denklem değişkenlerine ayrılabilen olduğundan sol ve sağ tarafının doğrudan integrali alındığında genel çözümü

3 3

2 2 1

olup y(1)=1 için C=1/3 olup y= olarak gerçek çözümü bulunur.

3 3 3

yxC x

Şimdi ise ode23 Matlab komutuyla Sayısal çözümünü bulalım: Öncelikle diferensiyel denklem fonksiyonunu bir function alt programıyla tanıtmamız gerekmektedir:

function dy=gcoz(x,y) dy = 2*x^2;

Bunu m-file( File  New  M-File) klasörüne gcoz olarak kaydedelim. Analitik çözümü ya=(2/3)*x.^3+1/3

olarak tanımlayalım. Ode23 ile Matlab çözüm komutları şöyle olacaktır;

>> [x ysay] = ode23('gcoz',[1 3],1);

>> [x ysay]

ans =

1.0000 1.0000

1.0400 1.0832

1.2281 1.5682

1.4281 2.2751

1.6281 3.2104

1.8281 4.4063

2.0281 5.8947

2.2281 7.7075

2.4281 9.8769

2.6281 12.4347

2.8281 15.4131

3.0000 18.3333

(8)

Burada 1.sütun x e ait değerler, 2.sütun ise ysay a ait y nin(dif. Denklemin) Sayısal çözüm

değerleridir. Şimdi Diferensiyel denklemin ysay Sayısal çözümünün ya Analitik(gerçek) çözümüne ne kadar yaklaştığını grafik üzerinde görelim.Aşağıdaki komutlar bu grafiğin çizimini gerçekleştirecektir:

>> ya=(2/3)*x . ^3+1/3; % Dif. Denklemin Analitik Çözümü

>> plot(x,ysay,x,ya,'o');% ysay ı çizgi ile ve ya yı o ile aynı grafikte çizen komut

>> xlabel('x');

>> ylabel('y=f(x)');

>> grid;

1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3

0 2 4 6 8 10 12 14 16 18 20

Grafik incelendiğinde ode23 ile elde edilen sayısal çözüm değerlerinin( o ) sürekli çizgi şeklindeki

analitik(gerçek) çözüm değerleri ile üst üste çakıştığı görülmektedir. Bu durum ode23 ile yapılan

Matlab sayısal çözümünün hatasız olduğunu, çok başarılı bir çözüm olduğunu göstermektedir.

Referanslar

Benzer Belgeler

Aşağıdaki çarpma işlemi gerektiren problemleri çözünüz. 1) 36 sayısının 23 katı kaç eder? 6) Ahmet 24 sayfalık fotoğraf albümünün her sayfasına 6 fotoğraf koymuş. Her

(Cevabınızın do˘ gru oldu˘ gunu da g¨ oster- meniz gerekiyor).. (Cevabınızın do˘ gru oldu˘ gunu da g¨

(Cevabınızın do˘ gru oldu˘ gunu da g¨ oster- meniz gerekiyor).. (Cevabınızın do˘ gru oldu˘ gunu da g¨

Kullandı˘ gınız teorem(ler)in ko¸sullarının sa˘ glandı˘ gını kontrol edin.. (˙Ipucu: ¨ Once f nin 1 de s¨ urekli olması i¸cin sa˘ glanması gereken

[r]

[r]

11. 52 yafl›ndaki bir baban›n üç çocu¤undan iki tanesi ikizdir. Di¤er çocuk, ikizlerden 5 yafl büyüktür. Bir baba ve iki çocu¤unun yafllar› toplam› 49 dur. Bir anne

Bir kübün hacmi 64 cm 3 iken hacminin değişim hızı 2 cm 3 /sn olduğuna göre, bu andaki kübün yüzey alanının değişim hızı kaç cm 2 /sn