Автор работы: Пользователь скрыл имя, 20 Марта 2012 в 17:00, курсовая работа
Существует множество методов, позволяющих находить корни нелинейных уравнений, используя приближенные вычисления. Одним из них является метод секущих.
Метод решает уравнение вида f(x)=0. Если уравнение имеет несколько корней необходимо несколько раз использовать метод, задав различные начальные приближения. Заменив производную, f’(xn) разностью последующих значений функции, отнесенной к разности значений аргумента.
Задание:3
Введение4
Разработка проекта5
Разработка программы6
Результат9
Заключение..10
Список литературы..
Министерство образования и науки Российской Федерации
ГОУ ВПО
«Пензенский Государственный
Кафедра «Экономическая кибернетика.»
Курсовая работа
По дисциплине «Программирование»
На тему:
«Программирование численных методов.
Нахождение корней нелинейного уравнения
методом секущих»
Выполнил:
Проверила:
Пенза 2011.
Содержание
Задание:3
Введение4
Разработка проекта5
Разработка программы6
Результат9
Заключение..10
Список литературы..11
Задание:
Программирование численных
Существует множество методов, позволяющих находить корни нелинейных уравнений, используя приближенные вычисления. Одним из них является метод секущих.
Метод решает уравнение вида f(x)=0. Если уравнение имеет несколько корней необходимо несколько раз использовать метод, задав различные начальные приближения. Заменив производную, f’(xn) разностью последующих значений функции, отнесенной к разности значений аргумента.
Получим следующую итерационную формулу
Расчет по итерационной формуле заканчивается, когда два последних приближения xn и хn+1 станут достаточно близкими
|xn-xn+1|< ε
или когда |f(xn)|< ε
Необходимо написать программу на языке программирования в Borland c++. Программа должна вычислять функцию 2х+cos(x)+4=0
Введение:
Целью курсовой работы - получение навыков разработки программы в соответствии с принципами структурного программирования, рассмотренными в процессе изучения, на основе создания программы решения нелинейных уравнений методом секущих.
Основным значением программы
является легкость нахождения корней
нелинейного уравнения. Метод секущих
подразумевает сложные расчеты,
однако благодаря созданному продукту
пользователю остается только ввести
начальные приближения и
Разработка проекта
1.Вводимые данные - Х0, Х1, ε. Выводимые данные – X1. На основе вводимых данных программа считает значения f(x), , X2. После переменной Х1 присваивается значение Х2.
2.Алгоритм решения
3.Данные вводимые с клавиатуры: Х0, Х1, ε – вещественные переменные, delta, X2, F1, F2 – вещественные переменные, вычисляются при выполнении программы, m – целочисленная переменная, используется для проверки вводимых данных.
Ход работы:
Программа:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#define DATA_ERROR "\n Vvedeni nekorrektnie dannie"
#define EPSOSH "\n Znachenie epsilant tol'ko bolshe 0"
#define PRESS "\n Dlya zavershenia nazhmite lyubuy klavishu"
#define RAVNZNACH "\n Priblizheniya ne mogut bit ravni"
#define EXIT; getch(); exit(0);
void main()
{
float X0, X1, EPS, X2, DELTA;
clrscr();
printf("\n Vvedite znachenie X0=");
int m=scanf("%f", &X0);
if (m!=1)
{
printf (DATA_ERROR);
printf (PRESS);
EXIT
}
printf ("Vvedite znachenie X1=");
m=scanf("%f", &X1);
if (m!=1)
{
printf (DATA_ERROR);
printf (PRESS);
EXIT
}
if (X1==X0)
{
printf (RAVNZNACH);
printf (PRESS);
EXIT
}
printf ("Vvedite znachenie EPS=");
m=scanf("%f",&EPS);
if (m!=1)
{
printf (DATA_ERROR);
printf (PRESS);
EXIT
}
if ( EPS==0 || EPS<0 )
{
printf(EPSOSH);
printf(PRESS);
EXIT
}
while (fabs(X0-X1) > EPS )
{
DELTA=(pow(2,X1)+cos(X1)+4-
X2=X1-(pow(2,X1)+cos(X1)+4)/
printf ("\n X2 %8.4f DELTA %8.4f",X2,DELTA);
X0=X1;
X1=X2;
}
printf ("\n Poluchenni rezultat=%8.4f",X1);
printf (PRESS);
getch();
}
Тестируемые данные:
X1=6
ε=0,001
X1=5
X1=50
ε=0,00
X1=kurs
3.1
3.2
3.3
3.4
Заключение:
Исходная формула - 2х+cos(x)+4=0.В процессе выполнения работы я научился самостоятельно разрабатывать программы и пользоваться циклом, использовать проверку вводимых данных, а также метод секущих. Составленная мною программа работает корректно.
Список литературы:
2006 г.