Гемобартонеллез, или инфекционная анемия кошек

  • Вид работы:
    Доклад
  • Предмет:
    Биология
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    4,62 kb
  • Опубликовано:
    2009-01-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Гемобартонеллез, или инфекционная анемия кошек

1. Постановка задачи


Дано линейное дифференциальное уравнение второго порядка:

                                                                  (1.1)

с краевыми условиями:

         (1.2)

где функции P(x), Q(x), F(x) непрерывны, и - заданные постоянные, причем:  и .

Требуется найти решение y(x) уравнения (1.1), удовлетворяющее краевым условиям (1.2).

В данном варианте курсовой работы необходимо:

Решить краевую задачу для обыкновенного дифференциального уравнения с точностью Е=1.е-5. Проверить достигнутую точность. Результаты представить с шагом h=0.02. Решение провести тремя следующими методами:

. Сведением краевой задачи к задаче Коши.

2.      Методом конечных разностей.

3.      Методом Галёркина.

          (1.3)

Из условий следует, что функции P(x) = 0.9x; Q(x) =2.3/x ; F(x) =1.8/(x*x)-4 и постоянные a1 = 1, a2 = 0, b1 = 1, b2 = 0, a =1.3, b =1.8, A = 2.2, B = -1.4.

2. Метод сведения краевой задачи к задаче Коши

.1 Описание метода

Решение дифференциального уравнения (1.1) с краевыми условиями (1.2) будем искать в виде линейной комбинации:

  

где c=const                                                         (2.1)

Подставим y(x) в виде (2.1) в исходное дифференциальное уравнение (1.1) и сгруппируем слагаемые при постоянной с, получим выражение:

                                    (2.2)

Потребуем, чтобы равенство (2.2) выполнялось при любом с, для этого необходимо, чтобы коэффициенты при постоянной с обращались в ноль, получим систему уравнений:

                                                                         (2.3)

Из системы дифференциальных уравнений (2.3) видно, что функция u=u(x) - ненулевое решение соответствующего однородного уравнения, а v=v(x) - некоторое решение данного неоднородного уравнения (1.1).

Чтобы свести краевую задачу (1.1)-(1.2) к задачам Коши для функций u=u(x) и v=v(x), подставим в первое краевое условие (1.2) выражение для функции y(x) и сгруппируем слагаемые при постоянной c, будем иметь:

                                                (2.4)

Для того чтобы равенство (2.4) было справедливо при любом с, необходимо и достаточно, чтобы коэффициенты при постоянной с обращались в ноль, т. е. должны быть выполнены равенства:

                                                                (2.5)

Получили систему (2.5) из двух уравнений с четырьмя неизвестными. Решений системы будет бесконечное множество. Найдем хотя бы одно.

Для обеспечения первого равенства системы, например, можно подобрать:

                                              (2.6)

где постоянная k отлична от нуля, так как тривиальное решение u(a)=0 можно отбросить.

Для выполнения второго равенства системы (2.5) можно положить

                                           (2.7)

или

  при                                                                    (2.8)

По условию курсовой работы a1 = 1, a2 = 0, A = -2 будем иметь:

                                                                                          (2.9)

                                                                                          (2.10)

Отсюда видно, что u есть решение задачи Коши (2.9) для однородного уравнения (2.3), удовлетворяющее начальным условиям (2.6), а v есть решение задачи Коши (2.10) для неоднородного уравнения (2.3), удовлетворяющее начальным условиям (2.7) или (2.8). При этом для любого с функция y = cu + v удовлетворяет краевому условию на конце x=a.

Подберем теперь постоянную c так, чтобы функция y(x) удовлетворяла краевому условию (1.2) на конце x=b. Это дает:


откуда:

,                              

при этом предполагается, что знаменатель

Так как по условию работы b1 = 1, b2 = 0, то коэффициент c будет иметь вид:


Для решения полученных уравнений из системы (2.3) будем использовать метод Рунге-Кутта, который имеет достаточно высокую точность на всем интервале порядка

