Математическая постановка задачи нахождения корня нелинейного уравнения

Принципы разработки математических моделей, алгоритмов и программ. Нахождение значения корней нелинейного уравнения. Метод секущих (модификация метода Ньютона). Описание входной и выходной информации. Построение графика и место поиска корня уравнения.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 08.07.2014
Размер файла 435,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Математическая постановка задачи нахождения корня нелинейного уравнения

Математическая постановка задачи

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

.

Метод секущих (модификация метода Ньютона) является двухшаговым. Применяется если функция задана таблично. Выражаем производную через конечную разность:

;

;

(1)

Вычисления продолжаются до тех пор, пока выполняется условие:

Описание входной и выходной информации

В окне программы вводятся заданные действительные значения: а=0,5; в=0,1; е=0,001, также мы выбрали интервал на оси . Уравнение

приводим к виду и прописываем в тексте программы:

f := sin(a*(x*x)+b)/cos(a*(x*x)+b)-x*x; //

Задание функции

По заданной функции, нажатием на соответствующую кнопку, строим график. На экран выводится график функции. Согласно графику выбираем два значения близкие к корню уравнения и вносим их в соответствующие окна программы . При нажатии на кнопку "Решение" программа производит вычисление корня по формуле:

В окне "ListBox" выводится значение корня уравнения и количество потребовавшихся итераций для его вычисления.

Блок - схема метода математический уравнение корень нелинейный

Распечатка текста программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, TeeProcs, TeEngine, Chart, Series;

type

TForm1 = class(TForm)

Button1: TButton;

ListBox1: TListBox;

LabeledEdit2: TLabeledEdit;

LabeledEdit3: TLabeledEdit;

Chart1: TChart;

Series1: TLineSeries;

Button2: TButton;

LabeledEdit4: TLabeledEdit;

LabeledEdit5: TLabeledEdit;

LabeledEdit6: TLabeledEdit;

Button3: TButton;

LabeledEdit1: TLabeledEdit;

LabeledEdit7: TLabeledEdit;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const n=100;

var

Form1: TForm1;

a,b,x0,x1,x2,e,xn,xk,dx:real; // Объявление переменных

count:integer; // Объявление переменных

implementation

{$R *.dfm}

function f (x : real) : real; // Задание функции

begin

f := sin(a*(x*x)+b)/cos(a*(x*x)+b)-x*x; // Задание функции

end;

{Вычисление значения функции}

procedure TForm1.Button1Click(Sender: TObject);

begin

count := 0; {Счетчик итераций}

e:=strtofloat(labelededit3.text);

x1:=strtofloat(labelededit4.text);

x2:=strtofloat(labelededit7.text);

Repeat

inc(count); // Инкремент счётчика

x0 := x1;

x1 := x2;

x2 := x1-(f(x1)*(x1-x0))/(f(x1)-f(x0));

until abs(x2-x1) < e; {Условие окончания счета}

ListBox1.Items.Add('корень равен '+floattostr(x2)); // Вывод решения на экран

ListBox1.Items.Add('количество итераций '+floattostr(count)); // Вывод колличеста итераций на экран

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

a:=strtofloat(labelededit1.text);

b:=strtofloat(labelededit2.text);

xn:= strtofloat(labelededit5.text);

xk:= strtofloat(labelededit6.text);

chart1.BottomAxis.automatic:=false; // Отключаем автоматическое определение параметров осси аргументов

chart1.bottomaxis.minimum:=xn; // Минимальное значение

chart1.bottomaxis.maximum:=xk; // Максимальное значение

dx:=(xk-xn)/n;

for count:=0 to n do // По точкам строим график в цикле

begin

series1.AddXY(xn+dx*count,f(xn+dx*count),'',clteecolor);

end;

end;

end.

Результат работы программы

На рисунке 1 изображено окно программы после запуска.

Рисунок 1. окно программы после запуска

На рисунке 2 изображено окно программы после нажатия на кнопку "Построить график".

Рисунок 2. После нажатия на кнопку "Построить график".

После постройки графика, необходимо ввести приблизительное место поиска корня уравнения, вводя значения х 1 и х 2(рис.3).

Рисунок 3. Ввод значений х 1 и х 2 (х 1=-2, х 2=1).

После нажатия на кнопку "Решение" появится найденный корень уравнения и количество итераций (рис.4).

Рисунок 4. Решение ("корень равен 0,4534... количество итераций 9").

Проверка корректности работы ПО

Проверка осуществляется в программе "mathcad".

На рисунке 5 изображено окно программы "mathcad", в которой выполнено решение данного нелинейного уравнения.

Рисунок 5. Решение нелинейного уравнения.

Размещено на Allbest.ru


Подобные документы

  • Анализ метода касательных (метода секущих Ньютона), аналитическое решение нелинейного уравнения. Описание алгоритма решения задачи, пользовательских идентификаторов, блок-схем, программного обеспечения. Тестирование программы на контрольном примере.

    курсовая работа [97,1 K], добавлен 10.01.2014

  • Принципы разработки математических моделей, алгоритмов и программ. Составление программы вычисления функции с использованием нестандартных функций. Нахождение значения корней нелинейного уравнения по методу касательных. Программа для вычисления интеграла.

    курсовая работа [568,3 K], добавлен 07.03.2015

  • Отделение действительных корней нелинейного уравнения. Метод хорд и касательных (Ньютона), геометрическая интерпретация. Графическая схема алгоритма. Описание реализации базовой модели в MathCAD. График сравнения числа итераций в зависимости от точности.

    курсовая работа [2,0 M], добавлен 16.05.2013

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

    курсовая работа [521,3 K], добавлен 09.07.2017

  • Этапы численного решения нелинейных уравнений заданного вида: отделение (изоляция, локализация) корней уравнения аналитическим или графическим способами, уточнение конкретного выделенного корня методом касательных (Ньютона). Решение в системе MathCad.

    курсовая работа [271,6 K], добавлен 22.08.2012

  • Математическое описание, алгоритм и программа вычисления нелинейного уравнения методом дихотомии. Метод половинного деления. Метод поиска корней функции. Написание текста программы с комментариями. Проведение тестовых расчетов. Вывод ответа на экран.

    курсовая работа [67,2 K], добавлен 15.02.2016

  • Определение недостатков итерационного численного способа нахождения корня заданной функции (метод Ньютона). Рассмотрение основ математического и алгоритмического решения поставленной задачи, ее функциональной модели, блок-схемы и программной реализации.

    курсовая работа [364,8 K], добавлен 25.01.2010

  • Применение методов касательных (Ньютона) и комбинированного (хорд и касательных) для определения корня уравнения. Разработка алгоритма решения и его описание его в виде блок-схем. Тексты программ на языке Delphi. тестовый пример и результат его решения.

    курсовая работа [923,7 K], добавлен 15.06.2013

  • Проверить условие сходимости и записать расчетные формулы для нахождения корня уравнения. Составить блок-схему алгоритма, программу решения задачи. Вычисления определенного интеграла методом Симпсона. Построить график функции Y=1/sqr(3sin(x)+2cos(x)).

    курсовая работа [29,6 K], добавлен 02.10.2008

  • Использование повторяющегося процесса. Нахождение решения за определенное количество шагов. Применение метода хорд и метода простой итерации. Методы нахождения приближенного корня уравнения и их применение. Построение последовательного приближения.

    курсовая работа [849,1 K], добавлен 15.06.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.