tfest ::所选数据大小

时间:2015-05-16 01:40:39

标签: matlab simulink

我正在尝试使用代码

找到某些输入数据和输出数据的传递函数
Temperature = [zeros(1,153) 300*ones(1,47)];

out_temp = [zeros(1,147) ScopeData4.signals(1).values'];
N = 1; 
tfdata_tem = iddata(out_temp,Temperature,0.001);

sys = tfest(tfdata_tem,N);

但最后我得到了以下错误,尽管我增加了样本数并将订单减少到1

估计所选估计数据大小的参数太多。减少模型订单或使用更大的数据集。

2 个答案:

答案 0 :(得分:1)

最可能的问题是,您的数据集不包含足够丰富的频率集,以便基础算法估算模型(任何顺序)。

iddata1示例数据集给出了典型数据应该是什么样子的示例。 特别要注意的是,输入信号由许多步骤组成,以非规则的间隔发生,与只有一步的数据不同。

load iddata1 z1;
plot(z1);

enter image description here

答案 1 :(得分:0)

如图the answerPhil Goddard所示,您需要两列输出值和输入值。但是您编程中的值是两行值。这意味着您需要将其更改为

Temperature = [zeros(1,153) 300*ones(1,47)]';

out_temp = [zeros(1,147) ScopeData4.signals(1).values']';

N = 1; 
tfdata_tem = iddata(out_temp,Temperature,0.001);

sys = tfest(tfdata_tem,N);