Рассмотрим второе дифференциальное уравнение из системы (2.3) с начальным условием (2.7). Дифференциальные уравнения системы (2.3) являются однотипными, поэтому решение первого уравнения системы (2.3) с начальным условием (2.6) осуществляется аналогичным способом, при условии .

Для того чтобы решить указанное дифференциальное уравнение методом Рунге-Кутта, сделаем замену:

  

и подставим ее во второе дифференциальное уравнение из системы (2.3), получим:

,                 

Расчет производим следующим образом: выберем шаг h, приращение x в зависимости от шага будет:

         где n=0,1…k-1

Соответствующие значения  и искомых функций v и z определяются формулами:

 

где:


Чтобы достичь заданную точность вычисляем y(x) двумя способами: один раз с шагом h, другой раз с шагом h/2, получая при этом значения более точные. Если расхождение полученных значений не превышает заданной точности Е =, то выбранный шаг h можно считать достаточным и полученная функция y(x) удовлетворяет заданной точности. Иначе уменьшаем шаг h, пока не будет достигнута заданная точность.

2.2 Описание результатов

При решении данного дифференциального уравнения второго порядка с заданными краевыми условиями (1.3) методом сведения к задаче Коши и последующим её решением методом Рунге-Кутта, были получены следующие результаты, представленные в таблице 1. В столбце Х приведено разбиение отрезка [1.3; 1.8] с шагом h = 0.02, в столбце Y(X) - значение функции  (n=1,…,26) в соответствующих точках , в столбце E - значения найденных абсолютных погрешностей.

В результате работы программы, листинг которой приведен в приложении 1, точность была достигнута при шаге 0.01, максимальная погрешность равна как видно из таблицы 1 при n=9.

Точность решений определялась из условия, что норма модуля разности более точного решения и приближенного должна быть меньше заданной точности. Для достижения заданной точности E =  шаг h = 0.02 уменьшили в 2 раза, так как при шаге h = 0.02 полученная точность не удовлетворяла заданной.

Легко заметить, что полученная максимальная погрешность меньше заданной точности, следовательно, проверка точности выполнена и полученная точность удовлетворяет заданной.

Таблица 1

X            Y(X)              E

1) 1.30 2.200000 0.00e+000

2) 1.32 2.029192 4.53e-010

) 1.36 1.692046 1.13e-009

) 1.38 1.525999 1.36e-009

) 1.40 1.361814 1.53e-009

) 1.42 1.199613 1.65e-009

) 1.44 1.039511 1.72e-009

) 1.46 0.881613 1.75e-009

) 1.48 0.726016 1.74e-009

) 1.50 0.572810 1.70e-009

) 1.52 0.422075 1.63e-009

) 1.54 0.273886 1.54e-009

) 1.56 0.128307 1.42e-009

) 1.58 -0.014601 1.30e-009

) 1.60 -0.154787 1.17e-009

) 1.62 -0.292205 1.03e-009

) 1.64 -0.426817 8.85e-010

) 1.66 -0.558591 7.44e-010

) 1.68 -0.687500 6.07e-010

) 1.70 -0.813522 4.77e-010

22) 1.72 -0.936644 3.55e-010

) 1.74 -1.056855 2.45e-010

) 1.76 -1.174151 1.48e-010

) 1.78 -1.288531 6.56e-011

) 1.80 -1.400000 4.44e-016

3. Метод конечных разностей

.1 Описание метода

Решим дифференциальное уравнение (1.1) с краевыми условиями (1.2) методом конечных разностей. Для того чтобы получить систему конечно-разностных уравнений, разобьем отрезок [a,b] на n равных частей длины  как показано на рисунке 1. Точки разбиения имеют абсциссы:

 (i=0,1,2,…,n),  .

Рис. 1

Значения в точках  искомой функции y=y(x) и ее производных обозначим соответственно:


Введем также обозначения:

.

Заменяя производные симметричными конечно-разностными отношениями для внутренних точек  отрезка [a, b] будем иметь:

       (i=1,2,…,n-1)                                   (3.1)

