Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Решение систем линейных уравнений итерационными методами




Нахождение корней нелинейных уравнений

 

В таблице 1 даны варианты заданий алгебраических уравнений вида f(x)=0 (уравнение 1) и трансцендентных уравнений (уравнение 2).

 

Таблица 1

№ варианта Уравнение 1 Уравнение 2
х3 – 3х2 + 9х – 8=0 x – sin x=0,25
х3 –6х – 8=0 tg(0,58x + 0,1)=x2
х3 – 3х2 + 6х +3=0 Öx – cos(0,387x)=0
х3 – 0,1х2 + 0,4х – 1,5=0 tg(0,4x + 0,4)=x2
х3 – 3х2 + 9х +2=0 lg x – 7/(2x+6)=0
х3 + х – 5=0 tg(0,5x + 0,2)=x2
х3 +0,2х2 + 0,5х – 1,2=0 3x-cosx – 1=0
х3 + 3х + 1=0 x + lg x= 0,5
х3 +0,2х2 + 0,5х – 2=0 tg(0,5x + 0,1)=x2
х3 – 3х2 + 12х – 9 =0 x2+4sin x = 0
х3 – 0,2х2 + 0,3х – 1,2=0 ctg 1,05x – x2=0
х3 – 3х2 + 6х – 2=0 tg(0,4x + 0,3)=x2
х3 – 0,1х2 + 0,4х – 1,5=0 xlg x – 1,2=0
х3 + 3х2 + 6х – 1=0 1,8x2 – sin 10x – 0,1=0
х3 +0,1х2 + 0,4х – 1,2=0 ctg x – x/4=0
х3 +4х – 6=0 tg(0,3x + 0,4)=x2
х3 + 0,2х2 + 0,5х +0,8=0 x2 – 20sin x + 1=0
х3 – 3х2 + 12х – 12=0 ctg x – x/3=0
х3 – 0,2х2 + 0,3х +1,2=0 tg(0,47x + 0,2)=x2
х3 –2х +5=0 x2 +4sin x =0

 

 

Требуется:

- Построить на ЭВМ графики функций y=f(x) для локализации корней (в Excel или Mathcad)

- Выбрать любой корень в каждом из уравнений (1) и (2)

- Самостоятельно определить промежуток для уточнения корня

- Вычислить выбранные корни разными методами

- Выяснить вид сходимости в методе итераций (монотонное или двухстороннее приближение к корню).

 

Рекомендация: если в методе итераций получается расхождение (не выполняется условие сходимости), выразите из уравнения f(x)=0 другое Х, например:

 

 

Пример выполнения.

 

Решить уравнения:

 

(1)

(2)

=19,07267; =86,59282; =-237,0059; =-1697,081;

 

с помощью методов: комбинированного, деления пополам, секущих, итераций.

 

Решение.

 

Построим графики исходных функций для определения интервалов нахождения корней.

 

 

 

Составим программу на языке Pascal в среде Delphi 7 для нахождения корней уравнений.

 

unit sss111;

 

interface

 

uses

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

Dialogs, ExtCtrls;

 

type

TForm1 = class(TForm)

Image1: TImage;

procedure Image1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

const a1=19.07267; a2=86.59282;

a3=-237.0059; a4=-1697.081;

a=10; b=12;

var

Form1: TForm1;

x,x2,l,p,f,f2:real;

i:integer;

st:string;

implementation

 

{$R *.dfm}

 

function y(k:real):real;

begin

y:=2*ln(abs(k))-(k/2)+1;

end;

function yp(k:real):real;

begin

yp:=2/abs(k)-1/2;

end;

function yn(k:real):real;

begin

yn:=k*k*k*k+a1*k*k*k+a2*

sqr(k)+a3*k+a4;

end;

function ynp(k:real):real;

begin

ynp:=4*k*k*k+3*a1*sqr(k)+2*a2*k+a3;

end;

function w(k:real):real;

begin

w:=4*ln(abs(k))+2;

end;

function wn(k:real):real;

begin

wn:=(k*k*k*k+a1*k*k*k+a2*sqr(k)+a4)/-a3;

end;

 

procedure TForm1.Image1Click(Sender: TObject);

begin

with Image1.Canvas do

begin

x:=a;

x2:=b;

repeat

x:=x-(y(x)/(y(x2)-y(x)))*(x2-x);

x2:=x2-y(x2)/yp(x2);

until x2=x;

str(x:30:20,st);

