📄 iteration_singular.m
字号:
%%%%%%%%%%%%%%%%%%%%%%
%% Main Function
function Matrix( )
fprintf(' -------------------------------------------- \n');
fid = fopen('matrix.txt', 'r');
A = fscanf(fid, '%5f', [8 8]);
B = fscanf(fid, '%5f', [1 8]);
C = fscanf(fid, '%f', [5 5]);
A = C';
[res, time] = Singulars(A);
res, time
function [res, time] = Singulars( A )
TOL = 1e-5;
i = 1;
check = 0;
dim = size(A);
N = dim(1,1);
lenda_l = cond(A, inf)
lenda_h = cond(A, inf)
E = eye(N);
while( check == 0)
if( det(A - lenda_l*E) * det(A - lenda_h*E) > 0)
lenda_l = lenda_l - TOL*100;
continue;
end
[res(i), time(i)] = Get_result( lenda_l, lenda_h, A, TOL);
lenda_h = lenda_l;
if( i > 3)
break;
end
i = i + 1;
end
function [res,time] = Get_result( lenda_l, lenda_h, A, TOL )
check = 0;
dim = size(A);
N = dim(1,1);
E = eye(N);
len = (lenda_l + lenda_h)/2;
time = 1;
while abs(det(A - len * E)) > TOL
if( det(A - len*E) * det(A - lenda_l*E) < 0)
lenda_h = len;
else
lenda_l = len;
end
len = (lenda_l + lenda_h)/2;
time = time + 1;
end
res = len;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -