Why do I receive an error when I run this code?

1 次查看(过去 30 天)
Why do I receive an error when I run this code?
sys=tf([1],[1 1],'InputDelay',2)
sysd=c2d(sys,0.5)
[num,den]=tfdata(sysd)
num=num2str(num{:})
den=num2str(den{:})
num=poly2sym(num,z)
den=poly2sym(den,z)
num=char(num)
den=char(den)

采纳的回答

Paulo Silva
Paulo Silva 2011-6-9
Bad use of the poly2sym function, you give a string for the first argument but the function expects one array.
Also the z should be like this 'z'
doc poly2sym
Just a tip: num{:} gives you one array, that array can be used by poly2sym
sys=tf([1],[1 1],'InputDelay',2)
sysd=c2d(sys,0.5)
[num,den]=tfdata(sysd)
num=vpa(poly2sym(num{:},'z'),4)
den=vpa(poly2sym(den{:},'z'),4)
nums=char(num)
dens=char(den)
There were some errors, I had to edit the answer several times but I think that now it's all working.
  5 个评论
Paulo Silva
Paulo Silva 2011-6-9
ok I fixed the code again, no more big and precise values, happy now?

请先登录,再进行评论。

更多回答(1 个)

Julián Francisco
My Matlab program says that you have not defined the variable z.

类别

Help CenterFile Exchange 中查找有关 Elementary Math 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by