4285

Использование стандартных функций в языке С++

Лабораторная работа

Информатика, кибернетика и программирование

Использование стандартных функций в языке С++ Закрепление практических навыков по работе с функциями, работа со стандартными функциями. В ходе выполнения работы необходимо создать программу, которая находит все корни уравнения на...

Русский

2012-11-15

120.5 KB

13 чел.

Использование стандартных функций в языке С++

1 Цель работы 

Закрепление практических навыков по работе с функциями, работа со стандартными функциями.

В ходе выполнения работы необходимо создать программу, которая находит все корни уравнения на заданном интервале [a;b] с заданной точностью  (задается пользователем). Программа должна выводить список корней (при этом корни не должны повторяться) либо выводить соответствующее сообщение, если корней нет.

Таблица 1.1 – Индивидуальные задания

Номер студента в списке

Вид функции

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Чтобы использовать стандартные математические функции вам необходимо подключить заголовочный файл cmath. В таблице 1.2  представлены некоторые используемые функции.

Таблица 1.2 – Используемые функции

double sqrt(double x);

Берет квадратный корень положительного числа

double pow(double x, double y);

Возводит x в степень y

double log(double x);

Вычисляет натуральный логарифм

double log10(double x);

Вычисляет десятичный логарифм.

int abs(int x);

Возвращает модуль целого числа

double fabs(double x);

Возвращает модуль вещественного числа

double sin(double x);

Вычисляет синус числа

double cos(double x);

Вычисляет косинус числа

double atan(double x);

Вычисляет тангенс числа

2 Теоретические сведения

МЕТОД ДИХОТОМИИ

Для решения практических задач нахождения корней уравнения пользуются множеством методов. Одним из грубых и легко реализуемых методов является метод дихотомии (половинного деления). Данный метод позволяет находить корень уравнения на заданном интервале.

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

Итак, одним условием нахождения корня является тот факт, что. В раде случаев точного равенства получить не удается. Поэтому можно указать еще одно условие, характеризующее корень: если на -м шаге , то  - корень уравнения.

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

К недостаткам метода можно отнести следующее - метод половинного деления практически удобно применять для грубого нахождения корня уравнения, так как при увеличении точности значительно возрастает объем вычислительной работы. Однако легко заметить и положительные его стороны – метод дихотомии легко реализуется на ЭВМ. Программа вычисления составляется так, чтобы ЭВМ находила значение правой части уравнения  в середине каждого из отрезков  и выбирала соответствующую его половину.

МЕТОД ЗОЛОТОГО СЕЧЕНИЯ

Как известно, золотым сечением отрезка называется деление отрезка на две неравные части так, чтобы отношение длины всего отрезка к длине большей части равнялось отношению длины большей части к длине меньшей части отрезка.

Деление отрезка [a;b] производится точками x1 = a + a1(ba) и x2 = a + a2(ba), где    a1 =   ;  a2 =  (a1 и a2  – дроби Фибоначчи).  Точки  x1  и  x2  расположены симметрично относительно середины отрезка, причём а < x1 < x2 < b. Надо отметить, что точка x1, в свою очередь производит золотое сечение отрезка [a;x2]. Аналогично, точка x2 производит золотое сечение отрезка [x1;b].

Метод золотого сечения применим для решения уравнения h(x) = 0, когда функция h(x) непрерывна и на концах предполагаемого интервала дислокации корня принимает значения разных знаков. Нахождение корня уравнения с помощью этого метода основывается на последовательном уменьшении длины отрезка, локализующего корень. Задача определения корня считается решенной, когда либо длина отрезка локализации становится меньше заданной погрешности, либо очередная граница отрезка попадает на корень уравнения.

Существенным недостатком метода золотого сечения является то, что он не применим в случае, когда функция h(x) на заданном интервале имеет несколько корней.

Однако существенным достоинством рассматриваемого метода является простота его алгоритмической, а значит и программной, реализации.