где - погрешность формулы порядка .

Подставим конечно-разностные выражения (3.1) в исходное дифференциальное уравнение (1.1). В результате подстановки получим:

                                        (3.2)

Или запишем выражение (3.2) в виде:

,    (i=1,2,...,n-1),                                            (3.3)

                 

Так как всего n+1 неизвестных  на отрезке [a, b], а уравнений n-1, то не хватает еще двух уравнений для нахождения всех  (i=0,1,…,n). Эти недостающие уравнения дают краевые условия (1.2). По условию курсовой работы , , поэтому система (1.2) принимает вид:

 

С учетом этого запишем систему линейных алгебраических уравнений:

,

где (i=1,2,...,n-1)                                      (3.4)

Таким образом, получена линейная система (3.4) из n+1 уравнений с n+1 неизвестными , представляющими собой значения искомой функции y=y(x) в точках .

Систему уравнений (3.4) можно записать в матричном виде, при этом получается трехдиагональная матрица коэффициентов

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

Приведем матрицу (3.5) к двухдиагональному виду. Предположим, что из (3.4) исключена неизвестная . Тогда это уравнение примет вид:

                                 (3.7)

где  (i=1,2,...,n-1) некоторые коэффициенты.

В прямом ходе метода прогонки определяются коэффициенты  зная  Найдем эти коэффициенты, для этого запишем

Подставим это выражение в (3.4) и, выразив , будем иметь:

                                                                      (3.8)

Сравнивая формулы (3.7) и (3.8), получим рекуррентные формулы для определения  и :

 (i=1,2,...,n-1)                                                                 (3.9)

Определим теперь  и . Из (3.7) при i=0 получим:

                                   (3.10)

Сравнивая (3.10) и первое краевое условие из (1.2), находим:

                                         

При обратном ходе, используя формулу (3.7) и условие , последовательно находим

Точность в методе конечных разностей достигается аналогичным способом, приведенным в методе сведения краевой задачи к задаче Коши, так как полученная точность зависит от шага разбиения отрезка [a, b].

3.2 Описание результатов

При решении данного дифференциального уравнения второго порядка с заданными краевыми условиями (1.3) методом конечных разностей, получены следующие результаты представленные в таблице 2. В столбце Х приведено разбиение отрезка [1.3; 1.8] с шагом h = 0.02, в столбце Y(X) - значение функции  (n=1,…,26) в соответствующих точках , в столбце E - значения найденных абсолютных погрешностей.

В результате работы программы, листинг которой приведен в приложении 2, точность была достигнута при шаге 0.01, максимальная погрешность как видно из таблицы 2 при n=14.

Для достижения заданной точности Е = шаг h = 0.02 уменьшили в 2 раза, поскольку при шаге большем, чем h = 0.01 полученная точность не удовлетворяла заданной.

Легко заметить, что полученная максимальная погрешность меньше заданной точности, следовательно, проверка точности выполнена и полученная точность удовлетворяет заданной.

Таблица 2

1) 1.30 2.200000 0.00e+000

2) 1.32 2.029191 6.88e-007

) 1.34 1.859823 1.33e-006

) 1.36 1.692044 1.92e-006

) 1.38 1.525996 2.45e-006

) 1.40 1.361810 2.94e-006

) 1.42 1.199608 3.36e-006

) 1.44 1.039506 3.73e-006

) 1.46 0.881607 4.04e-006

) 1.48 0.726010 4.29e-006

) 1.50 0.572804 4.48e-006

) 1.52 0.422069 4.61e-006

) 1.54 0.273879 4.68e-006

) 1.56 0.128301 4.69e-006

) 1.58 -0.014607 4.62e-006

) 1.60 -0.154793 4.50e-006

) 1.62 -0.292211 4.32e-006

) 1.64 -0.426823 4.07e-006

) 1.66 -0.558596 3.77e-006

) 1.68 -0.687504 3.40e-006

) 1.70 -0.813526 2.98e-006

) 1.72 -0.936648 2.50e-006

) 1.74 -1.056858 1.95e-006

) 1.76 -1.174153 1.36e-006

) 1.78 -1.288532 7.06e-007

) 1.80 -1.400000 0.00e+000

