📄 sormain.m
字号:
function main
clear all
format long
max=100;
eps=1.0e-8;
w=0.9258;
x0=zeros(4,1);
for k=1:max
A=f1;
b=g1;
n=size(A);
fs=0;
for i=1:n
p=0;
q=0;
for j=1:(i-1)
p=p+A(i,j)*x(j);
end
for j=i:n
q=q+A(i,j)*x0(j);
end
dx=w*(b(i)-p-q)/A(i,i);
x(i)=x0(i)+dx;
fs=abs(x(i)-x0(i))+fs;
x0(i)=x(i);
end
sprintf('第%d次迭代结果:\n',k)
x
dx
if(fs<eps)
break
end
end
function y=f1
y=[5 -2 -1 -1;-1 10 -1 -1; -1 -1 5 -1;-1 -1 -1 10];
function z=g1
z=[-4 12 8 34]';
function y=f2
%w=0.9258;
y=[1 2 1 4;2 4 0 3 ;4 2 2 1; 3 1 3 2];
function z=g2
z=[13 28 20 6]';
function A=f32
%老师的第三题写法
A=zeros(50,50);
A(1,1:3)=[12 -2 1];
A(2,1:4)=[-2 12 -2 1];
A(49,47:50)=[1 -2 12 -2];
A(50,48:50)=[1 -2 12];
for i=3:48,
A(i,i-2)=1;
A(i,i-1)=-2;
A(i,i)=12;
A(i,i+1)=-2;
A(i,i+2)=1;
end
function y=f3
y=zeros(50,50);
y(1,1)=12;y(1,2)=-2;y(1,3)=1;y(2,1)=-2;y(2,2)=12;y(2,3)=-2;y(2,4)=1;
y(49,47)=1;y(49,48)=-2;y(49,49)=12;y(49,50)=-2;y(50,48)=1;y(50,49)=-2;y(50,50)=12;
for i=3:48
y(i,i-2)=1;y(i,i-1)=-2;y(i,i)=12;y(i,i+1)=-2;y(i,i+2)=1;
end
function z=g3
h=ones(50,1);
z=h*5;
function y=f4
y=[0.78 -0.02 -0.12 -0.14;-0.02 0.86 -0.04 0.06;-0.12 -0.04 0.72 -0.08;-0.14 0.06 -0.08 0.74];
function z=g4
z=[0.76 0.08 1.12 0.68]';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -