Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Задача свързана със трептенето на струна

Задача свързана със трептенето на струна

Мнениеот Гост » 03 Юни 2012, 21:46

[tex]u_{tt} = 2u_{xx}[/tex] t > 0 , x > 0
[tex]u|_{t=0} = 0 ,[/tex] [tex]u_{t}|_{t=0} = psi(x)[/tex] x > 0
[tex]u|_{x=0} = 0[/tex] t > 0

psi(x) = [tex]sin^2x[/tex] , при [tex]x \in [pi,2pi][/tex]
psi(x) = 0 ,при [tex]x \in [0,pi) \cup (2pi,+\infty ).[/tex]

с формулата на даламбер и метода на продълженията да се начертаят положението на струната в моменти т0 = 0 , т1=5, т2=15 при [tex]x \in [0,20][/tex]

function string1
clf;clear;
tmax=15;
w=sqrt(2);
t=0:tmax/100:tmax;
x=0:0.01:20;
subplot(3,1,1)
plot(x,dalambert(x,0))
axis([0,20,-0.5,0.5])
subplot(3,1,2)
plot(x,dalambert(x,5))
axis([0,20,-0.5,0.5])
subplot(3,1,3)
plot(x,dalambert(x,15))

function y=dalambert(x,t)
for j=1:length(x)
if t==0
z=0;
else
s=x(j)-w*t:w*t/20:x(j)+w*t;
z=trapz(s,psi_odd(s));
end
y(j)=(phi_odd(x(j)-w*t)+phi_odd(x(j)+w*t))/2+z/(2*w);
end
end

function y=phi_odd(x)
if x >= 0
y=phi(x);
else
y=-phi(-x);
end
end
function y=psi_odd(x)
for m=1:length(x)
if x(m) >= 0
y(m) = psi(x(m));
else
y(m)=-psi(-x(m));
end
end
end
function y=phi(x)
y=0;
end
function y=psi(x)
if (pi <= x & x <= 2*pi)
for i=1:length(x)
y(i)=sin(x).^2;
end
elseif (0 <= x & x < pi) | (x > 2*pi)
for i=1:length(x)
y(i)=0;
end
end
end
end

Може ли да кажете вярно ли е решението и ако не , какви са грешките ?
Гост
 

Назад към Диференциални уравнения



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)