ay hindi pare-pareho ang ss2tf at tf2ss

D

david753

Guest
Mahal na ginoo, gamitin ko ss2tf function sa matlab. Ang output nito halaga ng input sa tf2ss function na. Ngunit ang resulta ay hindi katumbas sa orihinal na input. (A1, B1, C1, D1) AY HINDI patas sa (A, B, C, D.) Ano ang maling ito? malinaw; A = [0 1 0; 0 0 1; -9 -8 -7]; B = [7; 8; 9]; C = [2 3 4]; D = [0]; [num, den] = ss2tf (A, B, C, D, 1); [a1, B1, C1, d1] = tf2ss (num, den); a1 = -7.0000 -8.0000 -9.0000 1.0000 0 0 0 1.0000 0 B1 = 1 0 0 C1 = 74.0000 -199.0000 -235.0000 d1 = 0
 
May walang mali. Matlab tf2ss algorithm gumamit ng isang makanoniko makinabang sa compute ang num.den (makita ang [url = http://en.wikipedia.org/wiki/State_space_ ng% 28controls% 29] Estado espasyo (kontrol) - Wikipedia, ang libreng encyclopedia [/url] ) Para sa isang naibigay na den.num transfer function na, may umiiral walang katapusan posibleng mga representasyon ng estado ng space. Kaya, ang ABCD at a1b1c1d1 magkaroon ng parehong pagpapaandar transfer. Ang paggamit ng ito, ay na maaari kang magkaroon ng maraming mga iba't-ibang kaayusan na maaari mong ipatupad ang isang ay magbibigay sa iyo ang parehong mga tugon. Upang piliin sa pagitan ng mga iba't-ibang kaayusan, dapat mong gawin sa account ang round-off ang mga epekto ng error vs bilis (ibig sabihin ang ilang mga istraktura ay nangangailangan ng higit pa multiplications, ngunit ay magkakaroon ng mas mahusay na signal sa ingay ratio - ang ilang mga istraktura ay mas matatag kaysa sa iba pa o mas mababa nakalupasay sa overflow, atbp) Kung sa pamamagitan ng "hindi pare-pareho" sabihin mo na tf2ss (ss2tf (x))! = x, ikaw ay kanan. drz
 

Welcome to EDABoard.com

Sponsor

Back
Top