4. Метод Галёркина

4.1 Описание метода

В данном методе решения дифференциального уравнения (1.1) с краевыми условиями (1.2) для удобства описания метода введем:

линейный дифференциальный оператор

,

линейные операторы


Тогда постановка задачи для дифференциального уравнения (1.1) с краевыми условиями (1.2) примет вид:

                                                                                       (4.1)

Решение краевой задачи (4.1) будем искать в виде суммы:

             (4.2)

где  ( i = 1, 2,..., n ) - конечная система базисных функций. Базисные функции должны составлять часть полного класса функций, то есть нет ни одной функции, которую нельзя было бы разложить по данной системе базисных функций.

Функция y(x) должна удовлетворять краевым условиям, то есть должно выполняться:


Краевые условия должны быть справедливы для любого набора констант , поэтому запишем:

 

По условию курсовой работы  получим:

                                                                  (4.3)

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

 

В качестве базисных функций  выбираем:

 

При таком подборе базисных функций  функция y(x), удовлетворяет краевым условиям, при любом наборе констант .

Введем следующее определение: невязка - разность между левой и правой частями уравнения:


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

Таким образом, для определения коэффициентов  (i=1,2,...,n) приходим к системе линейных уравнений:

, (i=1,2,...,n)

или более подробно запишем данную систему в матричном виде:

 =                          (4.4)

Система уравнений (4.4) разрешается относительно  по методу Гаусса. По полученным значениям  и функциям  определяем столбец значений функции y(x) согласно формуле (4.2).

Определенные интегралы системы уравнений (4.4) можно вычислить по методу Симпсона, общая формула которого имеет вид:


где n - количество разбиений отрезка [a, b].

Общая погрешность метода Симпсона составляет  где .

Подынтегральные функции в системе (4.4) имеют видили  Тогда из однородных краевых условий (4.3) получим  или , что упрощает формулу Симпсона.

Чтобы достичь заданную точность вычисляем y(x) двумя способами: один раз с числом базисных функций i, другой раз с i+1, получая при этом значения более точные. Если расхождение полученных значений не превышает заданной точности Е = то выбранное число функций можно считать достаточным и полученная функция y(x) удовлетворяет заданной точности. Иначе увеличиваем i, пока не будет достигнута заданная точность.

4.2 Описание результатов

При решении данного дифференциального уравнения второго порядка с заданными краевыми условиями (1.3) методом Галёркина, получены следующие результаты представленные в таблице 3. В столбце Х приведено разбиение отрезка [1.3; 1.8] с шагом h = 0.02, в столбце Y(X) - значение функции  (n=1,…,26) в соответствующих точках в столбце E - значения найденных абсолютных погрешностей.

В результате работы программы, листинг которой приведен в приложении 3, точность была достигнута при количестве базисных функций равных 5, максимальная погрешность  как видно из таблицы 3 при n=24.

Легко заметить, что полученная максимальная погрешность меньше заданной точности  следовательно, проверка точности выполнена и полученная точность удовлетворяет заданной.

коши краевой задача точность

Таблица 3

X       Y(X)                   E

)        1.32 2.029193 8.78e-007

)        1.34 1.859826 9.65e-007

)        1.36 1.692047 6.87e-007

)        1.38 1.526000 3.23e-007

)        1.40 1.361814 3.49e-008

)        1.42 1.199613 1.03e-007

)        1.44 1.039511 8.21e-008

)        1.46 0.881613 6.72e-008

)        1.48 0.726016 2.90e-007

)        1.50 0.572810 5.25e-007

)        1.52 0.422076 7.15e-007

)        1.54 0.273886 8.18e-007

)        1.56 0.128308 8.13e-007

)        1.58 -0.014600 7.01e-007

)        1.60 -0.154786 5.07e-007

)        1.62 -0.292205 2.77e-007

)        1.64 -0.426817 6.75e-008

)        1.66 -0.558591 5.80e-008

)        1.68 -0.687500 4.71e-008

)        1.70 -0.813523 1.28e-007

)        1.72 -0.936644 4.51e-007

)        1.74 -1.056855 8.38e-007

