پروژه درس محاسبات عددی:
1- حل دستگاه معادلات خطی با روش تکراری ژاکوبی
AX=b
برنامه با متلب:
%program of solving linear eqaution system by itterative method(jackobi
%method
%AX=b
clc;
clear;
% inputing data : A,b
A=input('enter coefficient matrix,A:')
b=input('enter matrix,b:')
a=input('enter first guess:')
n=length(b);
[r c] = size ( A );
if ( c ~= n )
disp ( ' matrix dimensions and vector dimension not equal' )
end
for i=1:n
x(i)=a;
end
eror=1;
k=1;
while eror>0.00001
for i=1:n
s(i)=0;
for j=1:n
s(i)=s(i)+A(i,j)*x(j);
end
end
for i=1:n
R(i)=b(i)-s(i);
xx(i)=x(i)+R(i)/A(i,i);
e(i)=abs(xx(i)-x(i));
end
x=xx;
eror = max ( abs ( e ) );
if eror<0.00001
break
end
k=k+1;
end
for i=1:n
y(i)=xx(i);
end
k
x
Run:
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 1- 0 1 0
1- 4 1- 0 1
0 1 4 1- 0
1 0 1- 4 1-
0 1 0 1- 4
enter matrix,b:[100;100;100;100;100]
= b
100
100
100
100
100
enter first guess:0
0= a
3=x
= k
25.000000000000000 31.250000000000000 25.000000000000000
25.000000000000000 31.250000000000000
enter coefficient matrix,A:[1,0,1;2,4,0;5,8,1]
= A
1 0 1
2 4 0
5 8 1
enter matrix,b:[1;5;7;8]
= b
1
5
7
8
enter first guess:0
0= a
matrix dimensions and vector dimension not equal
enter coefficient matrix,A:[1,1,5;2,7,-5;-1,-2,4]
= A
1 1 5
2 7 -5
1- 2- 4
enter matrix,b:[7;4;1]
b =
7
4
1
enter first guess:0
0= a
373= k
= x
0.999989006621127 1.000006264262147 0.9999947 09894439
>> x(1)+x(2)+5*x(3)
= ans
6.999968820355468
>> eror
= eror
9.419058258908208e-006
>>e
= e
e-005 *1
0.385745114783731 0.941905825890821 0.811974055825449
روش
%program of solving linear eqaution system by itterative method (successive -over(under) relaxation (sor) method)
%method
%AX=b
clc;
clear;
% inputing data : A,b
A=input('enter coefficient matrix,A:')
b=input('enter matrix,b:')
a=input('enter first guess:');
omega=input('enter omega:');
n=length(b);
[r c] = size ( A );
if ( c ~= n )
disp ( ' matrix dimensions and vector dimension not equal' )
end
if omega>=2
disp ( ' this method for omega >= 2 diverge' )
end
g=100000;
for i=1:n
x(i)=a;
end
eror=1;
k=1;
while eror>0.00001
for i=1:n
s(i)=0;
for j=1:i-1
s(i)=s(i)+A(i,j)*x(j);
end
end
for i=1:n
p(i)=0;
for j=i:n
p(i)=p(i)+A(i,j)*x(j);
end
end
for i=1:n
R(i)=b(i)-s(i)-p(i);
xx(i)=x(i)+omega*R(i)/A(i,i);
e(i)=abs(xx(i)-x(i));
x(i)=xx(i);
end
eror = max ( abs ( e ) );
if eror<0.00001
break
end
k=k+1;
end
for i=1:n
y(i)=xx(i);
end
k
y
Run:
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
b =
100
100
100
100
100
enter first guess:0
enter omega:1
3= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
b =
100
100
100
100
100
enter first guess:0
enter omega:.2
68= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
>>eror
= eror
e-006 8.3360
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
= b
100
100
100
100
100
enter first guess:0
enter omega:.4
32= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
>>eror
= eror
8.1797e-006
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
= b
100
100
100
100
100
enter first guess:0
enter omega:.6
19= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
>>eror
= eror
e-0067.9886
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
b =
100
100
100
100
100
enter first guess:0
enter omega:.8
12= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
>>eror
= eror
e-0064.9152
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
b =
100
100
100
100
100
enter first guess:0
enter omega:1
3= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
= b
100
100
100
100
100
enter first guess:0
enter omega:1.2
12= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
>eror
= eror
e-006 9.5232
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
b =
100
100
100
100
100
enter first guess:0
enter omega:1.4
21= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
>>eror
= eror
e-0066.3497
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100
= b
100
100
100
100
100
enter first guess:0
enter omega:1.6
37= k
= y
25.0000 31.2500 25.0000 31.2500 25.0000
>>eror
= eror
e-006 9.4893
enter coefficient matrix,A:[4,-1,0,1,0;-1,4,-1,0,1;0,1,4,-1,0;1,0,-1,4,-1;0,1,0,-1,4]
= A
4 -1 0 1 0
-1 4 -1 0 1
0 1 4 -1 0
1 0 -1 4 -1
0 1 0 -1 4
enter matrix,b:[100;100;100;100;100]
= b
100
100
100
100
100
enter first guess:0
enter omega:1.8
1410= k
= y
NaN NaN NaN NaN NaN
enter coefficient matrix,A:[1,0,1;2,4,0;5,8,1]
= A
1 0 1
2 4 0
5 8 1
enter matrix,b:[1;5;7;8]
= b
1
5
7
8
enter first guess:0
enter omega:1
matrix dimensions and vector dimension not equal
enter coefficient matrix,A:[1,0,1;2,4,0;5,8,1]
= A
1 0 1
2 4 0
5 8 1
enter matrix,b:[1;5;7]
= b
1
5
7
enter first guess:0
enter omega:3
this method for omega >= 2 diverge
enter coefficient matrix,A:[1,1,5;2,7,-5;-1,-2,4]
= A
1 1 5
2 7 5-
1- 2- 4
enter matrix,b:[7;4;1]
= b
7
4
1
enter first guess:0
enter omega:.2
119= k
= y
1.0001 0.9999 1.0000
enter coefficient matrix,A:[1,1,5;2,7,-5;-1,-2,4]
= A
1 1 5
2 7 5-
1- 2- 4
enter matrix,b:[7;4;1]
b =
7
4
1
enter first guess:0
enter omega:.4
61= k
= y
1.0000 1.0000 1.0000
enter coefficient matrix,A:[1,1,5;2,7,-5;-1,-2,4]
= A
1 1 5
2 7 -5
-1 -2 4
enter matrix,b:[7;4;1]
= b
7
4
1
enter first guess:0
enter omega:.6
= k
41
= y
1.0000 1.0000 1.0000
enter coefficient matrix,A:[1,1,5;2,7,-5;-1,-2,4]
= A
1 1 5
2 7 -5
-1 -2 4
enter matrix,b:[7;4;1]
b =
7
4
1
enter first guess:0
enter omega:.8
43= k
= y
1.0000 1.0000 1.0000
روش گاوس سایدل
enter coefficient matrix,A:[1,1,5;2,7,-5;-1,-2,4]
= A
1 1 5
2 7 -5
-1 -2 4
enter matrix,b:[7;4;1]
= b
7
4
1
enter first guess:0
enter omega:1
= k
373
1.0000 1.0000 1.0000= y