Решение нелинейных уравнений

Автор работы: Пользователь скрыл имя, 03 Марта 2015 в 01:44, курсовая работа

Описание работы

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

Содержание работы

Введение……………………………………………………….3
Цель и задачи………………………………………………….4
Теория нелинейных уравнений
и метод половинного деления………………………5
Нахождения корней нелинейного уравнения с заданной точностью:
MathCAD………………………………………………...9
Microsoft Excel………………………………………….12
Pascal…………………………………………………….15
5. Выводы…………………………………………………………
6. Список литературы………………………………………

Файлы: 1 файл

Курсач.docx

— 144.75 Кб (Скачать файл)


 

 

 

 

 

 

 

12

Microsoft Excel. Метод половинного деления

Алгоритм

  1. Заполнить ячейки A1:H1 последовательно следующим образом: a, b, c=(a+b)/2, f(a), f(b), f(c), |b-a|<=e.
  2. Ввести в ячейку A2 число 0, в ячейку B2 - число 0.5.
  3. В ячейку C2 ввести формулу: =(A2+B2)/2.
  4. В ячейку D2 ввести формулу: =2^A2-4*A2, скопировать эту формулу в ячейки E2:F2.
  5. Ввести в ячейку G2 формулу: =ЕСЛИ(ABS(B2-A2)<=2*$H$2;C2; "-").
  6. Ввести в ячейку H2 число 0,001.
  7. В ячейку A3 ввести формулу: =ЕСЛИ(D2*F2<0;A2;C2).
  8. В ячейку B3 ввести формулу: =ЕСЛИ(D2*F2<0;C2;B2).
  9. Диапазон ячеек C2:G2 скопировать в диапазон ячеек C3:G3.
  10. Выделить диапазон ячеек A3:G3 и с помощью маркера заполнения заполнить все нижестоящие ячейки до получения результата в одной из ячеек столбца G (это ячейки A3:G53).

 

 

 

 

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

Pascal. Шаговый метод

Блок-схема






 

 

 

 


 

 











Программа

Program ex_1;

Uses crt;

Var c,d,h,a,b:real ; k:integer ;

Function F(x:real ):real ;

Begin

F:= exp(x*ln(2))-4*x

End ;

Begin

Writeln ('vvedite c,d,h');

Readln (c,d,h);

k:= 0 ;

a:=c;

Repeat

b:=a+h;

If F(a)*F(b)<= 0 then

begin

k:=k+1 ;

Writeln ('k=',k,' a=',a:5 :2 ,' b=',b:5 :2 );

end ;

a:=b;

until b>d;

end.

Ответ: k=1   a=0    b=0.5

    k=2   a=3.5 b=4

             k=3   a=4     b=4.5

 

 

 

 

 

 

16

Pascal. Метод половинного деления

Блок-схема


 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

17

Программа

program mdp;

function f(x: real): real;

begin

f:=exp(x*ln(2))-4*x;

end;

var

a, b, e, c, x: real;

begin

write('a=');

read(a);

write('b=');

read(b);

write ('e=');

read(e);

c:=(a+b)/2;

while(b-a)>e do

begin

if(a)*f(c)<0 then

b:=c

else

a:=c;

writeln('a=', a:3:4,  'b=', b:3:4,   'f(a)=', f(a):6:9,   'f(b)=',f(b):6:9);

c:=(a+b)/2;

18

end;

x:=(a+b)/2;

writeln ('x=',x:3:3,' f(x)=',f(x):4:4);

readln;

end.

 

Ответ:

a=0

b=0.5

e=0.001

a=0.2500b=0.5000f(a)=0.189207115f(b)=-0.585786438

a=0.2500b=0.3750f(a)=0.189207115f(b)=-0.203160445

a=0.2500b=0.3125f(a)=0.189207115f(b)=-0.008142188

a=0.2813b=0.3125f(a)=0.090247360f(b)=-0.008142188

a=0.2969b=0.3125f(a)=0.040980536f(b)=-0.008142188

a=0.3047b=0.3125f(a)=0.016401064f(b)=-0.008142188

a=0.3086b=0.3125f(a)=0.004124898f(b)=-0.008142188

a=0.3086b=0.3105f(a)=0.004124898f(b)=-0.002009781

a=0.3096b=0.3105f(a)=0.001057274f(b)=-0.002009781

x=0.310 f(x)=-0.0005

 

 

 

 

19

a=3.5

b=4

e=0.001

a=3.9000b=3.9500f(a)=-0.671472135f(b)=-0.345018737

a=3.9000b=3.9250f(a)=-0.671472135f(b)=-0.510526065

a=3.9000b=3.9125f(a)=-0.671472135f(b)=-0.591564328

a=3.9000b=3.9063f(a)=-0.671472135f(b)=-0.631658927

a=3.9000b=3.9031f(a)=-0.671472135f(b)=-0.651600629

a=3.9000b=3.9016f(a)=-0.671472135f(b)=-0.661545147

a=3.9000b=3.9008f(a)=-0.671472135f(b)=-0.666510831

x=3.900 f(x)=-0.6690

 

 

 

 

 

 

 

 

 

 

20

Выводы

Мы нашли корни уравнения в Microsoft Excel, MathCAD, Pascal 2 методами: шаговым и половинного деления с точностью до 0,001. Из схем и таблиц можно увидеть, что получилось 2 корня. Наиболее точные корни получились в средах Excel и Pascal, хотя наиболее удобной в использовании была среда MathCAD, так как в нее уже заложены специальные формулы, позволяющие найти более точное значение уже со второго приближения. Уточнение корня напрямую зависит от точности его нахождения e, чем меньше e, тем точнее будет корень. Среда Excel выводила результат в ячейках. Выводить его самостоятельно было бы затруднительно.

При нахождении корней были получены следующие результаты:

MathCAD:

X=0.31 на интервале [0; 0.5]

X=3.999 на интервале [3.5; 4]

Microsoft Excel

X=0.309 на интервале [0; 0.5]

X=3.999 на интервале [3.5; 4]

Pascal

X=0.310 на интервале [0; 0.5]

X=3.900 на интервале [3.5; 4]

 

 

 

 

21

Список литературы

  1. Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы – М.: Лаборатория Базовых Знаний, 2002.
  2. Численные методы.     Автор:   Лапчик М.П., Рагулина М.И., Хеннер Е.К.; под ред. Лапчика М.П.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22


Информация о работе Решение нелинейных уравнений