24)    1.76 -1.174150 1.11e-006

)        1.78 -1.288530 9.85e-007

)        1.80 -1.400000 0.00e+000

Выводы

Обыкновенное дифференциальное уравнение второго порядка было решено тремя методами: сведением краевой задачи к задаче Коши, методом конечных разностей, методом Галёркина. Для получения решения были написаны программы на языке программирования C++.

Максимальная погрешность в методе сведения краевой задачи к задаче Коши равна , в методе конечных разностей: , в методе Галёркина: .

Требуемая точность E=была достигнута. При использовании методов сведения к задаче Коши и конечных разностей точность достигалась путём уменьшения шага, при использовании метода Галёркина - путём увеличения количества базисных функций.

Приложение 1

Листинг программы «Метод сведения краевой задачи к задаче Коши»

#include "stdafx.h"

#include "math.h"int N_max=100;double a=1.3, b=1.8, A=2.2, B=-1.4, epsel=0.00001;F(double x)

{ return (1.8/(x*x)-4);}Q(double x)

{ return (2.3/x);}P(double x)

{ return (0.9*x);}Runge_Kutt(double h,int n,double U[],double V[],double z[],double t[],double a)

{k1z,k2z,k3z,k4z,v,k2v,k3v,k4v,t,k2t,k3t,k4t,u,k2u,k3u,k4u; x=a;[0]=0;[0]=A;[0]=1;[0]=0;(int i=0;i<=n;i++){ =a+i*h;v=z[i];                                 z=F(x) - P(x)*z[i]-Q(x)*V[i];v=z[i]+h/2*k1z;z=F(x+h/2) - P(x+h/2)*(z[i]+h/2*k1z)-Q(x+h/2)*(V[i]+h/2*k1v); v=z[i]+h/2*k2z;z=F(x+h/2) - P(x+h/2)*(z[i]+h/2*k2z)-Q(x+h/2)*(V[i]+h/2*k2v);v=z[i]+h*k3z;z=F(x+h) - P(x+h)*(z[i]+h*k3z)-Q(x+h)*(V[i]+h*k3v);u=t[i];                          t=-P(x)*t[i]-Q(x)*U[i];u=t[i]+h/2*k1t;t=-P(x+h/2)*(t[i]+h/2*k1t)-Q(x+h/2)*(U[i]+h/2*k1u);u=t[i]+h/2*k2t;t=-P(x+h/2)*(t[i]+h/2*k2t)-Q(x+h/2)*(U[i]+h/2*k2u); u=t[i]+h*k3t;t=-P(x+h)*(t[i]+h*k3t)-Q(x+h)*(U[i]+h*k3u);[i+1]=V[i]+h/6*(k1v+2*k2v+2*k3v+k4v);[i+1]=z[i]+h/6*(k1z+2*k2z+2*k3z+k4z); [i+1]=U[i]+h/6*(k1u+2*k2u+2*k3u+k4u);[i+1]=t[i]+h/6*(k1t+2*k2t+2*k3t+k4t);

}

}Proverka_Tochnosti(double y[],double y_tochnoe[],int n,double delta,double eps[])

{i=0;=0;(i=0;i<=n/2;i++)

{[i]=fabs(y[2*i]-y_tochnoe[i]);(eps[i]>delta)=eps[i];    }delta;}Nahozdenie_y(double y[],double U[],double V[],int n,double C)

{i;(i=0;i<=n;i++)[i]=C*U[i]+V[i];

}Prisvoenie_y_Tochnoe(double y[],double y_tochnoe[],double y_vivodimoe[],int n)

