Решение краевой задачи на графе методом Ритца

Модельная задача уравнения колебаний струны и деформации системы из трех струн. Вариационные методы решения: экстремум функционала, пробные функции, метод Ритца. Подпространства сплайнов и тестирование программы решения системы алгебраических уравнений.

Рубрика Математика
Вид дипломная работа
Язык русский
Дата добавления 29.06.2012
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

w[i]:=0;

end;

i:=n[1]-1;

c[i]:=c[i]/b[i];

d[i]:=d[i]/b[i];

e[i]:=e[i]/b[i];

y[i]:=y[i]/b[i];

b[i]:=1;

b[i+1]:=b[i+1]-c[i]*a[i];

c[i+1]:=c[i+1]-d[i]*a[i];

e[i+1]:=e[i+1]-e[i]*a[i];

y[i+1]:=y[i+1]-y[i]*a[i];

a[i]:=0;

a[i+1]:=a[i+1]-c[i]*v[i];

b[i+2]:=b[i+2]-d[i]*v[i];

e[i+2]:=e[i+2]-e[i]*v[i];

y[i+2]:=y[i+2]-y[i]*v[i];

v[i]:=0;

w[i+1]:=w[i+1]-c[i]*w[i];

w[i+2]:=w[i+2]-d[i]*w[i];

b[n[1]+n[2]]:=b[n[1]+n[2]]-e[i]*w[i];

y[n[1]+n[2]]:=y[n[1]+n[2]]-y[i]*w[i];

w[i]:=0;

for i:=n[1] to n[1]+n[2]-3 do

begin

c[i]:=c[i]/b[i];

e[i]:=e[i]/b[i];

y[i]:=y[i]/b[i];

b[i]:=1;

b[i+1]:=b[i+1]-c[i]*a[i];

e[i+1]:=e[i+1]-e[i]*a[i];

y[i+1]:=y[i+1]-y[i]*a[i];

a[i]:=0;

w[i+1]:=w[i+1]-c[i]*w[i];

b[n[1]+n[2]]:=b[n[1]+n[2]]-e[i]*w[i];

y[n[1]+n[2]]:=y[n[1]+n[2]]-y[i]*w[i];

w[i]:=0;

end;

i:=n[1]+n[2]-2;

c[i]:=c[i]/b[i];

e[i]:=e[i]/b[i];

y[i]:=y[i]/b[i];

b[i]:=1;

b[i+1]:=b[i+1]-c[i]*a[i];

c[i+1]:=e[i+1]-e[i]*a[i];

y[i+1]:=y[i+1]-y[i]*a[i];

a[i]:=0;

a[i+1]:=a[i+1]-b[i+1]*w[i];

b[n[1]+n[2]]:=b[n[1]+n[2]]-c[i]*w[i];

y[n[1]+n[2]]:=y[n[1]+n[2]]-y[i]*w[i];

w[i]:=0;

for i:=n[1]+n[2]-1 to n[1]+n[2]+n[3]-3 do

begin

c[i]:=c[i]/b[i];

y[i]:=y[i]/b[i];

b[i]:=1;

b[i+1]:=b[i+1]-c[i]*a[i];

y[i+1]:=y[i+1]-y[i]*a[i];

a[i]:=0;

end;

y[nn]:=y[nn]/b[nn];

b[nn]:=1;

end;

procedure obratno;

var

i: integer;

begin

for i:=1 to nn do cf[i]:=0;

cf[nn]:=y[nn];

for i:=nn-1 downto n[1]+n[2]-2 do cf[i]:=y[i]-c[i]*cf[i+1];

for i:=n[1]+n[2]-3 downto n[1] do cf[i]:=y[i]-cf[n[1]+n[2]]*e[i]-c[i]*cf[i+1];

for i:=n[1]-1 downto 1 do cf[i]:=y[i]-c[i]*cf[i+1]-cf[n[1]+n[2]]*e[i]-cf[n[1]+1]*d[i];

end;

procedure print_vect(vectors: string);

var

i, nn: integer;

vec: textfile;

fname: string;

begin

nn:=n[1]+n[2]+n[3]-2;

fname:=vectors+'.txt';

assignfile(vec,fname);

rewrite(vec);

writeln(vec,'a:');

for i:=1 to nn-1 do writeln(vec,a[i]:7:4);

writeln(vec,'b:');

for i:=1 to nn do writeln(vec,b[i]:7:4);

writeln(vec,'c:');

for i:=1 to nn-1 do writeln(vec,c[i]:7:4);

writeln(vec,'d:');

for i:=1 to n[1]-1 do writeln(vec,d[i]:7:4);

writeln(vec,'e:');

for i:=1 to n[1]+n[2]-2 do writeln(vec,e[i]:7:4);

writeln(vec,'v:');

for i:=1 to n[1]-1 do writeln(vec,v[i]:7:4);

writeln(vec,'w:');

for i:=1 to n[1]+n[2]-2 do writeln(vec,w[i]:7:4);

writeln(vec,'y:');

for i:=1 to n[1]+n[2]+n[3]-2 do writeln(vec,y[i]:7:4);

writeln(vec,'cf:');

for i:=1 to n[1]+n[2]+n[3]-2 do writeln(vec,cf[i]:7:4);

closefile(vec);

end;

begin // resh_sist

nn:=n[1]+n[2]+n[3]-2;

b[1]:=matr[1,1];

c[1]:=matr[1,2];

b[nn]:=matr[nn,nn];

a[nn-1]:=matr[nn,nn-1];

for i:=2 to nn-1 do

for j:=(i-1) to (i+1) do

begin

if i=j then b[i]:=matr[i,j]

