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

1 visualizzazione (ultimi 30 giorni)
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)

Risposta accettata

Paulo Silva
Paulo Silva il 9 Giu 2011
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 Commenti
Paulo Silva
Paulo Silva il 9 Giu 2011
ok I fixed the code again, no more big and precise values, happy now?
sadel
sadel il 9 Giu 2011
hahaha yes, thank you very much!!!!

Accedi per commentare.

Più risposte (1)

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

Categorie

Scopri di più su Elementary Math in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by