Ćwiczenie 2 (5) doc


Ćwiczenie 2- Eliminacja Gaussa-Jordana

W środowisku Matlab opracować funkcje realizującą eliminacje Gaussa-Jordana. Przeprowadzić obliczenia dla następujących układów równań

a)

x1 + x2 + 3x3 =a

2x1 + 2x2 + x3 =b

2x1 + 3x2 + x3 =c

x1 + x2 + x3 =2

b)

2x1 + x2 + x3 + =5

x1 + 2x2 + x3 + x4 =6

2x1 + 2x2 =4

x1 + x2 + 2x3 + x4 =7

c)

2x1 + x2 + x3 =a

x1 + 2x2 + x3 + x4 =b

2x1 + 2x2 =1

x1 + x2 + 2x3 + x4 =c

a - ilość liter w nazwisku

b - ilość liter w imieniu

c=a/b

d)

10-9x1 + x2 + 2x3 =3

3x1 + 2*10-6x2 + 10-7x3 =10-3

108x1 + 5x2 + x3 =10

Porównać wyniki otrzymane przy użyciu metody z wyborem elementu podstawowego i bez dla układów równań b i d.

Przykładowy skrypt realizujący algorytm eliminacji Gaussa-Jordana bez wyboru elementu podstawowego.

function [X]=gj(Ab);

[ia,ja]=size(Ab);

col_indx=[1:ja];

if(ia+1<=ja)

ja=ia;

end;

il_op=min([ia, ja]);

for i=1:il_op

% poszukuje elementu centralnego

indx=i;

if(abs(Ab(i, indx)) < 10^-14)

disp('Blad')

pause

break

end

Ab(i,:)=Ab(i,:)/Ab(i,indx);

rozm=length(col_indx);

tmp=ones(ia,1)*Ab(i,col_indx);

tmp= tmp .* (-Ab(:,indx)*ones(1,rozm));

tmp(i,:)=zeros(1,rozm); % nie chce zmieniac aktualnego wiersza

Ab(:,col_indx)=Ab(:,col_indx)+tmp;

col_indx(find(col_indx==indx))=[];

end%for

X=Ab;



Wyszukiwarka

Podobne podstrony:
Ćwiczenie? doc
Ćwiczenie? doc
ćwiczenie 9 doc
Ćwiczenie 4 (2) doc
Uczymy się bawić oraz wykonywać ćwiczenia doc
ćwiczenia (3) doc
Ćwiczenie 2 (3) doc
ćwiczenie 6 doc
ćwiczenie 8 (2) doc
Ćwiczenie 5 (2) doc
Ćwiczenie 8 doc
ćwiczenie 3 doc
ĆWICZE~2 DOC
Cwiczenie4 doc
Informatyka Laboratorium MS Word ćwiczenie 2 DOC
CWICZENIE 4 DOC
Wytrzymałość ćwiczenie 5 DOC

więcej podobnych podstron