Error using c2d extraction for block initialization
显示 更早的评论
if order == 2
sys1 = tf([1], [1/(omega^2) 1.4142/omega 1]);
d_sys = c2d(sys1,Ts);
x = d_sys.num{1} %%error is here
y = d_sys.den{1} %%error is here
set_param([gcb '/filter_1'], 'SampleTime', 'Ts');
set_param([gcb '/filter_1'],'Numerator', 'x', 'Denominator', 'y')
elseif order == 1
sys1 = tf([1], [1/omega 1]);
d_sys = c2d(sys1,Ts);
x = d_sys.num{1} %%error is here
y = d_sys.den{1} %%error is here
set_param([gcb '/filter_1'], 'SampleTime', 'Ts', 'Numerator','x','Denominator', 'y');
else
fprintf('Error');
end
In my code I am initializing a mask for a block I made. "filter_1" is a discrete time transfer function, and I am trying to set the numerator and denominator parameters. There error I am recieving is:
"Error in 'butter/Subsystem': Initialization commands cannot be evaluated. Caused by: Invalid setting in 'butter/Subsystem/filter_1' for parameter 'Numerator'."
I am just trying to extract the numerator and denominator coefficients from 'd_sys' and use those to intialize my block. Help! Thanks in advance.
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Additional Math and Discrete 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!