Пусть заданы следующие величины: a, b и e, где  a и b — границы  отрезка, в которых функция h(x) принимает значения разных знаков; e – точность вычислений. Положим a1 = a, b1 = b. На отрезке [a1 ; b1] возьмём точки x1 и x2, производящие золотое сечение, и вычислим значения h(a1), h(b1), h(x1) и h(x2). Далее, если  h(a1) * h(x1)  0, то корень находится в левой части интервала, примем a2 = a1  и b2 = x1. Если  h(x2) * h(b1)  0, то корень находится в правой части интервала, примем a2 = x2  и b2 = b1; если h(x 1) * h(x2) < 0, то корень находится в центральной части интервала, примем a2 = x1  и b2 = x2. Затем сравниваем длину полученного отрезка [a2 ; b2] с величиной e. Если длина отрезка оказалась меньшей или равной величине e, то корень уравнения z находится по формуле: z = . Если длина отрезка оказалась больше величины e, то на отрезке [a2 ; b2] снова выбираются точки x1 и x2, производящие золотое сечение, и выполняются все вышеописанные действия до тех пор, пока  длина отрезка [a n ; b n] не станет меньше величины e.

МЕТОД КАСАТЕЛЬНЫХ (метод Ньютона)

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

Суть метода:

Пусть корень ξ уравнения

  f(x) = 0  (1)

отделен на отрезке , причем f’(x) и f”(x) непрерывны и сохраняют определенные знаки при . Найдя какое-нибудь n-е приближенное значение корня xn ≈ ξ (axnb), мы можем уточнить его по методу Ньютона следующим образом. Положим

 (2)

где hn считаем малой величиной. Отсюда, применяя формулу Тейлора, получим:

Следовательно,

Внеся эту поправку в формулу (2), найдем следующее (по порядку) приближение корня

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

Выберем, например , для которого . Проведем касательную к кривой  в точке .

В качестве первого приближения  корня возьмем абсциссу точки пересечения этой касательной с осью . Через точку  снова проведем касательную, абсцисса точки пересечения которой даст нам второе приближение  корня  и т.д. Очевидно, что уравнение касательной в точке  есть

Полагая , получим формулу (3)

(3)

Заметим, что если в нашем случае положить  и, следовательно, , то проведя касательную к кривой  в точке , мы получили бы точку , лежащую вне отрезка , т.е. при этом выборе начального значения метод Ньютона оказывается непрактичным. Таким образом, в данном случае «хорошим» начальным приближением  является то, для которого выполнено неравенство

.

3 Порядок выполнения работы

1. Разработать алгоритм для решения поставленной задачи.

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

3. Проверить работоспособность программы на тестовых данных.

4. Сохранить результаты работы. Оформить отчет по лабораторной работе.

Содержание отчета:

  1.  Титульный лист.
  2.  Название лабораторной работы.
  3.  Цель лабораторной работы.
  4.  Ход выполнения работы (включить алгоритм решения задачи; программный код; пример использования программы).
  5.  Выводы по проделанной работе c описанием ошибок, с которыми Вы столкнулись при выполнении лабораторной работы.


 

А также другие работы, которые могут Вас заинтересовать

22527. Расчет динамического коэффициента при ударной нагрузке 140.5 KB
  Скорость ударяющего тела за очень короткий промежуток времени изменяется и в частном случае падает до нуля; тело останавливается. передается реакция равная произведению массы ударяющего тела на это ускорение. Обозначая это ускорение через а можно написать что реакция где Q вес ударяющего тела. Эти силы и вызывают напряжения в обоих телах.
22528. Сопротивление материалов. Введение и основные понятия 40.5 KB
  Прочность это способность конструкции выдерживать заданную нагрузку не разрушаясь. Жесткость способность конструкции к деформированию в соответствие с заданным нормативным регламентом. Деформирование свойство конструкции изменять свои геометрические размеры и форму под действием внешних сил Устойчивость свойство конструкции сохранять при действии внешних сил заданную форму равновесия. Надежность свойство конструкции выполнять заданные функции сохраняя свои эксплуатационные показатели в определенных нормативных пределах в течение...
