Chương 4: Trị riêng và vector riêng

Màu nền
Font chữ
Font size
Chiều cao dòng

M-file

1.     Tìm hệ số của đa thức đặc trưng của  ma trận vuông theo krylov --- P1

2.     Tìm hệ số ma trận đặc trưng của ma trận vuông theo phương pháp Leverier --- P1

3.      Tìm vecto riêng tương ứng của ma trận theo phương pháp Krylov V=EigVec(A,L) --- P1

4.     Tìm trị riêng có modul lớn nhất đó và vecto riêng tương ứng của ma trận vuông A [L,V]=MaxEig(A) --- P1

B- Nội trú

 Bài 1: Tìm 3 trị riêng có modul lớn nhất và 2 nhỏ nhất của Ma trận Ma phương cấp 30 --- P2

 Bài 2: Tính hệ số của đa thức đặc trưng, chuẩn và số đk loại 2; 2 trị riêng có modul lớn nhất của Ma trận Hilbert cấp 20 --- P2

Bài 3: Tính hệ số của đa thức đặc trưng, các trị riêng và vector riêng tương ứng của các ma trận --- P2

Bài 4:Tính hệ số của đa thức đặc trưng, chuẩn và số điều kiện loại + vô cùng của ma trận vuông cấp 50 --- P2

Bài 5: Tìm ma trận P làm chéo hóa ma trận --- P2

Bài 6: Tìm ma trận P làm chéo hóa trực giao ma trận --- P2

====================

A – M-file

1.     Tìm hệ số của đa thức đặc trưng của ma trận vuông theo krylov

%Cai dat ham krylov tinh he so cua da thuc dac trung

function x = krylov(A)

[m,n] = size(A);

if m~=n

    disp('??? Error using ==> krylov');

    disp('The input matrix must be square');

else

    B = zeros(n,n);

    v = zeros(n,1);

    v(1) = 1;

    B(:,1) = v;

    for i = 2:n

        v = A*v;

        B(:,i) = v;

    end

    c = A*v;

    x = -B\c;

    x(n+1) = 1;

end

2.     Tìm hệ số ma trận đặc trưng của ma trận vuông theo phương pháp Leverier

%ham leverie de tinh he so da thuc dac trung cua ma tran A

function x = leverier(A)

[m,n] = size(A);

if m~=n

    disp('???Error using ==> leverie');

    disp('The input matrix must be square');

else

    s = zeros(1,n);

    p = ones(1,n+1);

    for i = 1:n

        t = 0;

        for j = 1:i-1

            t = t + p(j) * s(i-j);

        end

        p(i) = -(sum(diag(A^i)) + t)/i;

        s(i) = sum(diag(A^i));

        x(i+1) = p(i);

    end

    x(1) = 1;

end

3.      Tìm vecto riêng tương ứng của ma trận theo phương pháp Krylov V=EigVec(A,L)

%Tim vector tuong ung voi tri rieng L da co

function x = EigVect(A,L)

[m,n] = size(A);

if m~=n

    disp('???Error using ==> EigVect');

    disp('The input matrix must be square');

    x = NaN*ones(n,1);

else

    p = poly(A);

    q(1) = 1;

    for i = 2:n

        q(i) = L*q(i-1) + p(k);

    end

    x = rand(n,1);

    x = polyval(q,A)*x;

    x = x/norm(x);

end

4.     Tìm trị riêng có modul lớn nhất đó và vecto riêng tương ứng của ma trận vuông A [L,V]=MaxEig(A)

function [V,L]=maxeig(A)

    [m n]=size(A);

    if(m~=n)

        disp('Matrix must be sqare');

    else

        x=rand(n,1);

        B=A;

        L=(A*x)'*x/(x'*x);

        L1=realmax;

        while abs(L-L1)>1e-12

            L1=L;

            B=B*B;

            x=B*x;

            x=x/norm(x);

            L=(A*x)'*x/(x'*x);

        end

        V=x;

    end

end

 B – Nội trú

Bài 1: Tìm 3 trị riêng có modul lớn nhất và 2 nhỏ nahtas của Ma trận Ma phương cấp 30

>> A=magic(30);

>> [V,D,F]=eigs(A,3,'LM')

>> [V,D,F]=eigs(A,2,'SM')

Bài 2: Tính hệ số của đa thức đặc trưng, chuẩn và số đk loại 2; 2 trị riêng có modul lớn nhất của Ma trận Hilbert cấp 20

>> A=hilb(20);

>> p=poly(A) //tính hệ số của đa thức đặc trưng

>> [V,D,F]=eigs(A,2,'LM')//timg modul lớn nhất

>>C=norm(A,2) //tìm chuẩn loại 2

>>C=norm(A,inf) //tìm chuẩn loại vô cùng

>>C=norm(A,1) //tìm chuẩn loại 1

>> dk=cond(A,2)//số điều kiện loại 2

Bài 3: Tính hệ số của đa thức đặc trưng, các trị riêng và vector riêng tương ứng của các ma trận

>> A=[0 1 3 4;2 0 1 3;3 1 0 2;1 3 2 0];

>> B=[1 -1 5 0;2 3 0 8;3 1 6 7;9 0 7 2];

>> C=[1 1 -3 4;1 1 -2 3;3 2 1 -5;4 3 -5 1];

>> pA=poly(A)

>> pB=poly(B)//tìm hệ số của đa thức đặc trưng

>>pC=poly(C)

>> [V,D]=eig(A) //tìm trị riêng và vetor riêng

>> [V,D]=eig(B)

>> [V,D]=eig(C)

Bài 4:Tính hệ số của đa thức đặc trưng, chuẩn và số điều kiện loại + vô cùng của ma trận vuông cấp 50

>> A=4*eye(50);

>> B=ones(49,1);

>> A=A+2*diag(B,1)+diag(B,-1);

>> C=norm(A,inf)

 C = 7

>> DK=cond(A,inf)

 DK = 7.0000

Bài 5: Tìm ma trận P làm chéo hóa ma trận

>> A=[2 -1 0 3;1 1 2 -1;-1 2 3 1;0 1 2 1];

>> B=[3 1 1 1;1 3 1 1;1 1 3 1;1 1 1 3];

>> [p,D]=eig(A) //p là ma trận chéo hóa ma trận A tương tự đối với B

 p =

    0.4932    0.1583    0.8752   -0.6667

    0.3768    0.8291    0.4376   -0.6667

    0.6096   -0.5124   -0.1459    0.3333

    0.4932    0.1583    0.1459    0.0000

 D =

    4.2361         0         0         0

         0   -0.2361         0         0

         0         0    2.0000         0

         0         0         0    1.0000

 >> [p,D]=eig(B)

Bài 6: Tìm ma trận P làm chéo hóa trực giao ma trận

>> A=[2 -1 -1;-1 2 -1;-1 -1 2];

>> B=[1 2 3 4;2 1 2 3;3 2 1 2;4 3 2 1];

>> [p,D]=eig(A)

 p =

    0.5774    0.2673    0.7715

    0.5774   -0.8018   -0.1543

    0.5774    0.5345   -0.6172

 D =

   -0.0000         0         0

         0    3.0000         0

         0         0    3.0000

>> [p,D]=eig(B)

Bạn đang đọc truyện trên: Truyen2U.Pro

#leez