else

if i=(j-1) then c[i]:=matr[i,j]

else if j=(i-1) then a[i-1]:=matr[i,j];

end;

for i:=1 to n[1] do d[i]:=0;

d[1]:=matr[1,n[1]+1];

for i:=1 to n[1]+n[2]-1 do e[i]:=0;

e[1]:=matr[1,n[1]+n[2]];

for i:=1 to n[1] do v[i]:=0;

v[1]:=matr[n[1]+1,1];

for i:=1 to n[1]+n[2]-1 do w[i]:=0;

w[1]:=matr[n[1]+n[2],1];

for i:=1 to nn do y[i]:=pr_ch[i];

print_vect('vec1');

gauss;

print_vect('vec2');

obratno;

print_vect('vec3');

end;

procedure TForm1.Button3Click(Sender: TObject);

var

i, j: integer;

r: real;

m: real;

q: integer;

begin

for i:=0 to n[1] do series1.AddXY(x1[i],u_toch(x1[i],1));

for i:=0 to n[2] do series3.AddXY(x2[i],u_toch(x2[i],2));

for i:=0 to n[3] do series5.AddXY(x3[i],u_toch(x3[i],3));

q:=2;

m:=h[1]/q;

for i:=0 to (n[1]-1)*q+1 do

begin

r:=cf[1]*splain(x1[i],0,1);

for j:=1 to n[1]-1 do r:=r+cf[j+1]*splain(x1[0]+m*i,j,1);

series2.AddXY(x1[0]+m*i,r);

end;

series2.AddXY(x1[n[1]],u_toch(l[1],1));

m:=h[2]/q;

for i:=0 to (n[2]-1)*q+1 do

begin

r:=cf[1]*splain(x2[i],0,2);

for j:=1 to n[2]-1 do r:=r+cf[j+n[1]]*splain(x2[0]+m*i,j,2);

series4.AddXY(x2[0]+m*i,r);

end;

series4.AddXY(x2[n[2]],u_toch(l[2],2));

m:=h[3]/q;

for i:=0 to (n[3]-1)*q+1 do

begin

r:=cf[1]*splain(x3[i],0,3);

for j:=1 to n[3]-1 do r:=r+cf[j+n[1]+n[2]-1]*splain(x3[0]+m*i,j,3);

series6.AddXY(x3[0]+m*i,r);

end;

series6.AddXY(x3[n[3]],u_toch(l[3],3));

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

sost_sist;

resh_sist;

showmessage('ok');

end;

end.

Размещено на Allbest.ru


Подобные документы

  • Понятия и термины вариационного исчисления. Понятие функционала, его первой вариации. Задачи, приводящие к экстремуму функционала, условия его минимума. Прямые методы вариационного исчисления. Практическое применение метода Ритца для решения задач.

    курсовая работа [1,3 M], добавлен 08.04.2015

  • Изучение прямых методов решения вариационных и краевых задач математического анализа. Основные идеи методов Ритца и Галеркина для нахождения приближенного обобщенного решения задачи минимизации функционала. Особенности, сходство и отличие данных методов.

    презентация [187,9 K], добавлен 30.10.2013

  • Метод разделения переменных в задаче Штурма-Лиувилля. Единственность решения смешанной краевой задачи, реализуемая методом априорных оценок. Постановка и решение смешанной краевой задачи для нелокального волнового уравнения с дробной производной.

    курсовая работа [1003,8 K], добавлен 29.11.2014

  • Последовательность решения линейной краевой задачи. Особенности метода прогонки. Алгоритм метода конечных разностей: построение сетки в заданной области, замена дифференциального оператора. Решение СЛАУ методом Гаусса, конечно-разностные уравнения.

    контрольная работа [366,5 K], добавлен 28.07.2013

  • Решение краевой задачи. Методы конечно-разностных, центрально-разностных отношений и метод прогонки. Приближенное решение линейного дифференциального уравнения второго порядка с помощью методов Галеркина, Ритца и коллокации, сравнение результов.

    курсовая работа [596,2 K], добавлен 27.04.2011

  • Способы решения системы линейных алгебраических уравнений: по правилу Крамера, методом матричным и Жордана-Гаусса. Анализ решения задачи методом искусственного базиса. Характеристика основной матрицы, составленной из коэффициентов системы при переменных.

    контрольная работа [951,8 K], добавлен 16.02.2012

  • Описание метода сведения краевой задачи к задаче Коши. Решение системы из двух уравнений с четырьмя неизвестными. Метод Рунге-Кутта. Расчет максимальной погрешности и выполнение проверки точности. Метод конечных разностей. Описание полученных результатов.

    курсовая работа [245,2 K], добавлен 10.07.2012

  • Решение дифференциальных уравнений в частных производных. Метод минимальных невязок, минимальных поправок, скорейшего спуска, сопряженных градиентов. Алгоритмы и блок-схемы решения. Руководство пользователя программы. Решение системы с матрицей.

    курсовая работа [380,3 K], добавлен 21.01.2014

  • Решение линейной краевой задачи методом конечных разностей (методом сеток). Замена области непрерывного изменения аргументов дискретным множеством узлов (сеток). Сведение линейной краевой задачи к системе линейных алгебраических уравнений (сеточных).

    лекция [463,7 K], добавлен 28.06.2009

  • Понятие и специфические черты системы линейных алгебраических уравнений. Механизм и этапы решения системы линейных алгебраических уравнений. Сущность метода исключения Гаусса, примеры решения СЛАУ данным методом. Преимущества и недостатки метода Гаусса.

    контрольная работа [397,2 K], добавлен 13.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.