Разностный метод

Форум пользователей пакета Maple

Модератор: Admin

Кли
Сообщения: 156
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Разностный метод

Сообщение Кли » Вс апр 28, 2019 9:18 pm

Помогите решить СЛАУ методом прогонки
Скриншот 28-04-2019 221430.png
Скриншот 28-04-2019 221430.png (30.29 КБ) 133 просмотра
Скриншот 28-04-2019 221423.png
Скриншот 28-04-2019 221423.png (78.71 КБ) 133 просмотра

Код: Выделить всё

restart;
with(plots):
p:=unapply(x^2,x);
q:=unapply(-x,x);
f:=unapply((6-3*x^3)/x^4,x);
a:=1: b:=2: alpha:=0: beta:=1:
gam:=1: delta:=3: A:=1: B:=0.5:     
du:=unapply(diff(u(x),x),x):
ode:=diff(u(x),x$2)+p(x)*(diff(u(x),x))+q(x)*u(x)=f(x);
ics:=alpha*du(a)+beta*u(a)=A,delta*du(b)+gam*u(b)=B;
G:=dsolve({ics,ode},u(x),type=numeric):
g:=odeplot(G,[x,u(x)],x=a..b,color=red):                         
N:=10: h:=(b-a)/N:
is(h*maximize(abs(p(x)),x=1..2) <= 2);
is(q(x) < 0);
for i from 0 to N do
x[i]:=a+i*h:
end do:
for i from 1 to N-1 do
z[i]:=(y[i+1]-2*y[i]+y[i-1])/h^2+p(x[i])*(y[i+1]-y[i-1])/(2*h)+q(x[i])*y[i]=f(x[i]):
end do:
z[0]:=alpha(y[1]-y[0])/h+beta*y[0]=A:
z[N]:=delta*(y[N]-y[N-1])/h+gam*y[N]=B:
evalf(solve({seq(z[i],i=0..N)},{seq(y[i],i=0..N)}));
assign(%):
P:=pointplot({seq([x[k],y[k]],k=0..N)}):
display(g,P);

Кли
Сообщения: 156
Зарегистрирован: Пт ноя 04, 2016 4:54 pm

Re: Разностный метод

Сообщение Кли » Пн апр 29, 2019 3:10 pm

тема закрыта, так как я решил уже(пришлось попыхтеть)