2.1 Differensial tenglamalarni yechish
Differensial tenglamalarning yechimini topish uchun dsolve komandasidan foydalaniladi. U quyidagi ko‘rinishlarda qo‘llaniladi:
dsolve(eqns,vars) - eqns differensial tenglama vars o‘zgaruvchilarga nisbatan yechiladi;
dsolve(eqns+inits,vars) – Koshi masalasi eqns uchun inits boshlang‘ich shartlarda yechiladi;
Qo‘shimcha shartlarni ham ko‘rsatish mumkin (option):
laplace - Laplasa transformantasidan foydalanish;
series – qatorlarga yoyishni qo‘llash;
explicit – yechimni bog‘langan o‘zgaruvchi orqali yaqqol ifodalash;
numeric – Koshi masalasini sonli usul bilan yechish.
Tenglamalar tuzilayotgan vaqtda hosilani ko‘rsatish uchun diff komandasi va boshlang‘ich yoki chegaraviy shartlarni berishda hosilani belgilash uchun D komandasi ishlatiladi.
Differensial tenglamalarni berish va dsolve komandasidan foydalanish bo‘yicha misol ko‘raylik:
> deqn:=diff(y(x),x$2)+3*diff(y(x),x)+2*y(x);
> dsolve(deqn,y(x));
Bu yerda C1 va_C2 – ixtiyoriy konstantalar. Chegaraviy shartlarni berib tenglamani qaytadan yechib ko‘raylik
> bvp:=y(0)=0,y(1)=1;
> dsolve({deqn,bvp},y(x));
Agar yaqqol yechim topilmasa dsolve komandasidan yechimni qatorlarga yoyilgan ko‘rinishda (series opsiyasi), Laplas o‘zgartirishlari usuli bilan (laplace opsiyasi) yoki sonli ko‘rinishda topish uchun foydalanish mumkin. Agar dsolve komandasi numeric opsiyasi bilan ishlatilsa prosedura hosil qilinadi. Bunday proseduraga yechimning ayrim qiymatlarini hisoblash uchun murojaat qilish mumkin.
> init:=y(0)=0,D(y)(0)=1;
> F:=dsolve({deqn,init},y(x),numeric);
> F(.5);
> F(2);
Differensial tenglamalarni yechish matematik hisoblarda muxim o‘rinlardan birini egallaydi va jumladan ular fizik va texnik obyektlar hamda tizimlarni modellashda katta ahamiyatga ega. Maple 11 tizimi differensial tenglamalarni ham analitik ham sonli ko‘rinishda yechish imkoniyatini beradi. Oddiy differensial tenglamalarni (Koshi masalasini) yechish uchun dsolve funksiyasining quyidagi ko‘rinishlaridan foydalanish mumkin:
dsolve(ODE)
dsolve(ODE, y(x), extra_args)
dsolve((ODE, ICs}, y(x), extra_args)
dsolve({sysODE, ICs}, {funcs}, extra_args)
Bu yerda ODE — boshlang‘ich shartlari ko‘rsatilgan yakka oddiy differensial tenglama yoki birinchi tartibli differensial tenglamalar sistemasi, u(x) — bir o‘zgaruvchining funksiyasi, Ics — boshlang‘ich shartlarni beruvchi ifoda, {sysODE} —differensial tenglamalar, {funcs} —aniqlanmagan funksiyalar, extra_argument — yechilish usulini beruvchi opsiya. Yechilayotgan tenglamalar klassi extra_argument parametri yordamida ko‘rsatiladi. Ushbu parametrning asosiy qiymatlari quyidagilar:
exact — analitik ko‘rinishda yechish (sukut holati uchun qabul qilingan);
explicit — yaqqol ko‘rinishda yechish;
system — differensial tenglamalar sistemasini yechish;
ICs — boshlang‘ich shartlari berilgan differensial tenglamalar sistemasini yechish;
formal series — darajali ko‘pxad ko‘rinishida yechish;
integral transform — Laplas, Furye va boshqa integral o‘zgartirishlar asosida yechish;
series — Order o‘zgaruvchining qiymati ko‘rsatiladigan darajali qator ko‘rinishida yechish (qatorning eng yuqori darajasining qiymati Order o‘zgaruvchisi yordamida ko‘rsatiladi, masalan Order:=10);
numeric — sonli ko‘rinishda yechish.
Koshi masalasini yechishda boshlang‘ich shartlarni yoki chegaraviy masalalarni yechishda chegaraviy shartlarni dsolve parametrlari tarkibiga qo‘shish kerak. Agar Maple tizimi differensial tenglamaning tartibiga qaraganda kamroq boshlang‘ich yoki chegaraviy shartlarda yechimni topa olsa yechimda S1, S2 va h.k. aniqlanmagan konstantalar paydo bo‘ladi. Bunday konstantalar sistemani analitik yechishda ham bo‘lishi mumkin. Agar yechim yaqqol bo‘lmagan ko‘rinishda topilsa, unda T parametr ham hosil bo‘ladi.
Sukut bo‘yicha dsolve funksiyasi differensial tenglamalarni yechishning eng maqbul deb topgan usulini avtomatik ravishda tanlaydi. Lekin dsolve funksiyasining parametrlarida kvadrat qavslar ichida boshqa maqbul usulni ko‘rsatish mumkin.
Buning uchun quyidagi usullar mavjud:
quadrature
|
linear
|
Bernoulli
|
separable
|
inverse linear
|
homogeneous
|
Chini
|
lin_sym
|
exact
|
Abel
|
pot_sym
|
| Jadval 2.2.1
Differensial tenglamalarni yozishda hosila diff funksisi yoki D operatori orqali ko‘rsatiladi va sysODE ifodasida tenglamalar sistemasidan tashqari boshlang‘ich shartlar ham ko‘rsatilishi kerak.
Differensial tenglamalarni Maple tilida yozish va dsolve buyrug‘idan foydalanish bo‘yicha misol ko‘raylik:
> deqn:=diff(y(x),x$2)+3*diff(y(x),x)+2*y(x);
> dsolve(deqn,y(x));
Bu yerda C1 va_C2 – ixtiyoriy konstantalar.
Chegaraviy shartlarni berib tenglamani qayta dan yechib ko‘raylik
> bvp:=y(0)=0,y(1)=1;
> dsolve({deqn,bvp},y(x));
Agar yaqqol yechim topilmasa dsolve buyrug‘idan yechimni qatorlarga yoyilgan ko‘rinishda (series opsiyasi), Laplas o‘zgartirishlari usuli bilan (laplace opsiyasi) yoki sonli ko‘rinishda topish uchun foydalanish mumkin. Agar dsolve buyrug‘i numeric opsiyasi bilan ishlatilsa prosedura hosil qilinadi. Bunday proseduraga yechimning ayrim qiymatlarini hisoblash uchun murojaat qilish mumkin.
> init:=y(0)=0,D(y)(0)=1;
> F:=dsolve({deqn,init},y(x),numeric);
>
F(.5);
> F(2);
Quyidagi
differensial tenglamaning uch xil yo‘l bilan yechilishini ko‘raylik:
> dsolve(diff(y(x),x)-sin(x)=0);
> dsolve(diff(y(x),x)-sin(x)=0,[linear]);
> dsolve(diff(y(x),x)-sin(x)=0,y(x));>
Uchala holda ham yechim bir xil chiqdi.
Keyingi misolda
>
tenglamaning har-xil usullar bilan yechilishi ko‘rsatilgan:
> M:=sin(x)*diff(y(x),x)-cos(x)*y(x)=0;
> dsolve(M,[linear],useInt);
> value(%);
> dsolve(M);
> dsolve(M,[linear]);
> dsolve(M,[linear],useInt);
> value(%);
> dsolve(M,[separable],useInt);
> value(%);
> dsolve(M,[lin_sym]);
> dsolve(M,[lin_sym],useInt);
Maple dasturida differensial tenglamalarni yechish dasturini tuzish.
Ifodalarni differensiallash funksiyalari diff va Diff
Quyidagi fn(x) = dfn(x)/dxn ko‘rinishidagi n-tartibli funksiyalarning hosilasini hisoblash matematik analizning eng ko‘p uchraydigan masalalaridan biridir. Differensiallashni amalga oshirish uchun Maple 11 quyidagi asosiy funksiyalarga ega:
diff(a., xl, x2,.... xn) diff(a, [xl, x2,.... xn])
Diff(a, xl, x2,.... xn) Diff(a, [xl, x2,.... xn])
bu yerda a — differensiallanuvchi algebraik ifoda.
Yuqoridagi funksiyalarning birinchisi (hisoblanadigan diff(a., xl, x2,.... xn) va uning inert ko‘rinishi Diff(a, xl, x2,.... xn)) a ifoda uchun xl, x2,...,.xn o‘zgaruvchilar bo‘yicha xususiy hosilalarni hisoblaydi. Eng sodda holda diff(f(x),x) funksiya x o‘zgaruvchi bo‘yicha f(x) funksiyaning birinchi hosilasini aniqlaydi. Agar n birdan katta bo‘lsa hisoblashlar rekursiv tarzda bajariladi, diff (f (x), x, u) funksiya diff(diff (f(x), x), u) ga ekvivalent.
Yuqori tartibli hosilalarni hisoblash uchun $ operatoridan foydalanish mumkin. Buning uchun o‘zgaruvchining nomidan keyin ushbu operator qo‘yiladi va hosilaning tartibi ko‘rsatiladi. Masalan, diff (f(x),x$4) ifoda 4-tartibli hosilani hisoblaydi va diff (f (x),x,x,x.x) yozuvga ekvivalent, diff (g(x,y),x$2,y$3) esa diff(g(x,y),x,x.y,y,y) ga ekvivalent.
Hosilani hisoblash namunalari:
> Diff(sin(x),x)=diff(sin(x),x);
> Diff(sin(w*t),t)=diff(sin(w*t),t);
> Diff(sin(314*t),t)=diff(sin(314*t),t);
> Diff(a*sin(314*t),t)=diff(a*sin(314*t),t);
> Diff(a*sin(314*t),t$3)=diff(a*sin(314*t),t$3);
> Diff([x^3,x^n],x$2)=diff([x^3,x^n],x$2);
Quyidagi misollarda funksiyani ikkita o‘zgaruvchi uchun differensiallash keltirilgan:
> f(x,y):=cos(x)*y^3;
f(x,y):= cos(x)*y^3
> Diff(f(x,y),x)=diff(f(x,y),x);
> Diff(f(x,y),y)=diff(f(x,y),y);
> Diff(f(x,y),x,y)=diff(f(x,y),x,y);
> Diff(f(x,y),x$4)=diff(f(x,y),x$4);
> Diff(f(x,y),y$3)=diff(f(x,y),y$3);
Differensiallash natijasida olinadigan ifodalar boshqa ifodalarning tarkibiga kirishi ham mumkin:
> a:=b*diff(x^3,x);
Differensial operator D
Differensiallash uchun D operatordan ham foydalanish mumkin. Ayrim hollarda u diff va Diff funksiyalariga nisbatan ixchamroq ifodalarni olish imkoniyatini beradi. Differensial operatorni quyidagi ko‘rinishlarda yozish mumkin: D(f) yoki D[ i ](f), buyerda f parametr — ifoda yoki funksiyaning nomi, i — musbat butun son, ifoda yoki ketma ketlik. Operator D(f) ko‘rinishida f dan hosilaning nomini hisoblaydi, chunki u bunday ko‘rinishda unnaplyCdiff (f (x),x),x) ga ekvivalent. Uning D(f)(x) shakli diff (f (x),x) ga o‘xshash.
Nomi bilan berilgan va faqat bir parametrli funksiyalarni differensiallash namunalarini ko‘raylik:
> D(cos^2);
> y:=D(exp^2+cos^2+tan);
> D(ln);
> diff(ln(a),a);
> D(cos)(x)=diff(cos(x),x);
> fun:=(x)->sin(x^2);
> D(fun)=diff(fun(x),x);
> D[1](sin*cos);
Kompyuterning qo’llanilish sohalaridan biri mexanik jarayonlarni va ob’ektlarning .matematik modellarini hisoblash usullari va kompyuterlarning dasturiy vositalari yordamida tadqiq etish bo`lib qolmoqda. Hisoblash matematikasi usullari va kompyuterlarning zamonaviy imkoniyatlari birgalikda mexanik jarayonlar va ob`yektlarning shu paytgacha noma`lum xususiyatlarini ochishga va shu asnoda, texnologik jarayonlarni takomillashtirishga xizmat qilmoqda.
Hozirgi kunda fan-texnika rivojlanib borgan sari matematikaning roli ortib bormoqda. Shu jumladan matematikadan fizika, mexanika va astronomiya hamda iqtisodiy masalalarni yechishda, biologik jarayonlarni tahlil etishda va boshqa ko’p sohalarda foydalaniladi. Bu sohalardagi jarayonlarning matematik modeli differensial tenglamalar nomi bilan yuritiladi.
Ushbu ilmiy maqola hisoblash matematikasi va kompyuterning ilmiy tadqiqot ishlarda qo’llanilishiga bog`liq bo’lib, ilmiy va amaliy jihatdan dolzarbdir (Proxorov va bosh., 2006). Maqolada oddiy differensial tenglamalarni Maple dasturi yordamida analitik va taqribiy yechish masalasi qaraladi. Quyida masalaning qo’yilishi va uni yechishning ketma-ket algoritmi keltirilgan. Oddiy differensial tenglamalarni yechish uchun zarur bo’lgan hisoblash usullari tavsiflanadi.
Do'stlaringiz bilan baham: |