textout(10,10,'Комбинированный метод:'+st);

x:=a;

x2:=b;

repeat

x2:=x;

x:=w(x);

until x2=x;

str(x:30:20,st);

textout(10,25,'Метод итераций:'+st);

x:=a;

x2:=b;

repeat

l:=(x+x2)/2;

p:=y(l);

if p=0 then

begin

str(l:30:20,st);

textout(10,40,'Метод половинного деления:'+st);

i:=1;

break;

end else

f:=y(x);

f2:=y(x2);

if f*p<0 then x2:=l

else x:=l;

until x2-x<=0.00000000001;

if i<>1 then begin

str(l:30:20,st);

textout(10,40,'Метод половинного деления:'+st); end;

x2:=b;

x:=x2-y(x2)/yp(x2);

i:=0;

repeat

if frac(i/2)=0 then begin if i=0 then

p:=x2 else p:=x; end;

x:=x-y(x)*(x-p)/(y(x)-y(p));

i:=i+1;

until x-x=0;

str(l:30:20,st);

textout(10,55,'Метод секущих:'+st);

end;

end;

end.

 

Протокол.

 

Для уравнения (1) для первого и второго интервалов соответственно:

 

Для уравнения (2) для первого и второго интервалов соответственно:

 

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

 

1. Графики функций,

2. увеличенный фрагмент графика для пояснения метода решения,

3. таблицы промежуточных значений (в таблицы заносятся изменение интервала [a;b], значения корней, функций и производных в нужных точках, абсолютные погрешности);

4. Относительные погрешности найденных корней Х и абсолютные погрешности функции (отличие от 0) в найденных точках;

5. Выводы.

 

Контрольные вопросы:

1. Перечислите методы отделения корней.

2. Метод половинного деления.

3. Метод хорд.

4. Метод касательных.

5. Упрощенный метод касательных.

6. Комбинированный метод хорд и касательных.

7. Метод секущих.

8. Метод итерации.

9. Что такое функция сжатия?

10. Скорость достижения требуемой точности в разных методах.

11. Надежность методов.

 

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

Решение систем линейных уравнений итерационными методами

 

Решить СЛАУ методом итераций. Варианты заданий приведены в таблице 2:

 

Таблица 2

