- •Лабораторная работа № 1
- •Порядок выполнения работы
- •Листинг программы
- •Тестирование пограммы
- •Лабораторная работа №2
- •Порядок выполнения работы
- •Варианты заданий
- •Листинг программы
- •Тестирование программы
- •Лабораторная работа № 4
- •Методические указания
- •Порядок выполнения работы
- •Листинг программы
- •Тестирование программы
Министерство образования и науки РФ
Кузнецкий институт информационных и управленческих технологий
Филиал ПГУ
Кафедра ЕН и ТД
ОТЧЕТ ПО ЛАБОРАТОРНЫМ РАБОТАМ
По дисциплине
«Численные методы»
Выполнили: студенты гр. 10кр1
Швецов А.Н.
Костюньков С.А.
Принял: ст.преподователь
Кафедры ЕН и ТД
Астахова Ю.Н.
2011
Лабораторная работа № 1
Методы решения нелинейных уравнений.
Цель работы: изучение методов решения нелинейных и трансцендентных уравнений.
Метод хорд.
Для нахождения очередного приближения корня, находящегося в интервале [a,b], этот интервал делят в отношении |f(a)|:|f(b)|. Тогда приближенное значение корня определяется по формуле:
.
Выбирается тот из интервалов [a,x] или [х,b], в котором функция меняет свой знак, и процесс уточнения корня повторяется.
Вычисления корня нужно прекратить в том случае, когда выполняется неравенство
,
где , .
Порядок выполнения работы
1. Изучить метод решения нелинейных уравнений, соответствующий Вашему варианту.
2. Разработать программу для решения данного нелинейного уравнения.
3. Решить нелинейное уравнение с точностью = 0,0001.
Варианты заданий 1) 2 cos x -7x = 0 методом хорд,
Листинг программы
program horda;
uses crt;
var xn,xk,x,prib: real;
fx,mm,e,tz,h,fpr,min,max,zz: real;
Label Met1;
Function Fun(fx:real):real;
Begin
Fun:=2*cos(fx)-7*fx;
end;
Function Pr1(x:real):real;
Begin
Pr1:=-2*sin(x)-7;
end;
Begin
clrscr;
e:=0.0001;
Writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
Writeln ('Определение корней нелинейного уравнения метод хорд');
Writeln ('^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^');
Writeln;
Met1: Writeln ('Введите начальное значение диапазона:');
Readln (xn);
Writeln ('Введите конечное значнеие диапазона:');
Readln (xk);
if xk<xn then begin
writeln ('Не правильный диапазон. Повторите попытку'); Goto Met1;
end;
{Определение min и Max}
h:=(xk-xn)/10000;
max:=abs(Pr1(xn));
min:=abs(Pr1(xn));
tz:=xn;
while tz<=xk do begin
fpr:=abs(Pr1(tz));
if max<fpr then max:=fpr;
if min>fpr then min:=fpr;
tz:=tz+h;
end;
writeln ('Максимальное значение первой производной = ',max:5:4);
writeln ('Минимальное значение первой производной = ',min:5:4);
if Fun(xk)*Fun(xn)<0 then
begin
Prib:=abs(Fun(xk)-Fun(xn));
writeln;
writeln ( ' x | Приближение "e"');
writeln ('___________________________');
while abs(prib)>=e do begin
zz:=x;
x:=xn-(fun(xn)/(fun(xk)-fun(xn)))*(xk-xn);
prib:=((max-min)/min)*abs(x-xn);
if fun(xn)*fun(x)<0 then xk:=x;
if fun(x)*fun(xk)<0 then xn:=x;
writeln ( zz:5:4, ' | ', prib:5:5);
end;
Writeln;
Writeln ('** Проверка **');
Writeln ('Значение заданной функции при приближении <=0.0001 при х= ',zz:5:4,' равно ',fun(x):4:3);
end
else Writeln ('Корней в выбранном диапазоне нет');
end.
Тестирование пограммы
Лабораторная работа №2
Методы решения систем линейных уравнений
Цель работы: изучение прямых и итерационных методов решения систем линейных уравнений.
Метод простых итераций.
Cходимость метода гарантируется, если значения диагональных элементов матрицы A превосходят остальные. Метод простых итераций заключается в том, что при заданных начальных приближениях вычисляются последовательные приближения корней по формуле простых итераций
.
Вычисления производят до тех пор, пока , где (j)– номер итерации, – заданная погрешность вычислений.