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

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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

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

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

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

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

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

    курсовая работа [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

  • Методика разработки программного модуля для нахождения методом хорд корня уравнения x3-x-0,3=0 с точностью до 0,001 на языке программирования Visual Basic for Application. Схема программного модуля и описание процедуры обработки кнопки "Найти корни".

    курсовая работа [394,0 K], добавлен 08.09.2010

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

    курсовая работа [51,9 K], добавлен 04.02.2009

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

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

  • Реализация решения нелинейного уравнения с заданными параметрами в виде процедуры-подпрограммы. Графический метод отделения корней уравнения. Основные методы уточнения корней уравнения. Описание процедур и функций, общий алгоритм и текст программы.

    курсовая работа [1,7 M], добавлен 27.03.2011

  • Сравнение эффективности программ Excel и Mathcad при решении задач нахождения корней нелинейного уравнения и поиска экстремумов функции. Проведение табулирования функции на заданном интервале. Построение графика двухмерной поверхности в Excel и Mathcad.

    курсовая работа [1,4 M], добавлен 07.05.2013

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

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

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

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

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

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

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

    курсовая работа [1,1 M], добавлен 12.08.2011

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

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

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