22529. Метод сечений для определения внутренних усилий 92.5 KB
  Метод сечений для определения внутренних усилий Деформации рассматриваемого тела элементов конструкции возникают от приложения внешней силы. Внутренние усилия это количественная мера взаимодействия двух частей одного тела расположенных по разные стороны сечения и вызванные действием внешних усилий. Здесь {S} и {S } внутренние усилия возникающих соответственно в левой и правой отсеченных частях вследствие действия внешних усилий. Используя общую методологию теоремы Пуансо о приведении произвольной системы сил к заданному центру и...
22530. Эпюры внутренних усилий при растяжении-сжатии и кручении 48.5 KB
  Рассмотрим расчетную схему бруса постоянного поперечного сечения с заданной внешней сосредоточенной нагрузкой Р и распределенной q рис. а расчетная схема б первый участок левая отсеченная часть в второй участок левая отсеченная часть г второй участок правая отсеченная часть д эпюра нормальных сил Рис. В пределах первого участка мысленно рассечем брус на 2 части нормальным сечением и рассмотрим равновесие допустим левой части введя следующую координату х1 рис. Мысленно рассечем его сечением 2 2 и рассмотрим равновесие левой...
22531. Эпюры внутренних усилий при прямом изгибе 87.5 KB
  Рассмотрим пример расчетной схемы консольной балки с сосредоточенной силой Р рис. а расчетная схема б левая часть в правая часть г эпюра поперечных сил д эпюра изгибающих моментов Рис. Построение эпюр поперечных сил и внутренних изгибающих моментов при прямом изгибе: Прежде всего вычислим реакции в связи на базе уравнений равновесия: После мысленного рассечения балки нормальным сечением 1 1 рассмотрим равновесие левой отсеченной части рис. Для правой отсеченной части при рассмотрении ее равновесия результат аналогичен рис.
22532. Понятие о напряжениях и деформациях 80.5 KB
  а вектор полного напряжения б вектор нормального и касательного напряжений уменьшаются главный вектор и главный момент внутренних сил причем главный момент уменьшается в большей степени. Введенный таким образом вектор рn называется вектором напряжений в точке. Совокупность всех векторов напряжений в точке М для всевозможных направлений вектора п определяет напряженное состояние в этой точке. В общем случае направление вектора напряжений рn не совпадает с направлением вектора нормали п.
22533. Свойства тензора напряжений. Главные напряжения 95 KB
  Свойства тензора напряжений. Главные напряжения Тензор напряжений обладает свойством симметрии. Для доказательства этого свойства рассмотрим приведенный в лекции 5 элементарный параллелепипед с действующими на его площадках компонентами тензора напряжений. Отличные от нуля моменты создают компоненты верхняя грань и права грань: После сокращения на элемент объема dV=dxdydz получим Аналогично приравнивая нулю сумму моментов всех сил относительно осей Оу и Ог получим еще два соотношения Эти условия симметрии и тензора напряжений...
22534. Плоское напряженное состояние 98.5 KB
  Тензор напряжений в этом случае имеет вид Геометрическая иллюстрация представлена на рис. Инварианты тензора напряжений равны а характеристическое уравнение принимает вид Корни этого уравнения равны 1 Нумерация корней произведена для случая Рис. Позиция главных напряжений Произвольная площадка характеризуется углом на рис. Если продифференцировать соотношение 2 по и приравнять производную нулю то придем к уравнению 4 что доказывает экстремальность главных напряжений.
22535. Упругость и пластичность. Закон Гука 156 KB
  При высоких уровнях нагружения когда в теле возникают значительные деформации материал частично теряет упругие свойства: при разгрузке его первоначальные размеры и форма полностью не восстанавливаются а при полном снятии внешних нагрузок фиксируются остаточные деформации. Накапливаемые в процессе пластического деформирования остаточные деформации называются пластическими. Твердые тела выполненные из различных материалов разрушаются при разной величине деформации. Соответствующие деформации обозначим через и причем эти деформации...