Fundamental (bazis) yechimlar sistemasi
dsolve komandasi ODT ning bazis yechimlar sistemasini ham topishda ishlatiladi. Uning uchun parametrlar bo’limida output=basis deb ko’rsatish kerak . Masalan, ODT ning bazis yechimlar sistemasini topaylik.
> de:=diff(y(x),x$4)+2*diff(y(x),x$2)+y(x)=0; \\
> dsolve(de, y(x), output=basis); \\[cos(x), sin(x), xcos(x), xsin(x)]
Koshi yoki chegara masalani yechish
dsolve komandasi yordamida Koshi yoki chegara masalani ham yechish mumkin. Buning uchun blshlang’ich yoki chegara shartlarni qo’shimcha ravishda berish kerak. Qo’shimcha shartlarda hosila differensial operator D bilan beriladi. Masalan, shart ko’rinishda, shart ko’rinishda, shart ko’rinishda yozilishi kerak.
Misollar 1. Koshi masalasi yechilsin.
> de:=diff(y(x),x$4)+diff(y(x),x$2)=2*cos(x);
> cond:=y(0)=-2, D(y)(0)=1, (D@@2)(y)(0)=0,
(D@@3)(y)(0)=0; \\
> dsolve({de,cond},y(x)); \\
2. chegara masala yechilsin.
> restart; de:=diff(y(x),x$2)+y(x)=2*x-Pi; \\
> cond:=y(0)=0,y(Pi/2)=0; \\
> dsolve({de,cond},y(x)); \\
Yechim grafigini chizish uchun tenglama щng tomonini ajratib olish kerak:
> y1:=rhs(%):plot(y1,x=-10..20,thickness=2);
ODT sistemasi
dsolve komandasi yordamida LN sistemasini ham yechish mumkin. Buning uchun uni dsolve({sys},{x(t),y(t),…}), ko’rinishda yozib olish kerak, sys-ODT lar sistemasi, x(t), y(t) ,...-no’malum funksiyalar sistemasi.
Misollar 1.
> sys:=diff(x(t),t)=-4*x(t)-2*y(t)+2/(exp(t)-1),
diff(y(t),t)=6*x(t)+3*y(t)-3/(exp(t)-1):
> dsolve({sys},{x(t),y(t)}); \\
ODT ni qator yordamida taqribiy yechish
dsolve komandasi yordamida ODT yechimini taqribiy usulda qator yordamida topish mumkin. Buning uchun dsolve komandasida output=series va Order:=n parametrlarni kiritish kerak . Bishlang’ich qiymatlar y(0)=u1, D(y)(0)=u2, (D@@2)(y)(0)=u3 i hokazo ko’rinishda beriladi. Yechimni ko’phadga aylantirish uchun convert(%,polynom) komandasini berish kerak. Yechimning grafik ko’rinishda chiqarish uchun tenglama o’ng toioning rhs(%) komandasi bilan ajratib olish kerak.
Misollar 1. Koshi masalasining taqribiy yechimi 5-darajali ko’phad ko’rinishda olinsin.
> restart; Order:=5:
> dsolve({diff(y(x),x)=y(x)+x*exp(y(x)), y(0)=0}, y(x), type=series);
\\
2. Koshi masalasining taqribiy yechimi 4-tartibli qator uo’rinishda topilsin.
> restart; Order:=4: de:=diff(y(x),x$2)-y(x)^3=exp(-x)*cos(x):
> f:=dsolve(de,y(x),series);
\\
3. Koshi masalasining taqribiy yechimi 6 tartibli ko’phad ko’rinishda topilsin.
> restart; Order:=6:
> de:=diff(y(x),x$3)-diff(y(x),x)= 3*(2-x^2)*sin(x);
\\
> cond:=y(0)=1, D(y)(0)=1, (D@@2)(y)(0)=1;
\\cond:=y(0)=1, D(y)(0)=1, D(2)(y)(0)=1
> dsolve({de,cond},y(x)); \\
> y1:=rhs(%):
> dsolve({de,cond},y(x), series);\\
Aniq va taqribiy yechim grafigini chiqarish uchun quyidagi komandalarni berish kerak:
> convert(%,polynom): y2:=rhs(%):
> p1:=plot(y1,x=-3..3,thickness=2,color=black):
> p2:=plot(y2,x=-3..3, linestyle=3,thickness=2, color=blue):
> with(plots): display(p1,p2);
ODT ni sonli usulda yechish
dsolve komandasi ODT ni taqribiy yechish uchun ham ishlatiladi, faqatgina parametrlar safida type=numeric deb ko’rsatish kerak, undan tashqari options bo’limida sonli usullar turini ham ko’rsatish kerak: dsolve(eq, vars, type=numeric, options). Quyidagi sonli usullar ishlatilishi mumkin:
method=rkf45- 4-5-tartibli Runge-Kutta usuli,
method=dverk78-,7-8-tartibli Runge-Kutta usuli,
mtthod=classical-,3-4-tartibli klassik Runge-Kutta usuli,
method=gear- Girning bir qadamli usuli,
method=mgear- Girning ko’p qadamli usuli.
ODT ning yechimini grafik usulda yechish uchun odeplot(dd, [x,y(x)], x=x1..x2), komandasi ishlatiladi, bu yerda dd:=dsolve({eq,cond}, y(x), numeric).
Dostları ilə paylaş: |