function [dimension, maxEV, i_max, minEV, i_min, condition] = aufgabe5() tolerance = 1e-10; N = 20; dimension = zeros(N,1); maxEV = zeros(N,1); minEV = zeros(N,1); i_max = zeros(N,1); i_min = zeros(N,1); condition = zeros(N,1); for i = 1:N A = AN(i); dimension(i) = i*i; [links, rechts] = Mises(A, tolerance, i); maxEV(i) = links; i_max(i) = rechts; [links, rechts] = InvIt(A, tolerance, i); minEV(i) = links; i_min(i) = rechts; end % Spektralkonditionszahl condition(:) = maxEV(:) ./ minEV(:); %%% Plot %%% figure(1); plot(dimension, condition, "+") title('Spektralkonditionszahl'); xlabel('Dimension'); ylabel('Spektralkonditionszahl'); [dimension, maxEV, i_max, minEV, i_min, condition] end function result = AN(m) B = 4*eye(m)-diag(ones(m-1,1),1)-diag(ones(m-1,1),-1); result = []; for i = 1:m row = []; for j=1:m if j == i add = B; elseif j == i-1 || j == i+1 add = (-1)*eye(m); else add = zeros(m); end row = [row add]; end result = [result; row]; end result; end %%%%% Aufgabe 1 %%%%% function [result, i] = Mises(A, tolerance, m) x_0 = eye(m^2,1); lambda_iplus1 = 0; lambda_i = 10000000; i = 0; while abs(lambda_iplus1 - lambda_i) > tolerance x_schlange_i = A*x_0; x_i = x_schlange_i/norm(x_schlange_i); lambda_i = lambda_iplus1; lambda_iplus1 = x_schlange_i(1)/x_0(1); x_0 = x_i; i = i + 1; end result = lambda_iplus1; end %%%% Aufgabe 2 %%%%%%% function [result, i] = InvIt(A,tolerance,m) x_0 = eye(m^2,1); lambda_iplus1 = 0; lambda_i = 10000000; i = 0; while abs(lambda_iplus1 - lambda_i) > tolerance x_schlange_i = A\x_0; x_i = x_schlange_i/norm(x_schlange_i); mu_i = x_schlange_i(1)/x_0(1); lambda_i = lambda_iplus1; lambda_iplus1 = 1/mu_i; x_0 = x_i; i = i + 1; end result = lambda_iplus1; end