How to enter vector coefficients to z-transform
조회 수: 8 (최근 30일)
이전 댓글 표시
I have this z-tf:
Hz = g *(1 + 2*z^-1 + z^-2) / ( 1 + a1*z^-1 + a2*z^-2)
where g = [2,2.2,2.3] , a1 = [2, 5,8] and a2 =[ 1,0.3,0.4]
how can I get all 4's Hz (TF) directly by using the vector coeficients?
댓글 수: 2
Paul
2023년 11월 20일
Hi TeraWatt,
Seems like there should only be three transfer functions.
What is the desired form? A single system with three inputs and three outputs? An 3-element array of single-input/single-outpu transfer functions? Something else?
채택된 답변
Walter Roberson
2023년 11월 20일
편집: Walter Roberson
2023년 11월 20일
z = tf('z')
g = [2,2.2,2.3] .';
a1 = [2, 5,8] .';
a2 =[ 1,0.3,0.4] .';
HZ = arrayfun(@(G,A1,A2) G * (1 + 2*z^-1 + z^-2) / ( 1 + A1*z^-1 + A2*z^-2), g, a1, a2, 'uniform', 0);
HZ = vertcat(HZ{:})
추가 답변 (1개)
Paul
2023년 11월 21일
g = [2,2.2,2.3];
a1 = [2, 5,8];
a2 =[ 1,0.3,0.4];
HZ = tf(zeros(3),'Ts',-1);
for ii = 1:3
HZ(ii,ii) = tf(g(ii)*[1 2 1],[1 a1(ii) a2(ii)],-1,'Variable','z^-1');
end
HZ
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!