- •4 Алгоритм и его свойства.
- •6. Алгоритмизация решения задач и ее результат. Основные блоки визуальных алгоритмов. Пример.
- •10 Линейные и циклические алгоритмы.
- •14 Существуют прямые и итерационные методы решения нелинейных уравнений.
- •17 Одношаговые методы решения оду.
- •18 Одношаговые методы решения оду.
- •19 Одношаговые методы решения оду.
- •23 Методы прогноза и коррекции.
- •21 Методы прогноза и коррекции.
- •22 Методы прогноза и коррекции.
- •24 Методы прогноза и коррекции.
- •35. Методы одномерного поиска. Метод деления интервала пополам.
- •36. Методы одномерного поиска. Метод дихотомии.
- •37. Методы одномерного поиска. Метод золотого сечения.
- •39. Жизненный цикл программного продукта.
- •40. Основные принципа структурного программирования
- •41. Основные компоненты и понятия алгоритмических языков.
- •Условный оператор
- •Безусловные операторы
- •46. Операторы gets, putchar, getchar
- •49. While
- •51. Do while
- •52. Break и continue
- •Операторы break и continue
17 Одношаговые методы решения оду.
Предназначены для решения ДУ 1ого порядка y’=f(x,y), где y’ – производная, заданная при нач. усл. y(x0)=y0.
Методы позволяют находить последовательные значения зависимой переменной y соответствующие дискретным значениям независимой переменной X.
Одношаговые методы-методы, в которых для нахождения следующей точки кривой y=f(x) требуется информация лишь об одном предыдущем шаге
Виды погрешностей:
-погрешность округления, которая связана с ограничениями на представление чисел в конкретной ЭВМ
-погрешность усечения, которая связана с тем, что для аппроксимации функции вместо бесконечных рядов часто используются только их первые члены
-погрешность распространения, которая является результатом накопления погрешностей, появившихся на предыдущих этапах счета
Виды ошибок:
-локальная ошибка-сумма погрешностей, вносимых в вычислительный процесс на каждом шаге вычислений
-глобальная ошибка-разность между вычисленным и точным значениями величины на каждом этапе реализации численного алгоритма, определяющая суммарную ошибку, накопившуюся с момента начала вычислений
Метод Эйлера.
y’=f(x,y), где y’=dy/dx при н.у. y(x0)=y0
y(x0+h)=y(x0)+h*y’(x0)+h2*y’’(x0)/2+...
y(x0+h)=y(x0)+h*y’(x0)
yn+1=yn+h*f(xn;yn); n=0,1,2..
Этот метод решения основан на разложении ф-ии в ряд Тейлора в окрестности точки x0, при этом члены, содержащие h2 и более, отбрасываются. Каждое последующее значение “y” находится, используя правые части заданного ДУ. Метод 1ого порядка, ошибка имеет порядок h2 (т.к. отбрасываем h2 и более).
18 Одношаговые методы решения оду.
Предназначены для решения ДУ 1ого порядка y’=f(x,y), где y’ – производная, заданная при нач. усл. y(x0)=y0.
Методы позволяют находить последовательные значения зависимой переменной y соответствующие дискретным значениям независимой переменной X.
Модифицированный метод Эйлера.
Тангенс угла наклона касательной предыдущей и последующей точки не одинаковы, т.е. в вычисления на шаге h вносится погрешность. Точность метода можно существенно повысить, используя среднее значение наклона касательной в нач. и конечной точке интервала h. Это и есть смысл модифицированного метода Эйлера.
В модифицированном методе Эйлера сначала оред-ся знач.ф-ии в след. точке по методу Эйлера, т.е. вычисляется y*n+1= yn+h*f(xn; yn), которое используется для вычисления приближённого значения производной в конце интервала, т.е. f(xn+1; y*n+1). Затем вычисляется среднее знач. между вычисленным значением производной в конце интервала и её значением в начале интервала. Таким образом получаем более точное значение yn+1.
yn+1= yn+h/2(f(xn; yn)+f(xn+1; y*n+1), n=0,1,2…
y(x0+h)=y(x0)+h*y’(x0)+h2/2*y’’(x0)+...
y’’(x0)=Δy’(x0)/Δx=[y’(x0+h)-y’(x0)]/[(x0+h)-x0]
Это метод 2ого порядка. Ошибка метода пропорциональна h3.
19 Одношаговые методы решения оду.
Предназначены для решения ДУ 1ого порядка y’=f(x,y), где y’ – производная, заданная при нач. усл. y(x0)=y0.
Методы позволяют находить последовательные значения зависимой переменной y соответствующие дискретным значениям независимой переменной X.
Метод Рунге-Кутта 4 порядка.
Для того чтобы повысить точность необходимо сохранить при разложении в ряд Тейлора большое кол-во членов ряда. Чем выше порядок вычисляемой производной, тем больше дополнительных вычислений внутри интервала h. Методы Рунеге-Кутта дают набор формул для расчета координат внутренних точек интервала h. Наиболее распр. явл. метод Рунге-Кутта 4ого порядка, т.е. сохраняем в разложении члены ряда до h4 включительно, ошибка метода при этом h5. Метод обладает более высокой точностью, позволяя увеличивать длину шага h. Величину h следует выбирать исходя из допустимой ошибке на шаге.
ситема:
yn+1= yn+(k0+2k1+2k2+k3)/6, n=0,1,2…
k0=h*f(xn;yn);
k1=h*f(xn+h/2;yn+k0/2);
k2=h*f(xn+h/2;yn+k1/2);
k3=h*f(xn+h;yn+k2);
20 Общая характеристика одношаговых методов решения ОДУ.
Для всех одношаговых методов хар-но:
1)Св-во самостартования, т.е. для получения инф-ции о следующей точке, нужна инф-ция, только об одной предыдущей точке. Это св-во позволяет легко менять величину шага h.
2)В основу всех методов положено разложение ф-ии в ряд Тейлора. В разложении сохр-ся члены ряда, содержащие h до степени k включительно. При этом число k наз. порядком метода, погрешность на шаге имеет порядок (k+1).
3)Методы не требуют вычисления производной. Вычисляется сама ф-ия. Однако могут потребоваться её значения в нескольких точках интервала.
Метод Рунге-Кутта для системы дифференциальных уравнений.
Поскольку в мат модели может присутствовать не только 1ая производная, но и более высокие, необходимо преобразовать ДУ nого порядка в СДУ 1ого, при этом кол-во ур-ий будет n. После этого преобразования можно применить ф-лы Р-К 4 для каждого из полученных ур-ий.
Например для ДУ 2ого порядка.
d2y/dx2=g(x,y,dy/dx); dy/dx=z |=> dz/dx=d2y/dx2;
система: dz/dx=g(x,y,z)=z’; dy/dx=f(x,y,z)=z=y’
н.у. y(x0)=y0; z(x0)=z0
yn+1=yn+k; zn+1=zn+L, где k=(k0+2k1+2k2+k3)/6; L=(L0+Lk1+Lk2+L3)/6;
k1=h*f(xn;yn,zn);
k2=h*f(xn+h/2;yn+k1/2;zn+L1/2);
k3=h*f(xn+h/2;yn+k2/2;zn+L2/2);
k4=h*f(xn+h;yn+k3;zn+L3), где
L1=h*g(xn;yn,zn);
L2=h*g(xn+h/2;yn+k1/2;zn+L1/2);
L3=h*g(xn+h/2;yn+k2/2;zn+L2/2);
L4=h*g(xn+h;yn+k3;zn+L3).
