Why can't I run my code? (tfest function)
7 ビュー (過去 30 日間)
古いコメントを表示
I can run this code below in Matlab Online. But when I run this code in Matlab application, it resulted in error.
M2 = tfest(data_training,sys_init_T1);
Error using tfest
Not enough input arguments.
How can I fix this problem? I'm so confused
x = readtable('data_thermal_pulse.txt');
time = x.Var1;
T1 = x.Var2-x.Var2(1);
input = x.Var4;
Ts = 0.07;
data = iddata(T1,input,Ts);
data_training = data(1:round(0.5*size(data,1)),:);
data_testing = data((round(0.5*size(data,1)))+1:end-1,:);
sys_T1 = idtf(NaN,[1 NaN],'ioDelay',NaN);
M1 = tfest(data_training,sys_T1);
sys_init_T1 = idtf(NaN,[1 NaN],'ioDelay',NaN);
sys_init_T1.Structure.num.Value = 0.0040;
sys_init_T1.Structure.num.Minimum = 0.0001;
sys_init_T1.Structure.den.Value = [1 0.01];
sys_init_T1.Structure.den.Minimum = [1 0.001];
sys_init_T1.Structure.ioDelay.Value = 1.96;
sys_init_T1.Structure.ioDelay.Minimum = 0.01;
sys_init_T1.Structure.ioDelay.Maximum = 2.04;
M2 = tfest(data_training,sys_init_T1);
0 件のコメント
回答 (2 件)
Sulaymon Eshkabilov
2024 年 2 月 18 日
Here it is running ok:
x = readtable('data_thermal_pulse.txt');
time = x.Var1;
T1 = x.Var2-x.Var2(1);
input = x.Var4;
Ts = 0.07;
data = iddata(T1,input,Ts);
data_training = data(1:round(0.5*size(data,1)),:);
data_testing = data((round(0.5*size(data,1)))+1:end-1,:);
sys_T1 = idtf(NaN,[1 NaN],'ioDelay',NaN);
M1 = tfest(data_training,sys_T1)
sys_init_T1 = idtf(NaN,[1 NaN],'ioDelay',NaN);
sys_init_T1.Structure.num.Value = 0.0040;
sys_init_T1.Structure.num.Minimum = 0.0001;
sys_init_T1.Structure.den.Value = [1 0.01];
sys_init_T1.Structure.den.Minimum = [1 0.001];
sys_init_T1.Structure.ioDelay.Value = 1.96;
sys_init_T1.Structure.ioDelay.Minimum = 0.01;
sys_init_T1.Structure.ioDelay.Maximum = 2.04;
M2 = tfest(data_training,sys_init_T1)
2 件のコメント
升 毕
2024 年 2 月 18 日
I also run this code without error on matlab2021b and 2018b. M1 and M2 is the same as @Sulaymon Eshkabilov
Star Strider
2024 年 2 月 18 日
Run this from a script or your Command Window:
which tfest -all
It should give you this identical result. If it shows anything else, that is likely the problem. The solution is to re-name any other scripts, variables, or functions that are not in the System Identification Toolbox to something that makes sense in the context you are using them in, and do not overshadow any MATLAB functions.
.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Transfer Function Models についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!