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

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 Simulink in Help Center and File Exchange

Tags

Asked:

on 24 Nov 2015

Community Treasure Hunt

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

Start Hunting!