{i;(i=0;i<=n;i++){_vivodimoe[i]=y_tochnoe[i];_tochnoe[i] = y[i];}

}Pechat(double y_vivodimoe[],double a,double eps[],int n,int N,double delta)

{i,j=1,k;h,x=a;=n/N;=(b-a)/n; ("n = %d\nh = %1.2f\nMax_Delta = %1.2e\n\n",n,h,delta);("\tx\ty\t\tE\n"); (i=0;i<=n;i+=k)

{       

printf("%d)\t%1.2f\t%f\t%1.2e\n",j++,x,y_vivodimoe[i],eps[i]);=x+k*h;

}

}()

{i=0,j=0,N=25,n=0;U[N_max],V[N_max],z[N_max],y[N_max],y_tochnoe[N_max],y_vivodimoe[N_max];h=0,x=0,delta=0,t[N_max],eps[N_max],C=0;=N;

{(n>=N_max)

{("Vihod za predeli massiva");0;

}=(b-a)/n;_Kutt(h,n,U,V,z,t,a);=(B-V[n])/U[n];_y(y,U,V,n,C);=Proverka_Tochnosti(y,y_tochnoe,n,delta,eps);_y_Tochnoe(y,y_tochnoe,y_vivodimoe,n);=2*n;

}(delta>epsel);(y_vivodimoe,a,eps,n/4,N,delta);("n = %d\nh = %1.2f\nMax_Delta = %1.2e\n\n",n,h,delta);

return 0;}

Приложение 2.

Листинг программы «Метод конечных разностей»

#include "stdafx.h"

#include "math.h"int N_max=200;double epsel=0.00001;double a=1.3, b=1.8, A=2.2, B=-1.4;F(double x)

{ return 1.8/(x*x)-4;}Q(double x)

{ return 2.3/x;}P(double x)

{ return 0.9*x;}Metod_K_R(double y[],double h,int n )

{int i;x,m,k,f;double c[N_max],d[N_max];[0]=0;[0]=A;( i=1;i<n;i++)

{=a+i*h;=(Q(x) - 2/(h*h)) / (1/(h*h) + P(x)/(2*h));= (1/(h*h) - P(x)/(2*h)) / (1/(h*h) + P(x)/(2*h));=F(x) / (1/(h*h) + P(x)/(2*h));[i]=1/(m-k*c[i-1]);[i]=c[i]*(f-k*d[i-1]);

}[n]=B;(i=n-1;i>=0;i--)

y[i]=d[i]-c[i]*y[i+1];

}Prov_toch(double y[],double y_tochnoe[],int n,double delta,double eps[])