1). 3,5x1 - 1,7x2 + 2,8x3 = 1,7 5,7x1 + 3,3x2 + 1,3x3 = 2,1 2,1x1 + 5,8x2 + 2,8x3 = 0,8 2). 2,1x1 + 4,4x2 + 1,8x3 = 1,1 0,7x1 - 2,8x2 + 3,9x3 = 0,7 4,2x1 - 1,7x2 + 1,3x3 = 2,8
3). 3,1x1 + 2,8x2 + 1,9x3 = 0, 1,9x1 + 3,1x2 + 2,1x3 = 2,1 7,5x1 + 3,8x2 + 4,8x3 = 5,6 4). 4,1x1 + 5,7x2 + 1,2x3 = 5,8 0,8x1 + 1,1x2 - 2,8x3 = 6,7 9,1x1 - 3,6x2 + 2,8x3 = 9,8
5). 2,7x1 - 0,8x2 + 4,1x3 = 3,2 1,1x1 + 3,7x2 + 1,8x3 = 5,7 3,3x1 + 2,1x2 - 2,8x3 = 0,8 6). 1,9x1 + 1,1x2 + 3,8x3 = 7,8 7,6x1 + 5,8x2 - 4,7x3 = 10,1 1,8x1 - 4,1x2 + 2,1x3 = 9,7
7) 3,2x1 - 8,5x2 + 3,7x3 = 6,5 0,5x1 + 0,34x2 +3,7x3 = -0,24 4,6x1 + 2,3x2 - 1,5x3 = 4,3. 8). 4,2x1 + 6,7x2 - 2,3x3 = 2,7; 5,4x1 - 2,3x2 + 1,4x3 = - 3,5; 3,4x1 + 2,4x2 + 7,4x3 = 1,9.
9). 1,5x1 + 4,5x2 + 1,3x3 = -1,7 2,7x1 - 3,6x2 + 6,9x3 = 0,4 6,6x1 + 1,8x2 - 4,7x3 = 3,8 10). 3,4x1 - 3,6x2 - 7,7x3 = -2,4 5,6x1 + 2,7x2 - 1,7x3 = 1,9 -3,8x1 + 1,3x2 +3,7x3 = 1,2
11). -2,7x1 + 0,9x2 - 1,5x3 = 3,5 3,5x1 - 1,8x2 + 6,7x3 = 2,6 5,1x1 + 2,7x2 + 1,4x3 = -0,1 12). 0,8x1 + 7,4x2 - 0,5x3 = 6,4. 3,1x1 - 0,6x2 - 5,3x3 = -1,5; 4,5x1 - 2,5x2 + 1,4x3 = 2,5;
13). 5,4x1 - 6,2x2 - 0,5x3 = 0,52 3,4x1 + 2,3x2 + 0,8x3 = -0,8 2,4x1 - 1,1x2 + 3,8x3 = 1,8 14). 3,8x1 + 6,7x2 + 2,2x3 = 5,2 6,4x1 + 1,3x2 - 2,7x3 = 3,8 -2,4x1 - 4,5x2 + 3,5x3 = -0,6
15). -3,3x1 + 1,1x2 + 5,8x3 = 2,3 7,8x1 + 5,3x2 + 1,8x3 = 1,8 4,5x1 + 3,3x2 - 3,8x3 = 3,4 16). 3,8x1 + 7,1x2 - 2,3x3 = 4,8 -2,1x1 + 3,9x2 - 6,8x3 = 3,3 8,8x1 + 1,1x2 - 2,1x3 = 5,8
17). 1,7x1 - 2,2x2 - 4,0x3 = 1,8 2,1x1 + 1,9x2 - 2,3x3 = 2,8 4,2x1 + 1,9x2 - 0,1x3 = 5,1 18). 2,8x1 + 3,8x2 – 8,2x3 = 4,5 2,5x1 - 7,8x2 + 3,3x3 = 7,1 6,5x1 - 1,1x2 + 4,8x3 = 6,3
19). 2,3x1 + 0,7x2 + 4,2x3 = 5,8 -2,7x1 + 2,3x2 - 2,9x3 = 6,1 9,1x1 + 4,8x2 - 5,0x3 = 7,0 20). 3,1x1 + 6,8x2 + 2,1x3 = 7,0 -5,0x1 - 4,8x2 + 5,3x3 = 6,1 8,2x1 + 1,8x2 + 5,1x3 = 5,8

 

Пример выполнения

Дана СЛАУ:

 

-93х1-18х2-74х3=5

-14х1-96х2-72х3=-79

-73х1-83х2-92х3=-73

 

Решить СЛАУ методом итераций.

 

Решение.

 

Приведем систему к виду:

 

-93х1-18х2-74х3=5

-14х1-96х2-72х3=-79

-0.8125х1+12.1843х2+18.4205х3=-7.4535

 

Составим программу для решения СЛАУ.

 

uses crt;

label m1;

var

i,j,n,k,r:integer; s:real;

a:array [1..10,1..10] of real;

xc,xn,x:array [1..10] of real;

procedure q;

begin

for i:=1 to n do

begin

s:=0;

begin

for j:=1 to n do

begin

if j=i then continue;

s:=s-a[i,j]*x[j];

end;

x[i]:=(a[i,n+1]+s)/a[i,i];

xn[i]:=x[i];

x[i]:=xc[i];

end;

end;

end;

begin

clrscr;

write('Vvedi kol-vo ur-ij:');

readln(n);

writeln('Vvedi matricj A and B:');

for i:=1 to n+1 do

begin

if i=n+1 then writeln(' B') else

write('A',i:1,' ');

end;

for i:=1 to n do

begin

gotoxy(1,i+3);

for j:=1 to n+1 do

begin

readln(a[i,j]);

gotoxy(7*j,i+3);

end;

end;

writeln;

k:=0; r:=0;

m1: k:=k+1;

repeat

begin

for i:=1 to n do

x[i]:=xc[i];

q;

for i:=1 to n do

xc[i]:=xn[i];

for i:=1 to n do

writeln('x',i:1,'=',x[i]:8:4);

writeln(k:5);

writeln('For exit press "probel"');

if readkey=#13 then

goto m1 else break;

end;

until r=0;

end.

 

 

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





Поделиться с друзьями:


Дата добавления: 2017-02-24; Мы поможем в написании ваших работ!; просмотров: 536 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Не будет большим злом, если студент впадет в заблуждение; если же ошибаются великие умы, мир дорого оплачивает их ошибки. © Никола Тесла
==> читать все изречения...

2575 - | 2263 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.227 с.