Diferansiyel denklemleri çok terimli yapıya indirgeyen yorumlayıcı : eytişim

thumbnail.default.alt
Tarih
1993
Yazarlar
Koç, Nazım
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Fen Bilimleri Enstitüsü
Özet
Bu tezde Prolog programlama dili kullanılarak, adı Eytişim olan, basit bir yorumlayıcı yazılmış ve bu yorumlayıcı ile diferansiyel denklem sistemleri çokterimli yapıya indirgenmiştir. Yorumlayıcı içinde, diferansiyel denklem ve fonksiyon tanımlama, fonksiyonlardan fonksiyon doğurma, türev ve çokterimli yapıya indirgeme özellikleri bulunmaktadır. Tez iki ana bölümden oluşmaktadır. Birinci bölümde Eytişim'in komut ları açıklanmakta ikinci bölümde indirgeme algoritması verilmektedir. Son raki bölümlerde ise elemanter fonksiyonlar için indirgeme çizelgeleri ve örnek çözümler sunulmuştur. indirgeme algoritmasının temeli, verilen fonksiyonları toplama, çıkarma ve çarpma işlemlerine göre ayırmaya dayanmaktadır. Bu tür bir ayırmada, her bir parça çokterimliye indirgenirse, elde edilen yapı da bir çokterimli ola caktır. Bölme işlemi ise pay ve paydanın tersinin çarpımı olarak işlenmektedir. Sabitler ise herhangi bir işleme girmezler. Bu şekilde parçalara ayrılan her bir bölüme bir değişken adı verilir. Eğer bağlı değişkenler, bu değişken dönüşümü sırasında ortaya çıkmazsa, ayrıca tanımlanırlar. Sonra bu değişkenlerin türev leri alınır ve türevde sabitler ve yeni değişkenler dışında kalan tüm değişken ve fonksiyonlar yeni değişkenler ile yer değiştirir. Elde edilen bu son denklemler verilen diferansiyel denklem sisteminin uzayının genişletilmiş biçimidir.
The aim of the thesis is space extension of a differential equation, which has the following form, Vi = fi(vı,V2,---,Vn), t = l,2,...,n. The proposed algorithm, written in Edinburg Prolog except the els command, converts any differential equations system into a polynomial form, fi functions are assumed polynomic, trigonometric, hyperbolic, logarithmic functions or their inverses. The thesis has two paxts. The first part includes the commands of the interpreter, named Eytişim, and the second part includes the algorithm which reduces differential equations to polynomial forms. The interpreter performs the following basic operations. 1 - Definition of functions. 2 - Generating a function from defined functions. 3 - Differentiation. 4 - Definitions of differential equations. 5 - Space extension of differential equations. The commands that fulfill these operations are as follows. name(args) := expression Definition of a function. For example, f(x, y) :=l-x*y+ ln(x * y) vi list Lists defined functions. delf Deletes all the defined functions. api Exits to prolog interpreter. qq Returns to the operating system. q Saves the prolog knowledge base and returns to the operating system. on(flle name) Writes outputs to the file as file name. off Cancels the function of on command and writes the outputs to the stan dard output device. help Displays the summary of the functions and commands. dos Temporarily exits to the operating system. ? expression Executes the expression and writes the results to the standard output device. els Clears the screen. save(flle name) Saves the definition of functions and differential equations as file name. load (file name) Loads the definition of functions and differential equations from file name. delall Deletes all the definition of functions, differential equations, and solutions from the prolog knowledge base. name(arguments) <- expression Executes the expression and saves the results as a function named name. vu d(expression, variable, n) Finds the nth order derivative of the expression. name.= [ depended variable = differential equation,...] Gives the definition of a differential equation. For example the definition of system 1 named dif2 is as follows. dx _" e x -ğ = y + e~x + ln(x y) (1) dif2.= [ x := x + exp(-y) + exp(-x " 2)/2 + y, y := y + exp(-x) + ln(x*y)]. dif Lists the differential equations. deldif Deletes differential equations from prolog knowledge base. delsol Deletes solutions, if they exist. sol Lists solutions, if they exist. ext(name) Gives the space extension of the differential equation named name. For example, the equation - - = x + x mix) dt K ' was reduced by Eytişim as follow. Date : 27/9/1993 Time : 10 46:2 40 lame of the differential equation : d.2 dx/dt := x ~ 2 + x * ln(x) viii Space extension transformations. lew form of the differential equation under transformations, dx/dt := xl " 2 + xl * x2 Polinomial form of the differential equation. dx2/dt dx3/dt dxl/dt = x3 * (xl " 2 + xl * x2) = (- x3 " 2) * (xl ~ 2 + xl * x2) = xl " 2 + xl * x2 Restrictions, x > 0 x <> 0 The second part includes the space extension algorithm. The algorithm has three steps. These are as follows. 1 - Find transformations and reconstruct the differential equation under transformations. Let, m = fi(yı,y2,---,yn), * = i,2,...,n. Parse the right hand side of the differential equation by means of a G operator. The G operator is given below. G(U + V) = G(U) + G(V) G(U - V) = G(U) - G(V) G(U x V) = G(U) x G(V) G(£) = G(l7)xG(±) G(c) = c U and V depend on j/j, i = 1,2,...,n, while C does not. Let the argument of the G operator to a variable be Xi, i = 1, 2,.... Substitute ix the variable Xi to the right hand side of the diferential equation. The new form includes only the variable X{. 2 - Find the derivative of transformation Xi, i = l,2,...,n. ",, ı - l, z,...,n. dyj dt -J^- is calculated by step 1 above. 3 - Redefine the terms that are defined while taking the first derivatives of the transformation, by using the variables, Xi, obtained in step 1. If the variable Xi does not include all the dependent variables of the difer ential equations, they must be added to transformations as new variable. The final example is below. Date : 22/9/1993 Time : 10 34:45 94 Name of the differential equation : d2 dx/dt := sin(x * ln(y)) + x dy/dt := x * y * z + sin(x) + sqrt(x * y) Space extension transformations. xl := sin(x * ln(y)) x2 := cos(x * ln(y)) x3 := x x4 := sin(x) x5 := cos(x) x6 := sqrt(x * y) x7 := 1 / sqrt(x * y) x8 := 1 / (x * y) x9 := y xlO := ln(y) xll := 1 / y Hew form of the differential equation under transformations. dx/dt := xl + x3 dy/dt := x3 * x9 * z + x4 + x6 Polinomial form of the differential equation, dxl/dt := x2 * xlO * (xl + x3) + x2 * (x3 * xll) * (x3 * x9 * z + x4 + x6) dx2/dt := (- xl) * xlO * (xl + x3) + (- xl) * (x3 * xll) * (x3 * x9 * z + x4 + x6) dx4/dt := x5 * (xl + x3) dx5/dt := (- x4) * (xl + x3) dx6/dt := 1 / 2 * x7 * x9 * (xl + x3) + 1 / 2 * x7 * x3 * (x3 * x9 * z + x4 + x6) dx7/dt := (- 1 / 2) * x7 * x8 * x9 * (xl + x3) + (- 1 / 2) * x7 * x8 * x3 * (x3 * x9 * z + x4 + x6) dx8/dt := (- x8 ~ 2) * x9 * (xl + x3) + (- x8 " 2) * x3 * (x3 * x9 * z + x4 + x6) dxlO/dt := xll * (x3 * x9 * z + x4 + x6) dxll/dt := (- xll ~ 2) * (x3 * x9 * z + x4 + x6) dx3/dt := xl + x3 dx9/dt := x3 * x9 * z + x4 + x6 Restrictions. x * y > 0 y > 0 x * y <> 0 y <> 0 XI In conclusion, the derivatives of transformations represent the scheme of the space extension of the diferential equation.
Açıklama
Tez (Yüksek Lisans) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 1993
Anahtar kelimeler
Mühendislik Bilimleri, Bilgisayar programları, Diferensiyel denklemler, Diyalektik, Yorumlayıcı, Engineering Sciences, Computer programs, Differential equations, Dialectic, Interpreter
Alıntı