컴퓨터 지식 네트워크 - 컴퓨터 구성 - MATLAB은 Lyapunov 방정식을 풀었습니다.

MATLAB은 Lyapunov 방정식을 풀었습니다.

1. 연속 리아푸노프 방정식

연속 리아푸노프 방정식은

라푸노프 방정식의 근원이자 미분방정식의 안정이론으로 표현될 수 있는데, 여기서 C 는 양의 정부호 대칭 n ×n 정사각 행렬이어야 하며, 해는 다음과 같이 증명될 수 있습니다.

gt; A=[1 2 3; 7 8 0]

A =

1 2 3

4 5 6

7 8 0

gt;C=-[10 5 4 7 9]

C; =

-10 -5 -4

-5 -6 -7

-4 -7 -9

gt;gt ; X=lyap(A, C)

0.1111

2. 리아푸노프 방정식의 해석적 해

크론세커 곱의 표현 방법을 사용하면 랴푸노프 방정식은 다음과 같습니다. 다음과 같이 작성됩니다.

function x=lyap2(A, C )

Lyapunov 방정식의 기호 해

n=size(C, 1);

A0=kron(A, 눈(n)) kron(눈(n), A);

c=C(:);

x0=-inv (A0)*c;

x=reshape(x0 , n, n)

gt;gt;A=[1 2 3;4 5 6;7 8 0];

gt;gt;C=-[10 5 4; 5 4 7 9]

gt; (sym(A), Sym(C))

x =

[ -71/18, 35/9, 7/18]

[ 35 /9, -25/9, 2/9]

[7/18, 2/9, -1/9]

3. 이산 랴푸노프 방정식

이산 랴푸노프 방정식의 일반적인 형태는 다음과 같습니다

Matlab 방정식을 풀기 위해 dlyap() 함수가 직접 제공됩니다. 연속 실베스터 방정식으로 변환할 수 있습니다.

실베스터 방정식은 일반화된 리아푸노프 방정식이므로 이산 리아푸노프 방정식은 다음 방법을 사용하여 풀 수도 있습니다.

B=-inv(A' )

C=Q*inv(A' )

X=lyap(A, B, C)

다음은 위에서 설명한 내용을 요약한 것입니다. 지식 포인트:

X=lyap(A, C) 연속 리아푸노프 방정식의 수치해

X=lyap2(A, C) 연속 리아푸노프 방정식의 기호해

X=lyap(A, B, C) 일반화된 리아푸노프 방정식, 실베스터 방정식

X=dlyap(A, Q) or X=lyap(A,-inv(A'), Q*inv( A')) 이산 랴푸노프 방정식

실베스터 방정식 Matlab 실브를 해결하다

에스테르 방정식의 일반적인 형태는 다음과 같습니다.

이 방정식은 일반화된 리아푸노프 방정식이라고도 하며, 여기서 A는 n×n 정사각형 행렬이고, B는 m×m 정사각형 행렬이며, X와 C는 n입니다. ×m 행렬.

Matlab 제어 도구 상자는 이 방정식을 직접 풀 수 있는 lyap() 함수를 제공합니다.

A=[8 1 6 3 4 9 2]

B=[2 3 ; 4 5]

C=[1 2;3 4;5 6]

X=lyap(A, B, C)

A =< / p>

8 1 6

3 5 7

4 9 2

B =

2 3

4 5

C =

1 2

3 4

5 6

X =

0.2011 0.2016

0.0393 0.1554

-0.6428 -0.8966

마찬가지로 우리는 크로네커 곱셈 형식을 사용하여 원본을 수행합니다. 방정식 다음과 같이 변경됩니다

실베스터 방정식의 분석적 해 함수는 다음과 같이 작성될 수 있습니다.

function X=lyap3(A, B, C)

분석적 실베스터 방정식의 해

p>

동적으로 다시 작성됨

추가 정보

If nargin==2, C=B'; ;end

[nr, nc]=size(C);

A0=kron(A, eye(nc)) kron(eye(nr), B');

시도해보세요

C1=C';

X0=-inv(A0)*C1(:);

X=reshape( X0,nc,nr);

catch

error('Matlabsky가 여러분에게 상기시켜 줍니다: 행렬은 특이 행렬입니다!');

end

위 데이터를 사용하여 분석 솔루션을 테스트합니다.

gt;gt;X=lyap3(sym(A),B,C)

9119/14186]

[ 11441/56744, 8817/56744, -50879/56744]

Riccati 방정식의 Matlab 솔루션 Riccati 방정식은 잘 알려진 2차 행렬 형식이며 일반적인 형식은 다음과 같습니다.

행렬의 2차 항이 포함되어 있기 때문입니다. >

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

B=[2 2 -2;-1 5 -2;-1 1 2 ]

C=[5 -4 4; 1 0 4 1 -1 5]

X=are(A , B, C)

A =

-2 1 -3

-1 0 -2

0 -1 -2

B =

2 2 -2

-1 5 -2

-1 1 2

C =

5 -4 4

1 0 4

1 -1 5

X =

>

0.9874 -0.7983 0.4189

0.5774 -0.1308 0.5775

-0.2840 -0.0730 0.6924

MATLAB을 사용하여 랴푸노프 지수를 해결하는 방법에 필요한 LOGISTIC 분석 및 계산 데이터는 초기값에 대한 민감도를 설명하는 데 사용됩니다. 다음은 LYAPUNOV 프로그램을 구하고 싶습니다.

clc

clear

모두 닫기

lambda = 3:5e-4:4;

x = 0.4*ones(1, length(lambda))

N1 = 400; 이전 반복 지점 수

N2 = 100; 후속 반복 지점 수

f = zeros(N1 N2, length(lambda))

p>

for i = 1 :N1 N2

x = 람다 .* x .* (1 - x)

f(i, :) = x; /p>

p>

f = f(N1 1: 끝,:)

plot(lambda, f, 'k.', 'MarkerSize', 1)

xlabel( '\lambda')

ylabel('x');

읽기 천천히, 매우 유용합니다

上篇: 반복을 발음하는 법 下篇: 비보 핸드폰은 안 돼요. 그것을 수리하는 데 얼마의 비용이 듭니까?
관련 내용