Boshlang‘ich masalada berilgan funksiyalarning aniq qiymatlarida masalaning echimini tahlil qilish
Bizga Maple dasturida uchinchi bobning birinchi paragrafida berilgan {(1)-(3)} masalaning echimini berilganlarning tayin qiymatlarida echish va uning grafigini hosil qilish talab qilingan bo‘lsin.
Buning uchun Maple dasturining oynasiga quyidagi bo‘yruqlari yozamiz:
> restart;
> a:=1;L:=1;alpha:=1;
F(x):=x->piecewise(x<-L,0, x<0,alpha*(1+x/L),xL,0);
f(x):=0;
> plot(F(x),-16..16,-0.1..1.1, numpoints=400,color=blue,thickness=3);
Masalaning echimini topish uchun Dalamber formulasidan foydalanamiz:
> restart;
> F(x):=x->piecewise(x<-L,0, x<0,alpha*(1+x/L),xL,0);
f(xi):=0;
,
,
> u(t,x):=subs(x=x-a*t,1/2*piecewise(x<-L,0, x<0,alpha*(1+x/L),xL,0))+(subs(x=x+a*t,1/2*piecewise(x<-L,0, x<0,alpha*(1+x/L),xL,0)));
Olingan echimni ikki o‘lchovli animirlangan grafikada tasvirlaymiz:
> with(plots):
a:=1;L:=1;alpha:=1;
u1(t,x):=1/2*PIECEWISE([0, x-a*t < -L],[alpha*(1+(x-a*t)/L), x-a*t < 0],[alpha*(1-(x-a*t)/L), x-a*t < L],[0, L < x-a*t]);
u2(t,x):=1/2*PIECEWISE([0, x+a*t < -L],[alpha*(1+(x+a*t)/L), x+a*t < 0],[alpha*(1-(x+a*t)/L), x+a*t < L],[0, L < x+a*t]);
u(t,x):=1/2*PIECEWISE([0, x-a*t < -L],[alpha*(1+(x-a*t)/L), x-a*t < 0],[alpha*(1-(x-a*t)/L), x-a*t < L],[0, L < x-a*t])+1/2*PIECEWISE([0, x+a*t < -L],[alpha*(1+(x+a*t)/L), x+a*t < 0],[alpha*(1-(x+a*t)/L), x+a*t < L],[0, L < x+a*t]);
animate(plot,[u1(t,x),x=-5..5, y=-0.1..1], t=0..4, frames=30,thickness=3, title="u1(t,x)");
animate(plot,[u2(t,x),x=-5..5, y=-0.1..1], t=0..4, frames=30,thickness=3, title="u2(t,x)");
animate(plot,[u(t,x),x=-5..5, y=-0.1..1], t=0..4, frames=30,thickness=3, title="u(t,x)");
animate(plot,[{u1(t,x),u2(t,x),u(t,x)},x=-5..5, y=-0.1..1], t=0..4, frames=30,thickness=3, title="u1(t,x), u2(t,x), u(t,x)");
Natijada bizda quyidagi ifodalar va grafiklar paydo bo‘ladi:
Warning, the name changecoords has been redefined
.
Olingan echimni vaqtning turli momentlari uchun ikki o‘lchovli grafiklar bilan tasvirlaymiz:
> tau:=3:
u_1(x):=subs(t=tau*0,u(t,x)):
u_2(x):=subs(t=tau*(1/8),u(t,x)):
u_3(x):=subs(t=tau*(2/8),u(t,x)):
u_4(x):=subs(t=tau*(3/8),u(t,x)):
u_5(x):=subs(t=tau*(4/8),u(t,x)):
u_6(x):=subs(t=tau*(5/8),u(t,x)):
u_7(x):=subs(t=tau*(6/8),u(t,x)):
u_8(x):=subs(t=tau*(7/8),u(t,x)):
plot(u_1(x),x=-4..4,y=-0.1..1,title="t = 0", color=[red,green], thickness=[4,2]);
plot(u_2(x),x=-4..4,y=-0.1..1,title="t = 1/8*tau",color=[red,green],thickness=[4,2]);
plot(u_3(x),x=-4..4,y=-0.1..1,title="t = 2/8*tau",color=[red,green],thickness=[4,2]);
plot(u_4(x),x=-4..4,y=-0.1..1,title="t = 3/8*tau",color=[red,green],thickness=[4,2]);
plot(u_5(x),x=-4..4,y=-0.1..1,title="t = 4/8*tau",color=[red,green],thickness=[4,2]);
plot(u_6(x),x=-4..4,y=-0.1..1,title="t = 5/8*tau",color=[red,green],thickness=[4,2]);
plot(u_7(x),x=-4..4,y=-0.1..1,title="t = 6/8*tau",color=[red,green],thickness=[4,2]);
plot(u_8(x),x=-4..4,y=-0.1..1,title="t = 7/8*tau",color=[red,green],thickness=[4,2]);
Do'stlaringiz bilan baham: |