直接回答问题:
加载到matlab中时,Values.mat显示1x1结构。其中有以下内容:
信息{1x1 Struct}
X {1x1 Struct}
Y {1x31 Struct}
说明{1x1 Struct}
我的数据位于Y.当我打开每个结构时,会有更多数据。虽然,感兴趣的数据只是数据集中的一个,但我们称之为DATA。
DATA 1x27048
我知道生成DATA的总模拟时间为27秒@ 0.001;即每个值在0.001秒后产生。
我已经将Values.mat中所需的数据分成了一个单独的values_sep.mat。
values_sep.mat {27048x2} : 27048x1 = original data;27048x2 = TIME(0,0.001,0.002...27);
我的目的是按照定义的时间读取此数据集
TIME ----数据
0.001 - value_1
0.002 - value_2 ... 0.00N - value_N。
每当我尝试在SIMULINK中读取此数据时,范围内的所有get都是彩色线条。所有其他方法也没用(从工作区,作为27048x2(随时间))。
请指导我如何按时阅读此数据集。
回复第1条评论 @ am304
请检查添加的图片:
A - 我将数据定义为struct。
B - 当我尝试添加创建的MAT文件的名称(KLPD.mat)时,我 得到这个错误。
C& C& D - 我创建的数据的解释。
答案 0 :(得分:1)
使用From Workspace块,但请确保排列数据,以便第一列是时间数据点,第二列是实际数据。
如果勾选“Interpolate data”,Simulink会根据原始数据中的时间步长插入数据。
如果使用变步长求解器,请将最大步长设置为0.001,或使用0.001s时间步长的固定步长求解器。将模拟停止时间设置为27秒。