Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Алгоритмы _ Криволинейные интегралы.

Автор: TERAB1T 23.08.2010 22:08

И снова здравствуйте. На сей раз задача написать программу для вычисления криволинейных интегралов. Ищу алгоритм или численные методы. Выслушаю и по поводу интегралов первого рода, так и по поводу второго. Какие мысли на этот счет?

Автор: Lapp 24.08.2010 2:53

Цитата(TERAB1T @ 23.08.2010 23:08) *
написать программу для вычисления криволинейных интегралов. Ищу алгоритм или численные методы. Выслушаю и по поводу интегралов первого рода, так и по поводу второго.
Мысли самые тривиальные: используя параметрическое задание кривой, сводить эти интегралы (как первого, так и второго рода, без особой разницы) к обычным линейным и применять обычные методы.

Ничего специального тут нет. Только к выбору способа параметрического задания желательно подойти тщательно, чтоб по возможности избежать особых точек и т.п.

Автор: TERAB1T 24.08.2010 2:58

Цитата(Lapp @ 24.08.2010 3:53) *

Мысли самые тривиальные: используя параметрическое задание кривой, сводить эти интегралы (как первого, так и второго рода, без особой разницы) к обычным линейным и применять обычные методы.

Ничего специального тут нет. Только к выбору способа параметрического задания желательно подойти тщательно, чтоб по возможности избежать особых точек и т.п.


а вот как их сводить к обычным - самый главный вопрос.

Автор: Lapp 24.08.2010 3:21

Цитата(TERAB1T @ 24.08.2010 3:58) *
а вот как их сводить к обычным - самый главный вопрос.
1. Находишь параметрическое задание кривой.
2. Выражаешь нужный дифференциал (dl в случае первого рода и dx, dy, dz в случае второго) через дифференциал параметра (dt) и подставляешь.

Например, тебе надо проинтегрировать первым родом f(x,y) на первой четверти единичной окружности от (1,0) до (0,1).

1.
x = cos(t)
y = sin(t)
t1 = 0
t2 = Pi/2

2.
dx = -sin(t)dt
dy = cos(t)dt
dl = Sqrt(dx2+dy2) = Sqrt(sin2(t)+cos2(t))dt

Теперь берешь интеграл f(x,y)*Sqrt(sin2(t)+cos2(t))dt от 0 до Pi/2.