Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Double F(double x)





Помощь в ✍️ написании работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

{

return pow(x,3)-2.8*pow(x,2)-6.2*x+3.7;

}

Double Method(double a,double b,double eps)

{

Double

C,// середина интервала изоляции корня

A,// левая текущая граница интервала изоляции корня

B;// правая текущая граница интервала изоляции корня

A=a;// начальные значения текущих границ интервала

B=b;

while(fabs(B-A)>eps) // проверка на завершение поиска корня

{

C=(B+A)/2;// расчет середины интервала

if(F(A)*F(C)>=0) // проверка знака функции

A=C;// смещение левой границы интервала

Else

B=C;// смещение правой границы интервала

}

return (B+A)/2; // возврат результата клиенту

}

 

int _tmain(int argc, _TCHAR* argv[])

{

cout << "Koren =" << Method(a,b,eps) << endl;

return 0;

}

1.3. Откомпилируйте проект и выполните приложение.

1.4. Проанализируйте результаты в консольном окне (рис. 4.1).

Рис. 4.1

2. Расчет в среде MathCad.

2.1. Введите текстовую информацию о работе и постановку задачи (рис. 4.2).

 

Рис. 4.2

2.2. Изолируйте интервалы, содержащие корни уравнения (рис. 4.3).

Рис. 4.3

2.3. Создайте многострочную функцию вычисления корня методом половинного деления (рис. 4.4).

Рис. 4.4

2.4. Определите корень уравнения с помощью пользовательской и стандартной функций (рис. 4.5).

Рис. 4.5

3. Расчет в среде Microsoft Excel.

3.1. Запустите на выполнение среду программирования Microsoft Excel. Внесите информацию о постановке задачи (рис. 4.6).

Рис. 4.6

3.2. Для определения интервалов изоляции корней уравнения постройте таблицу значений функции . Внесите в ячейку B14начальное значение x, а в ячейку C14 – формулу для остальных значений абсциссы. Распространите формулу на всю таблицу (рис. 4.7).

Рис. 4.7

3.3. Введите в ячейку B15формулу значений функции и распространите ее на остальные ячейки таблицы (рис. 4.8).

Рис. 4.8

3.4. Выделите интервалы аргумента, на которых функция меняет знак, – это интервалы изоляции корней уравнения (рис. 4.9).

Рис. 4.9

3.5. Постройте график исследуемой функции на основе таблицы, чтобы убедиться, что на выделенных интервалах кривая графика пересекает ось абсцисс (рис. 4.10).

Рис. 4.10

3.6. Выберите один из интервалов изоляции корня уравнения. Постройте заголовок таблицы нахождения корня (рис. 4.11). Внесите начальные значения границ интервала a и b, формулу определения середины интервала c.

Рис. 4.11

3.7. Введите формулу вычисления f(a) (рис. 4.12).

Рис. 4.12

3.8. Введите формулу вычисления f(b) (рис. 4.13).

Рис. 4.13

3.9. Введите формулу вычисления f(c) (рис. 4.14).

Рис. 4.14

3.10. Введите формулу условия прекращения итераций | | < (рис. 4.15).

Рис. 4.15

3.11. Для вставки условного оператора в ячейку A39 для определения нового значения левого интервала изоляции корня a воспользуйтесь стандартной функцией (рис. 4.16).

Рис. 4.16

3.12. Аналогично вставьте формулу для вычисления нового значения правой границы b (рис. 4.17).

Рис. 4.17

3.13. Распространите формулы на нижнюю часть таблицы (рис. 4.18).

Рис. 4.18

3.14. Расчеты можно проводить до строки, в которой условие в столбце G выполнится (рис. 4.19).

Рис. 4.19

3.15. Выведем окончательное значение корня уравнения (рис. 4.20).

Рис. 4.20

4. Расчет в среде программирования Delphi.

4.1. Создайте проект консольного приложения.

4.2. Отредактируйте главную функцию.

program Pol_Del;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

Const

a=-2.0;// левая граница

b=-1.0;// правая граница

eps=1e-5; // количество разбиений

//------- подынтегральная функция ---------------

function F(x:real):real;

Begin

F:=power(x,3)-2.8*power(x,2)-6.2*x+3.7;

end;

//------- функция метода половинного деления ----

function Method(A,B,eps:real):real;

Var

C:real;// середина интервала изоляции корня

Begin

while (abs(B-A)>eps) do begin// проверка на завершение поиска корня

C:=(B+A)/2;// расчет середины интервала

if(F(A)*F(C)>=0)then// проверка знака функции

A:=C// смещение левой границы интервала

Else

B:=C;// смещение правой границы интервала

end;

Method:=(B+A)/2;// возврат результата клиенту

end;

begin //------ выполняемые операторы основной программы ----

WriteLn('----- Initial data: ------');

Writeln('a=',a:4:2,' b=',b:4:2,' eps=',b:8:4);

WriteLn('-------- Results ---------');

Writeln('Koren = ',Method(a,b,eps):12:8);

WriteLn('--------------------------');

WriteLn('Press <Enter> to finish');

Readln;

end.

4.3. Проанализируйте результаты работы приложения (рис. 4.21).

Рис. 4.21

4.4. Сравните результаты, полученные в разных средах.

ВАРИАНТЫ ЗАДАНИЙ

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.