MATLAB ile Sembolik Analiz Symbolic Math Toolbox Sembolik Matematik Araç Kutusu Artılar - Eksiler Sembolik programlamanın artıları Analitik çözümler elde edilebilir. Çok yüksek hassasiyetlere erişilebilir Hatasız veya çok düşük hatalarla işlem yapılabilir Sembolik programlamanın eksileri Çözüm süresi uzundur Çok fazla bilgisayar kaynağı gerekir Sembolik Nesneler - Bir sembolik nesne özel bir MATLAB veri tipidir. - Sembolik nesneler yardımıyla, matematiksel işlemleri, sayısal değerler kullanmadan analitik olarak hesaplayabilirsiniz. - Analitik hesaplamaların geniş bir yelpazesinde sembolik nesneler kullanılır: • Limit (tek taraflı limitler dahil) • Adi ve kısmi türev • Belirli ve belirsiz integral Sembolik nesneler, • Seriler (Taylor serileri dahil) sembolik değişkenler, • Matris işlemleri sembolik sayılar, • Cebirsel denklem ve diferensiyel denklem çözme sembolik ifadeler, • İntegral dönüşümleri sembolik matrisler ve sembolik fonksiyonlardır. Sembolik Değişken Tanımlama Sembolik değişkenleri oluşturmak için sym (tek bir sembolik değişken tanımla) veya syms (bir veya daha çok sembolik değişken tanımlama) komutu kullanılır. degisken_adi = sym (‘degisken_degeri’) sym komutu ile sembolik değişkenler ve sembolik ifadeler oluşturulur. >> x=sym('x') x= x a=sym('alpha') a= alpha >> z=sym(2) z= 2 Değeri x olan x sembolik değişkeni oluşturur. Değeri alpha olan a sembolik değişkeni oluşturur. Değeri 2 (sembolik 2, sayısal 2 değil) olan z sembolik değişkeni oluşturur. Ekran görüntüsüne dikkat! >> z=2 z= 2 Sembolik Değişken Tanımlama Sembolik değişkenleri oluşturmak için sym (tek bir sembolik değişken tanımla) veya syms (bir veya daha çok sembolik değişken tanımlama) komut kullanılır. syms degisken1 degisken2 degisken3 … >> syms a veya >> syms b c d syms komutu ile bir veya daha fazla sembolik değişkenler ve sembolik ifadeler oluşturulur. Önce sembolik a değişkeni, sonra sembolik b, c ve d değişkenleri oluşturur. Farklar syms komutu Parantez ve tırnak işaretine ihtiyaç duymaz. syms x Bir defada çoklu sembolik nesneler oluşturulabilir. Bir veya daha çok sembolik değişkenler oluşturmak için idealdir. sym komutu Parantez ve tırnak işaretine ihtiyaç duyar. x = sym('x') 15 veya daha az ondalıklı bir sembolik sayı tanımlarken tırnak işaretine ihtiyaç yoktur. Bir defada bir sembolik nesne oluşturulur Sembolik sayılar ve sembolik ifadeler oluşturmak için idealdir. Fonksiyonlarda yada scriptlerde sembolik nesneler oluşturmak için idealdir. Değişken türü belirtme >> x=sym('x','real') >> y=x' y = x >> x=sym('x','unreal') >> y=x' y = conj(x) Gerçel (real) x değişkeni tanımlanır. Bu durumda x in transpozu kendisine eşit olur. Gerçel olmayan (unreal) x değişkeni tanımlanır. Bu durumda x in transpozu konjugesine eşit olur. Değişken türü belirtilmediği durumlarda söz konusu değişkenin türü, «unreal» olarak kabul edilir. Benzer varsayım >> syms x ile tanımlanan x sembolik değişkeni için de geçerlidir. Yani bu tanımlama ile x değişkeni unreal olarak kabul edilir. f = ax^2 + bx + c >> f = sym('a*x^2 + b*x + c') f= a*x^2 + b*x + c ÖNCE a = sym('a'); b = sym('b'); c = sym('c'); x = sym('x'); f değişkenin ax^2+bx+c sembolik ifadesini atar. Bununla sembolik ifadedeki a, b, c ve x birer değişken değildir. f üzerinde sembolik matematik işlemlerini uygulayabilmek için değişkenleri ayrıca tanımlamak gerekir. Bunun yerine, VEYA syms a b c x SONRA f = a*x^2 + b*x + c; Sembolik ifade oluşturma >> phi = sym('(1 + sqrt(5))/2') phi = 5^(1/2)/2 + 1/2 Sembolik phi ifadesi oluşturuldu. Not: Sembolik Araç Kutusunda, pi ayrılmış bir kelimedir. >> f = phi^2 - phi - 1 f= (5^(1/2)/2 + 1/2)^2 - 5^(1/2)/2 - 3/2 Sembolik fonksiyon oluşturma Sembolik fonksiyonlar oluşturmak için sym ve syms komutlarının her ikisi de kullanılabilir. Sembolik fonksiyon oluşturmanın en basit yolu syms komutunu kullanmaktır: >> syms f(x, y) >> syms x y; >> f(x, y) = sym('f(x, y)'); >> syms x y >> f(x, y) = x^3*y^3 x ve y sembolik değişkenli sembolik fonksiyonu oluşturulur. sym sadece fonksiyonu oluşturur, argümanları olan x ve y değişkenlerini oluşturmaz. Bu yüzden, fonksiyondan önce x ve y sembolik değişkenleri tanımlanmıştır. x = y+1 için f(x,y)=? >> f(y + 1, y) ans = y^3*(y + 1)^3 Sembolik fonksiyon oluşturma Sembolik fonksiyonlar oluşturmak için symfun komutu da kullanılabilir. f=symfun(formül, giriş_degiskenleri) f(x, y) = x + y fonksiyonunu oluşturmak için: >> syms x y >> f = symfun(x + y, [x y]) syms x y f(x, y) = x + y Sembolik matris oluşturma >> syms a b c >> A = [a b c; c a b; b c a] A= [ a, b, c] [ c, a, b] [ b, c, a] >> A = hilb(3) A= 1.0000 0.5000 0.3333 0.5000 0.3333 0.2500 0.3333 0.2500 0.2000 >> A=sym(A) A= [ 1, 1/2, 1/3] [ 1/2, 1/3, 1/4] [ 1/3, 1/4, 1/5] Sembolik değişken bulma Bir ifade, fonksiyon veya matristeki sembolik değişkeni bulmak için symvar komutu kullanılır. >> syms a b n t x; >> f = x^n; >> g = sin(a*t + b); >> symvar(f) ans = [ n, x] >> symvar(g) ans = [ a, b, t] >> symvar(g, 2) ans = [ t, b] >> syms x y w z >> f(w, z) = x*w + y*z; >> symvar(f) ans = [ w, x, y, z] >> symvar(f, 2) ans = [ w, z] g deki sembolik ilk iki değişkeni bulur. Burada ilk iki değişken a ve b değildir. Onları ,x e yakınlığına göre sıralar. symvar komutu ile bir fonksiyondaki sembolik değişkenleri de bulabiliriz. Önce fonksiyon argümanları, daha sonra diğer değişkenleri sıralar. Varsayılan (default) değişken Eğer bir türev, integral veya diğer sembolik işlemlerde bir bağımsız değişken belirlenmemiş ise, MATLAB bir varsayılan (default) değişken kullanır. Varsayılan değişken, alfabetik olarak x e yakın olan değişken veya sembolik fonksiyonlar için fonksiyonun ilk giriş argümanı olarak belirlenir. Varsayılan olarak seçilen değişkeni bulmak için symvar(f,1) komutu kullanılır. >> syms s t >> f = s + t; >> symvar(f, 1) ans = t >> syms sx tx >> f = sx + tx; >> symvar(f, 1) ans = tx collect komutu collect(S) VEYA collect(S, variable_name) Değişkenleri kuvvetlerine göre gruplar. >> syms x y >> S=(x^2+x-exp(x))*(x+3) S= (x + 3)*(x - exp(x) + x^2) >> F = collect(S) F= x^3 + 4*x^2 + (3 - exp(x))*x - 3*exp(x) >> T=(2*x^2+y^2)*(x+y^2+3) T= (2*x^2 + y^2)*(y^2 + x + 3) >> F = collect(T) F= 2*x^3 + (2*y^2 + 6)*x^2 + y^2*x + y^2*(y^2 + 3) >> H=collect(T,y) H= y^4 + (2*x^2 + x + 3)*y^2 + 2*x^2*(x + 3) expand komutu Toplamların çarpımını, çarpımların toplamı olarak yazar. Ayrıca, örneğin trigonometrik ifadeleri, trigonometrik özdeşliklere göre parçalama gibi işlevi de vardır. expand(S) >> syms a x y >> S=(x+5)*(x-a)*(x+4) S= -(a - x)*(x + 4)*(x + 5) >> T=expand(S) T= 20*x - 20*a - 9*a*x - a*x^2 + 9*x^2 + x^3 >> expand(sin(x-y)) ans = cos(y)*sin(x) - cos(x)*sin(y) >> syms x >> f = (x ^2- 1)*(x^4 + x^3 + x^2 + x + 1)*(x^4 - x^3 + x^2 - x + 1); >> expand(f) ans = x^10 - 1 factor komutu factor(S) Çarpanlarına ayırma yapar. >> syms x y >> factor(x^3-y^3) ans = (x - y)*(x^2 + x*y + y^2) >> syms x >> g = x^3 + 6*x^2 + 11*x + 6; >> factor(g) ans = (x + 3)*(x + 2)*(x + 1) >> syms a b >> factor([a^2 - b^2, a^3 + b^3]) ans = [ (a - b)*(a + b), (a + b)*(a^2 - a*b + b^2)] simplfy ve simple komutları Her iki komutta bir sembolik ifadeyi daha basit (daha sade) yazmak için kullanılır. simple komutunun, ilerleyen sürümlerde kaldırılması düşünülmektedir. >> syms x y >> S=(x^2+5*x+6)/(x+2) S= (x^2 + 5*x + 6)/(x + 2) >> simplify(S) ans = x+3 >> simplify((x+y)/(1/x+1/y)) ans = x*y >> S=(x^3-4*x^2+16*x)/(x^3+64) S= (x^3 - 4*x^2 + 16*x)/(x^3 + 64) >> F = simple(S) F= x/(x + 4) pretty komutu Sembolik ifadeyi matematiksel yazılımına benzer formatta yazmak için kullanılır. >> syms a b c x >> S=sqrt(a*x^2 + b*x + c) S= (a*x^2 + b*x + c)^(1/2) >> pretty(S) >> syms a b c x >> S = solve(a*x^2 + b*x + c , x); >> pretty(S) subs komutu Bir sembolik değişkende bir sayısal değeri yerine yazmak için subs fonksiyonu kullanılabilir. >> syms x >> f = 2*x^2 - 3*x + 1; >> subs(f, 1/3) ans = 2/9 Çok değişkenli durum >> syms x y >> f = x^2*y + 5*x*sqrt(y); >> subs(f, x, 3) ans = 9*y + 15*y^(1/2) subs fonksiyonu f nin orijinal ifadesini değiştirmez. >> f f= 2*x^2 - 3*x + 1 Bir değişken yerine başka bir değişken yazma >> subs(f, y, x) ans = x^3 + 5*x^(3/2) subs komutu Bir polinomda bir matrisi yerine koyma Eleman eleman yerine koyma (Matris kare matris olmak zorunda değil) Matris anlamda yerine koyma (Matris kare matris olmalıdır.) >> syms x >> f = x^3 - 15*x^2 - 24*x + 350; >> A = [1 2 3; 4 5 6]; >> subs(f,A) ans = [ 312, 250, 170] [ 78, -20, -118] >> syms x >> f = x^3 - 15*x^2 - 24*x + 350; >> A = magic(3) A= 8 1 6 3 5 7 4 9 2 >> b = sym2poly(f) b= 1 -15 -24 350 >> A^3 - 15*A^2 - 24*A + 350*eye(3) ans = -10 0 0 0 -10 0 0 0 -10 VEYA >> polyvalm(b,A) Elemanter Fonksiyonlar Ve Cebirsel İşlemler Double türlü değişkenler için tanımlı elemanter fonksiyonlar (Trigonometrik:sin,cos,tan,cotan,sec,csc;ters trigonometrik fonksiyonlar:asin,acos,…; hiperbolik fonksiyonlar:sinh,cosh,…; üstel ve logaritmik fonksiyonlar:exp, log) sembolik değişkenler için de tanımlıdır. Benzer biçimde aritmetik operatörler (+,-,*,/) aynı işlevlere sahiptirler: >> >> >> >> >> >> >> syms x f=sin(x); g=cos(x) f+g ans = f*g ans = f-g ans = f/g ans = sin(x)+cos(x) sin(x)*cos(x) sin(x)-cos(x) sin(x)/cos(x) Elemanter Fonksiyonlar Ve Cebirsel İşlemler Double türlü değişkenler için tanımlı elemanter fonksiyonlar (Trigonometrik:sin,cos,tan,cotan,sec,csc;ters trigonometrik fonksiyonlar:asin,acos,…; hiperbolik fonksiyonlar:sinh,cosh,…; üstel ve logaritmik fonksiyonlar:exp, log) sembolik değişkenler için de tanımlıdır. Benzer biçimde aritmetik operatörler (+,-,*,/) aynı işlevlere sahiptirler: Denklem Çözme Cebirsel Denklemler ve Denklem Sistemleri Adi Diferensiyel Denklemler ve Denklem Sistemleri Cebirsel Denklem Çözme ( f(x)=0 şeklindeki denklemler ) solve(S) S bir sembolik ifade ise S deki sembolik değişken için S ifadesinin sıfır yerini bulur. >> syms a b c x >> S = a*x^2 + b*x + c; >> solve(S) ans = -(b + (b^2 - 4*a*c)^(1/2))/(2*a) -(b - (b^2 - 4*a*c)^(1/2))/(2*a) >> pretty(ans) Cebirsel Denklem Çözme ( f(x)=0 şeklindeki denklemler ) Eğer özel bir değişken için denklemi çözmek istiyorsak, ilave bir argümanla değişkeni belirtmeliyiz. solve(S,argüman) >> syms a b c x >> S = a*x^2 + b*x + c; >> b=solve(S, b) b= -(a*x^2 + c)/x Cebirsel Denklem Çözme ( f(x)=g(x) şeklindeki denklemler ) f(x) = g(x) şeklindeki denklemleri çözmek için "==" operatörünü kullanmalıyız. >> syms x >> s = solve(cos(2*x) + sin(x) == 1) s= 0 pi/6 (5*pi)/6 k tamsayı olmak üzere bunların k*pi katları da birer çözümdür. Bu çözümleri "MuPAD®" da görebiliriz. Örnekler >> syms x z >> h=solve(exp(2*z)-5) h = log(5)/2 >> S=x^2-x-6 S= x^2-x-6 >> k=solve(S) k = -2 3 Sembolik değişkenleri tanımlamadan, string olarak girilen bir denklemde çözülebilir. >> solve('cos(2*y)+3*sin(y)=2') ans = pi/2 pi/6 (5*pi)/6 >> tsonuc=solve('4*t*h^2+20*t-5*g') tsonuc = (5*g)/(4*h^2+20) Varsayılan değişkene (burada t) göre çözüldü. double komutu Sembolik bir değeri, double değere dönüştürmek için kullanılabilir. >> solve('cos(2*y)+3*sin(y)=2') ans = pi/2 pi/6 (5*pi)/6 >> double(ans) ans = 1.5708 0.5236 2.6180 Cebirsel Denklem Sistemi Çözme solve komutu cebirsel denklem sistemlerini çözmek için de kullanılabilir. solve(eq1, eq2,…, eqn) VEYA >> syms x y t VEYA >> S=10*x+12*y+16*t; >> [xt yt]=solve(S,'5*x-y=13*t') xt = 2*t yt = -3*t solve(eq1, eq2,…, eqn, var1, var2 ,…, varn) >> syms x y t >> [xt yt]=solve(10*x+12*y+16*t=0, '5*x-y=13*t') xt = 2*t yt = -3*t >> syms x y t >> [tx ty]=solve('10*x+12*y+16*t=0','5*x-y=13*t',y,t) tx = -(3*x)/2 ty = x/2 Cebirsel Denklem Sistemi Çözme >> syms x y t >> S=10*x+12*y+16*t; >> AN=solve(S,'5*x-y=13*t') AN = x: [1x1 sym] y: [1x1 sym] >> AN.x ans = 2*t >> AN.y ans = -3*t Örnek 𝑥−2 2 + 𝑦−4 2 = 𝑅2 çemberi ile 𝑦 = 𝑥/2 + 1 doğrusunun kesim noktasını bulunuz. >> syms x y R >> [xc,yc]=solve('(x-2)^2+(y-4)^2=R^2','y=x/2+1') xc = ((4*R^2)/5 - 64/25)^(1/2) + 14/5 14/5 - ((4*R^2)/5 - 64/25)^(1/2) yc = ((4*R^2)/5 - 64/25)^(1/2)/2 + 12/5 12/5 - ((4*R^2)/5 - 64/25)^(1/2)/2 >> pretty(xc) >> pretty(yc) Diferensiyel Denklem Çözme Adi diferensiyel denklemleri sembolik olarak çözmek için dsolve komutu kullanılır. Denklemleri yazmak için iki alternatif vardır: - Türev yerine D harfini kullanarak string olarak yazmak - diff içeren sembolik ifadeler olarak yazmak 𝑦′ = 𝑦 + 1 syms y(x); dsolve(diff(y) == y+ 1) dsolve('Dy = y + 1','x') Diferensiyel Denklem Çözme Kullanım Şekli Açıklama S = dsolve(eqn) eqn ile belirtilen adi diferensiyel denklemi çözer. S = dsolve(eqn,cond) cond ile verilen başlangıç veya sınır şartları altında, eqn denklemini çözer. [y1,...,yN] = dsolve(eqns) eqns ile belirtilen adi diferensiyel denklem sistemlerini çözer. [y1,...,yN] = dsolve(eqns,conds) cond ile verilen başlangıç veya sınır şartları altında, eqns denklem sistemini çözer. Örnekler 𝑑𝑥 = −𝑎𝑥 𝑑𝑡 𝑑𝑓 = 𝑓 + sin 𝑡 𝑑𝑡 syms a x(t) dsolve(diff(x) == -a*x) syms f(t) dsolve(diff(f) == f + sin(t)) 𝑑𝑦 = 𝑎𝑦, 𝑦 0 = 𝑏 𝑑𝑡 syms a b y(t) dsolve(diff(y) == a*y, y(0) == b) 𝑑2𝑦 𝜋 2 ′ = −𝑎 𝑦, 𝑦 0 = 1, 𝑦 =0 𝑑𝑡 2 𝑎 syms a y(t) Dy = diff(y); dsolve(diff(y, 2) == -a^2*y, y(0) == 1, Dy(pi/a) == 0) Örnekler 𝑥′ = 𝑦 𝑦 ′ = −𝑥 >> syms x(t) y(t) >> z = dsolve(diff(x) == y, diff(y) == -x) z = y: [1x1 sym] x: [1x1 sym] >> z.x ans = C12*cos(t) + C11*sin(t) >> z.y ans = C11*cos(t) - C12*sin(t) Örnek (String olarak girme) 𝑦′ 2 + 𝑦2 = 1 >> dsolve('Dy^2 + y^2 == 1') ans = 1 -1 cosh(C49 + t*i) cosh(C45 - t*i) >> dsolve('Dy^2 + y^2 == 1','s') ans = 1 -1 cosh(C57 + s*i) cosh(C53 - s*i) Örnek (Yüksek Mertebeler) 𝑦 ′′ − 2𝑦 ′ − 3𝑦 = 0 >> dsolve('D2y-2*Dy-3*y=0') ans = C3*exp(-t) + C2*exp(3*t) >> syms y(x) >> dsolve(diff(y, 2) -2*diff(y,1)-3*y==0) ans = C9*exp(-x) + C8*exp(3*x) Örnek (Yüksek Mertebeler ve Başlangıç Değer Pro.) 𝑦 ′′ − 2𝑦 ′ − 3𝑦 = 𝑥 sin 𝑥 , 𝑦 0 = 0, 𝑦 ′ 0 = 1 >> dsolve('D2y-2*Dy-3*y=x*sin(x)','y(0)=0,Dy(0)=1','x') ans = (53*exp(3*x))/200 - exp(-x)/8 - (7*cos(x))/50 - sin(x)/50 + (x*cos(x))/10 - (x*sin(x))/5 >> syms y(x) >> Dy = diff(y); >> dsolve(diff(y, 2) -2*diff(y,1)-3*y==x*sin(x),[y(0)==0,Dy(0)==1]) ans = (53*exp(3*x))/200 - exp(-x)/8 - (7*cos(x))/50 - sin(x)/50 + (x*cos(x))/10 (x*sin(x))/5 Örnek (Yüksek Mertebeler ve Başlangıç Değer Pro.) 𝑑3𝑢 ′ 0 = −1, 𝑢 ′′ 0 = 𝜋 = 𝑢, 𝑢 0 = 1, 𝑢 𝑑𝑥 3 >> syms u(x) >> Du = diff(u); >> D2u = diff(u, 2); >> u(x) = dsolve(diff(u, 3) == u, u(0) == 1, Du(0) == -1, D2u(0) == pi) u(x) = (pi*exp(x))/3 - exp(-x/2)*cos((3^(1/2)*x)/2)*(pi/3 - 1) -... (3^(1/2)*exp(-x/2)*sin((3^(1/2)*x)/2)*(pi + 1))/3 Örnek (Sınır Değer Problemleri - Dikkat) 𝑢′′ + 𝑢 = 0, 𝑢 0 = −1, 𝑢 𝜋/2 = 1 >> dsolve(diff(u,2)+u==0,u(0)==-1,u(pi/2)==1) ans = sin(x) - cos(x) 𝑢′′ + 𝑢 = 0, 𝑢 0 = −1, 𝑢′ 𝜋 = 1 >> syms u(x) >> Du=diff(u,1); >> dsolve(diff(u,2)+u==0,u(0)==-1,Du(pi)==1) ans = - cos(x) - sin(x) 𝑢′′ + 𝑢 = 0, 𝑢 0 = −1, 𝑢′ 𝜋/2 = 1 >> dsolve(diff(u,2)+u==0,u(0)==-1,Du(pi/2)==1) ans = C51*sin(x) - cos(x) Örnek (Denklem Sistemi) 𝑓 ′ = 3𝑓 + 4𝑔, 𝑔′ = −4𝑓 + 3𝑔, 𝑓 0 =0 𝑔 0 =1 >> syms f(t) g(t) >> [f(t), g(t)] = dsolve(diff(f) == 3*f + 4*g,... diff(g) == -4*f + 3*g, f(0) == 0, g(0) == 1) f(t) = sin(4*t)*exp(3*t) g(t) = cos(4*t)*exp(3*t) Örnek (Denklem Sistemi) 𝑥 ′ = 𝑥 + 2𝑦 + 1 ⇒ 𝑌 ′ = 𝐴𝑌 + 𝐵, ′ 𝑦 = −𝑥 + 𝑦 + 𝑡 𝑥 1 1 2 𝑌 = 𝑦 ,𝐴 = ,𝐵 = 𝑡 −1 1 >> syms x(t) y(t) >> A = [1 2; -1 1]; >> B = [1; t]; >> Y = [x; y]; >>S = dsolve(diff(Y) == A*Y + B); >>x = S.x x = 2^(1/2)*exp(t)*cos(2^(1/2)*t)*(C2 + (exp(-t)*(4*sin(2^(1/2)*t) +... 2^(1/2)*cos(2^(1/2)*t) + 6*t*sin(2^(1/2)*t) +... 6*2^(1/2)*t*cos(2^(1/2)*t)))/18) +... 2^(1/2)*exp(t)*sin(2^(1/2)*t)*(C1 - (exp(-t)*(4*cos(2^(1/2)*t) -... 2^(1/2)*sin(2^(1/2)*t) +... 6*t*cos(2^(1/2)*t) - 6*2^(1/2)*t*sin(2^(1/2)*t)))/18) >>y = S.y y = exp(t)*cos(2^(1/2)*t)*(C1 - (exp(-t)*(4*cos(2^(1/2)*t) -... 2^(1/2)*sin(2^(1/2)*t) + 6*t*cos(2^(1/2)*t) -... 6*2^(1/2)*t*sin(2^(1/2)*t)))/18) - exp(t)*sin(2^(1/2)*t)*(C2 +... (exp(-t)*(4*sin(2^(1/2)*t) + 2^(1/2)*cos(2^(1/2)*t) +... 6*t*sin(2^(1/2)*t) + 6*2^(1/2)*t*cos(2^(1/2)*t)))/18) odeToVectorField Yüksek mertebeden diferensiyel denklemleri, birinci mertebeden diferensiyel denklem sistemlerine dönüştürmek için kullanılır. V = odeToVectorField(eqn1,...,eqnN) VEYA [V,Y] =odeToVectorField(eqn1,...,eqnN) 𝑡 3𝑦 5 + 2𝑡𝑦 4 + 𝑦 ′′ + 𝑦 2 = −3𝑡 >> syms y(t) >> V = odeToVectorField(t^3*diff(y, 5) + 2*t*diff(y, 4) + diff(y, 2) + y^2 == -3*t) V = 𝑦1′ = 𝑦2 Y[2] 𝑦2′ = 𝑦3 Y[3] 𝑦3′ = 𝑦4 Y[4] 𝑦4′ = 𝑦5 Y[5] 𝑦5′ = − 3𝑡 + 𝑦12 + 2𝑡𝑦5 + 𝑦3 /𝑡 3 -(3*t + Y[1]^2 + 2*t*Y[5] + Y[3])/t^3 ∞ 𝑒 −𝑠𝑡 𝑓 𝑡 𝑑𝑡 𝐹 𝑠 = 0 LAPLACE DÖNÜŞÜMÜ 𝐿−1 𝐹 𝑠 1 =𝑓 𝑡 = 2𝜋𝑖 𝑐+𝑖∞ 𝑓 𝑠 𝑒 𝑠𝑡 𝑑𝑠 𝑐−𝑖∞ laplace komutu laplace(f) VEYA laplace(f,var_d) VEYA laplace(f,var,var_d) >> syms t >> laplace(t^2) ans = 2/s^3 >> syms t r >> laplace(t^2,r) ans = 2/r^3 >> syms t s >> laplace(t^2,s) ans = 2/s^3 𝐿 𝑒 𝑎𝑡 =? 𝐿 𝑒𝑎 𝑡−2 =? >> syms t a s >> laplace(exp(a*t),t,s) ans = -1/(a - s) >> laplace(exp(a*(t-2)),t,s) ans = -exp(-2*a)/(a - s) 𝐿 sin 𝑎𝑡 𝐿 cos 𝑎𝑡 =? >>laplace(sin(a*t)) ans = a/(a^2 + s^2) =? >>laplace(cos(a*t)) ans = s/(a^2 + s^2) >> syms x r >> laplace(x^2,x,r) ans = 2/r^3 Örnekler 𝐿 1 =? 𝐿 5 =? >> syms t >> laplace(t^0) ans = 1/s 𝐿 sin 3𝑡 + cos 5𝑡 >> syms t >> laplace(sym(5)) ans = 5/s =? >> laplace(sin(3*t)+cos(5*t)) ans = s/(s^2 + 25) + 3/(s^2 + 9) 𝐿 𝑡𝑒 𝑡 cosh 𝑡 + 5 =? >> laplace(t*exp(t)*cosh(t+5)) ans = (((s*exp(5))/2 + (exp(-5)*(s - 2))/2)*(2*s - 2))/((s 1)^2 - 1)^2 - (exp(-5)/2 + exp(5)/2)/((s - 1)^2 - 1) 𝐿 e2𝑡 sin 𝑡 − 3 =? >> laplace(exp(2*t)*sin(t-3), t, s) ans = cos(3)/((s - 2)^2 + 1) - (sin(3)*(s - 2))/((s - 2)^2 + 1) 𝐿 𝑡𝑒 2𝑡 =? >> laplace(t*exp(2*t), t, s) ans = 1/(s - 2)^2 Örnekler Dirac ve ve Heaviside fonksiyonlarının Laplace dönüşümleri >> syms t s >> >> laplace(dirac(t)) ans = 1 >> laplace(heaviside(t)) ans = 1/s Açık fonksiyonun Laplace dönüşümü >> syms f(t) s >> F = laplace(f, t, s) F(s) = laplace(f(t), t, s) >> syms t s >> laplace(dirac(t - 3), t, s) ans = exp(-3*s) >> laplace(heaviside(t - pi), t, s) ans = exp(-pi*s)/s Türevin Laplace dönüşümü >> syms f(t) s >> laplace(diff(f(t), t), t, s) ans = s*laplace(f(t), t, s) - f(0) Ters Laplace (ilaplace) laplace(f) VEYA laplace(f,var_d) VEYA laplace(f,var,var_d) >> syms s >> ilaplace(1/(s^2+s)) ans = 1 - exp(-t) >> syms s t >> ilaplace(1, s, t) ans = dirac(t) >> syms s >> ilaplace(10/(s^2*(s+2))) ans = 5*t + (5*exp(-2*t))/2 - 5/2 >> syms s t >> ilaplace(exp(-2*s)/(s^2 + 1) + s/(s^3 + 1), s, t) ans = heaviside(t - 2)*sin(t - 2) - exp(-t)/3 + (exp(t/2)*(cos((3^(1/2)*t)/2) + 3^(1/2)*sin((3^(1/2)*t)/2)))/3 Diferensiyel Denklemlerin Laplace Dönüşümü ile çözümü 𝑚𝑦 ′′ + 𝑐𝑦 ′ + 𝑘𝑦 = 𝑓 𝑡 yay salınım denklemini dikkate alalım. Serbest Sürtünmesiz Hareket 𝑚𝑦 ′′ + 𝑘𝑦 = 0 𝑚 = 1, 𝑘 = 100 için denklemi Laplace yöntemiyle çözünüz. Grafiğini çiziniz. Serbest Sürtünmeli Hareket 𝑚𝑦 ′′ + 𝑐𝑦 ′ + 𝑘𝑦 = 0 𝑚 = 1, 𝑐 = 2, 𝑘 = 10 için denklemi Laplace yöntemiyle çözünüz. Grafiğini çiziniz. Zorlanmış Hareket 𝑚𝑦 ′′ + 𝑐𝑦 ′ + 𝑘𝑦 = sin2t 𝑚 = 1, 𝑐 = 2, 𝑘 = 10 için denklemi Laplace yöntemiyle çözünüz. Grafiğini çiziniz.