Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Chương 4: Trị riêng và vector riê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: Truyen247.Pro

Tags: #leez