get data of NaN when using iztrans to get the inverse z transformation

2 views (last 30 days)
Dear all,
There is a Transfer function G(z) = (9.523e-05z^2 + 0.0001905z + 9.523 e-05)/( z^2 -1.904z + 0.9048). I'd like to get the discrete-time equation of of step Response y(k), which I can use in another programming language (in another program ) with different Inputs, given by the the other program (not Matlab). So I multiply X(z) = z/z-1 with G(z) to get Y(z) = (z^3/10501 + 2* z^2/10501 + z/10501) / (z^3 -(30499 * z^2)/10501 + 29499 * z/ 10501 - 9501/10501 ). Then I used iztrans() to get the aimed function y(k) = (82817050*(-1)^k*21^(1/2)*10501^(1 - k)*(- 100*21^(1/2) - 9999)^(k - 1))/734996493 - (82817050*(-1)^k*21^(1/2)*10501^(1 - k)*(100*21^(1/2) - 9999)^(k - 1))/734996493 - (110219500*(-1)^k*9501^k*cos(k*(pi - acos((3333*99770001^(1/2))/33256667))))/(104999499*(99770001^(1/2))^k) + 1. This inverse function is too complicated, even I have trobule to use it. As an examination to proof whether I really can use it. I wrote if i = 1: 200 y(i) = ...y(k) funkction.... plot(i, real (y(i))); hold on; end I can get data of y(i) from 1 to 75. From 76 there are all NaN + NaNi, because from 76, some term is too big and marked as inf. I have tried also Simplify (), the result is the same. And I have checked step (G(z)), it was as good as I expected.
Can somebody help me, how I can adjust y(k) so that I can get the right (all) data of y(k) as showed in step(G(z))? I am appreciated to Hearing from you! Chunya

Answers (0)

Categories

Find more on Special Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!