Численные методы решения инженерных задач на электронных вычислительных машинах

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    56,4 Кб
  • Опубликовано:
    2015-02-25
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Численные методы решения инженерных задач на электронных вычислительных машинах

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего профессионального образования

«Уральский федеральный университет имени первого Президента России Б.Н.Ельцина»

Физико-технологический институт

Кафедра «Вычислительной техники»





Контрольная работа

«Численные методы решения инженерных задач на ЭВМ»

Студент Маньшина А.С.

Преподаватель Токмаков В.Н.






Екатеринбург 2014

Оглавление

Задание

Построение графика заданной функции

Поиск корней уравнения  методом половинного деления

Определение минимума функции методом перебора

Вычисление определенного интеграла на заданном отрезке с использованием метода правых прямоугольников

Список использованной литературы

Задание

Дана функция вида .

Используя численные методы, необходимо:

1)      Построить график функции.

)        Определить корни данного уравнения методом половинного деления.

)        Определить минимальное значение функции и соответствующее значение аргумента.

)        Вычислить значение определенного интеграла методом правых прямоугольников.

 

Построение графика заданной функции


Построим график функции в программе Microsoft Excel ®. Для этого зададим в табличном виде значения аргумента  на отрезке [-2; 4] и соответствующие им значения функции

Значение аргумента x

Значение функции f(x)


Значение аргумента x

Значение функции f(x)

-2,0

13,77811


1,1

-3,12426

-1,9

11,98179


1,2

-2,95761

-1,8

10,33929


1,3

-2,76494

-1,7

8,83789


1,4

-2,54681

-1,6

7,46606


1,5

-2,30374

-1,5

6,21338


1,6

-2,03621

-1,4

5,07040


1,7

-1,74463

-1,3

4,02859


1,8

-1,42940

-1,2

3,08023


1,9

-1,09086

-1,1

2,21833


2,0

-0,72933

-1,0


2,1

-0,34509

-0,9

0,72921


2,2

0,06161

-0,8

0,09108


2,3

0,49052

-0,7

-0,48249


2,4

0,94144

-0,6

-0,99576


2,5

1,41417

-0,5

-1,45256


2,6

1,90855

-0,4

-1,85635


2,7

2,42441

-0,3

-2,21028


2,8

2,96162

-0,2

-2,51719


2,9

3,52005

-0,1

-2,77966


3,0

4,09957

0,0

-3,00000


3,1

4,70010

0,1

-3,18033


3,2

5,32152

0,2

-3,32254


3,3

5,96377

0,3

-3,42836


3,4

6,62675

0,4

-3,49936


3,5

7,31039

0,5

-3,53694


3,6

8,01465

0,6

-3,54238


3,7

8,73945

0,7

-3,51683


3,8

9,48474

-3,46134


3,9

10,25048

0,9

-3,37686


4,0

11,03663

1,0

-3,26424





Построим на основании полученных табличных данных график исследуемой функции.


Из полученного графика видно, что уравнение  имеет 2 корня: один отрицательный со значением около -0,8, второй - положительный, со значением около 2,2. Минимальное значение функция принимает при .

Поиск корней уравнения  методом половинного деления

Зададимся интервалом , на котором будем искать корень уравнения . Очевидно, что признаком наличия на данном интервале корня уравнения есть смена знака значения функции на границах отрезка, или . Требуется найти с заданной точностью eps корень этой функции. Выберем середину отрезка . Если в середине функция имеет тот же знак, что и слева, то примем середину отрезка за новую левую границу, в противном случае - за правую. Повторяем так до тех пор, пока отрезок не станет меньше eps.

Dihotomy;;=300;,b,c,eps:Real;:Integer;fx (x:Real): Real;:=sqr(x)+2*exp(-x)-5;;

Writeln ('Нахождение корней функции методом половинного деления');

Repeat('Введите границы отрезка a, b: ');(a,b);fx(a)*fx(b)>0 Then ('На данном отрезке корней нет или их несколько. Попробуйте другие значения')

Endfx(a)*fx(b)<0; ('Введите требуемую точность eps: ');

Readln (eps);:=0;(abs(b-a)>eps) and (st<MaxStep) Do:=st+1;:=(a+b)/2;fx(a)*fx(c)<0b:=ca:=c;;st>MaxStep Writeln ('Отсутствие сходимости. Уточните промежуток')

Else Writeln ('Корень уравнения = ',c:10:6);.

Входные данные a = 0, b =3, eps = 0.000001

Выходные данные Корень уравнения = 2.185197

Определение минимума функции методом перебора


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


Программный код на Turbo Pascal имеет вид

Program Perebor;CRT;,b,h,min,f,xm: Real;,i: Integer;fx (x:Real): Real;:=sqr(x)+2*exp(-x)-5;;

Writeln ('Поиск минимума методом перебора');('Введите границы отрезка a, b: ');(a,b);('Введите количество участков разбиения : ');

Readln (n);:=(b-a)/n;:=a; min:=fx(a);:=1;i<=n Do:=fx(a+i*h);f<min:=a+i*h;:=f;;:=i+1; ('Минимальное значение при x = ',xm:5:2,' равно = ',min:10:5);;.

Пример

Входные данные

a = -1, b =3, n = 10000

Выходные данные

Минимальное значение при x = 0.5672 равно = -3.54406

Вычисление определенного интеграла на заданном отрезке с использованием метода правых прямоугольников


В случае если функция  положительна на некотором отрезке , то значение определенного интеграла этой функции на данном отрезке численно равно площади фигуры, ограниченной сверху графиком функции, а снизу - осью координат . Разбив отрезок  на  отрезков длиной , вычислим площадь фигуры как сумму площадей прямоугольников с основанием  и высотой, равной значению функции в правой границе прямоугольника.

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


Программа на языке программирования Turbo Pascal имеет вид:

Program RightSquares;;,b,h,s:Real;,i:Integer;fx (x:Real): Real;:=sqr(x)+2*exp(-x)-5;;

Writeln ('Вычисление интеграла методом правых прямоугольников');

Repeat('Введите границы отрезка a, b: ');(a,b);fx(a)*fx(b)<0 Then ('На данном отрезке вычислить интеграл данным методом невозможно')

Endfx(a)*fx(b)>0; ('Введите количество участков разбиения : ');

Readln (n);:=(b-a)/n;:=1;:=0;i<=n Do:=s+h*fx(a+i*h);:=i+1

End;

Writeln ('Значение интеграла на отрезке [',a:5:2,',',b:5:2,'] = ',s:10:5);;.

Пример

Входные данные

a = 2.4, b =4, n = 100

Выходные данные

Значение интеграла на отрезке [ 2.40, 4.00] = 8.95097

Список использованной литературы


1.      Учимся программировать: Pascal 7.0, 2-е издание. А.И. Гусева, 1998

.        Основы программирования. И.Г. Семакин, А.П. Шестаков, 2001

.        Введение в язык ПАСКАЛЬ. В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова, 1998

Похожие работы на - Численные методы решения инженерных задач на электронных вычислительных машинах

 

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