{i;=0;(i=0;i<=n/2;i++)

{[i]=fabs(y[2*i]-y_tochnoe[i]);(eps[i]>delta)=eps[i];

}Pechat(double y_vivodimoe[],double a,double eps[],int n,int N,double delta)

{i,j=1,k;h,x=a;=n/N;=(b-a)/n; ("n = %d\nh = %1.2f\nMax_Delta = %1.2e\n\n",n,h,delta);("\tx\ty\t\tE\n"); (i=0;i<=n;i+=k)

{       

printf("%d)\t%1.2f\t%f\t%1.2e\n",j++,x,y_vivodimoe[i],eps[i]);=x+k*h;

}

}()

{i,N=25,n;y[N_max],y_tochnoe[N_max],eps[N_max],y_vivodimoe[N_max];h,delta;=N;

{(n>=N_max)

{("Vihod za predeli masiva ");0;

}=(b-a)/n;_K_R(y,h,n);=Prov_toch(y,y_tochnoe,n,delta,eps);(i=0;i<=n;i++){_vivodimoe[i]=y_tochnoe[i];_tochnoe[i] = y[i];}=2*n;

}(delta>epsel);(y_vivodimoe,a,eps,n/4,N,delta);("n = %d\nh = %1.2f\nMax_Delta = %1.2e\n\n",n,h,delta);

return 0;}

Приложение 2

Листинг программы «Метод Галёркина»

#include "stdafx.h"

#include "math.h"

#include "process.h"double epsel=0.00001;                                             double h=0.02;double a=1.3;double b=1.8;double A=2.2;double B=-1.4;int M=10, N_max=26,         E=8;F(double x)

{ return 1.8/(x*x)-4;}Q(double x)

{ return 2.3/x;}P(double x)

{ return 0.9*x;}Resheniya(double D[],double C[],int n)

{U,L,matrix[N_max][N_max];x,sum1,sum2,h=(b-a)/E,koef;k,i,j,t;(k=1;k<=n;k++){(i=1;i<=n;i++)

{sum1=0;sum2=0;(j=1;j<E;j++)

{=a+j*h;=pow(x-a,i)*(x-b);=k*pow(x-a,k-2)*((k-1)*(x-b)+2*(x-a))+P(x)*(k*pow(x-a,k-1)*(x-b)+pow(x-a,k))+Q(x)*pow(x-a,k)*(x-b);(j%2) sum1+=U*L;sum2+=U*L;

}[i-1][k-1]=h/3*(4*sum1+2*sum2);

}

}(i=1;i<=n;i++)

{sum1=0;sum2=0; (j=1;j<E;j++)

{=a+j*h;=pow(x-a,i)*(x-b); =P(x)*(B-A)/(b-a)+Q(x)*((A*b-B*a)/(b-a)+(B-A)/(b-a)*x);(j%2) sum1+=U*(F(x)-L);sum2+=U*(F(x)-L);

}[i-1]=h/3*(4*sum1+2*sum2);

}

// Metod Gausa(t=0;t<n-1;t++)

{( i=t+1;i<n;i++){=matrix[i][t]/matrix[t][t];[i]=D[i]-D[t]*koef;                                   ( j=t+1;j<n;j++){[i][j]=matrix[i][j]-matrix[t][j]*koef;

}

}

}(i=n-1;i>=0;i--){[i]=D[i];(j=i+1;j<n;j++)

{C[i]=C[i]- matrix[i][j]*C[j];}          [i]=C[i]/matrix[i][i];}

}Nahozdenie_y(double y[],double C[],int n)

{i,j;x,m=(A*b-B*a)/(b-a),g=(B-A)/(b-a);(j=0;j<N_max;j++){=a+j*h;[j]=m+g*x;(i=1;i<=n;i++)

{y[j]+=C[i-1]*pow(x-a,i)*(x-b);}

}

}Proverka(double y[],double y_tekushee[],int n,double eps[])

{i;delta;(i=0;i<N_max;i++)

{eps[i]=fabs(y[i]-y_tekushee[i]);(eps[i]>delta)delta=eps[i]; } delta;

}Prisvoenie_y_tekushee(double y[],double y_tekushee[],double y_vivodimoe[],int n)

{i;(i=0;i<N_max;i++)

{y_vivodimoe[i]=y_tekushee[i];

y_tekushee[i] = y[i];}

}Pechat_rez(double y_vivodimoe[],double eps[], int n,double delta)

{ int i;x;("Bazis = %d\n",n);("Razbienij v metode Simpsona = %d \n",E);("Max_Delta = %1.2e\n\n",delta);("\t X\t Y(X)\t\t Delta\n");(i=0;i<N_max;i++)

{ =a+i*h;("\t %1.2f \t %lf \t %1.2e\n",x,y_vivodimoe[i],eps[i]);

}

}()

{n=0;y[N_max],y_tekushee[N_max],y_vivodimoe[N_max],eps[N_max],B[N_max],C[N_max];delta;

{++;(n>=M)

{("Error!!! Vihod za predeli\n\n");0;

}(B,C,n);_y(y,C,n);=Proverka(y,y_tekushee,n,eps);_y_tekushee(y,y_tekushee,y_vivodimoe,n);         

}while(delta>epsel);_rez(y_vivodimoe,eps,n,delta);0;

}

Похожие работы на - Гемобартонеллез, или инфекционная анемия кошек

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!