필터 지우기
필터 지우기

I need to input a matrix of size 2x2 which is something like this A= [ 1 - 1.8629z-1 + 0.8669z-2 , 0 ; 0 , 1 -1.8695z-1 + 0.8737z- 2 ] which is a 2x2 Matrix

조회 수: 4 (최근 30일)
I need to input this into my Code.
  댓글 수: 2
Nithyaananth
Nithyaananth 2024년 3월 29일
Basically, the first matrix is the discretized transfer functions for a 2 input and 2 output system. Next to get A(z^-1) = [(den11)*(den12) 0; 0 (den21)*(den22)] this has to be done.

댓글을 달려면 로그인하십시오.

답변 (2개)

John D'Errico
John D'Errico 2024년 3월 29일
편집: John D'Errico 2024년 3월 29일
So do it. What is the problem? If z is known, then just type it in, pretty much as written.
Do you know how to raise a number to a power? Actually, z^-1 is just 1/z, a far simpler way to write the power. For example:
z = 1.5;
A = [1-1.8629/z + 0.8669/z^2, 0; ...
0, 1 - 1.8695/z + 0.8737/z^2]
A = 2×2
0.1434 0 0 0.1420
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
If all of this seems foreign to you, then you STRONGLY need to start with the basics of MATLAB. Do the MATLAB Onramp. And there are other basic MATLAB tutorials to be found.
  댓글 수: 1
Nithyaananth
Nithyaananth 2024년 3월 29일
Z is not known here,
Basically, the first matrix is the discretized transfer functions for a 2 input and 2 output system. Next to get A(z^-1) = [(den11)*(den12) 0; 0 (den21)*(den22)] this has to be done.

댓글을 달려면 로그인하십시오.


Torsten
Torsten 2024년 3월 29일
Define A as a function of z:
A = @(z)[1-1.8629*z,0;0,1-1.8695*z+0.8737*z^2];
A(2)
ans = 2x2
-2.7258 0 0 0.7558
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
or as a symbolic matrix
syms z A(z)
A(z) = [1-1.8629*z,0;0,1-1.8695*z+0.8737*z^2];
A(2)
ans = 

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by