### Assistant work, MI: added solution code for serie2

parent 1b62726f
 %% Vecteurs propres en dimension une n = 100; % discretization x = linspace(0,1,n+2)'; % interval unitaire k = 5; % nombre des vecteurs propres Dex = -(1:k).^2 * pi^2; % valeurs propres exactes Vex = sin(x * sqrt(-Dex)); % vecteurs propres exacts L = Laplacian1D(n); % Laplacien discret en dim. 1 [V,D] = eigs(L,k,'smallestabs'); % val./vect. propres discrets V = V./abs(max(V)).*sign(V(1,:)); % normalization figure(1) % comparison de valeurs propres plot(1:k,diag(D),'r*',1:k,Dex,'bo') xlabel('# de valeur propre') ylabel('Valeur propre') legend('Lap. discret','Lap. exact') figure(2) % comparison de vecteurs propres plot(x(2:end-1),V,'r.',x,Vex,'b--') xlabel('x') ylabel('Vecteurs propres') axis([0,1,-1,1]) %% Vecteurs propres en dimension deux n = 20; % discretization x = linspace(0,1,n+2)'; % carr'e unitaire k = 2; % nombre des vecteurs propres Dex = -(1:k).^2 * pi^2; % valeurs propres en dim. 1 Vex = sin(x * sqrt(-Dex)); % vecteurs propres en dim. 1 Dex = kron(Dex,ones(1,k)) + kron(ones(1,k),Dex); [Dex,ind] = sort(Dex,'descend'); % valeurs propres exactes et tri'e Vex = kron(Vex,Vex); Vex = Vex(:,ind); % vecteurs propres exacts et tri'e L = Laplacian1D(n); I = speye(n); L = kron(I,L) + kron(L,I); % Laplacien discret en dim. 2 [V,D] = eigs(L,k^2,'smallestabs'); % val./vect. propres discrets V = V./abs(max(V)).*sign(V(1,:)); % normalization figure(1) % comparison de valeurs propres plot(1:k^2,diag(D),'r*',1:k^2,Dex,'bo') xlabel('#') ylabel('Valeur propre') legend('Lap. discret','Lap. exact') figure(2) % les vecteurs propres exacts for i = 1:k^2 subplot(k,k,i) surf(x,x',reshape(Vex(:,i),n+2,n+2)) end figure(3) % les vecteurs propres discrets for i = 1:k^2 subplot(k,k,i) surf(x(2:end-1),x(2:end-1)',reshape(V(:,i),n,n)) end \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!