我基本上使用的是1-D数组,使用Matlab函数进行操作,输出也是1-D数组。我想在同一个simulink模型中使用它作为查找表的输入。此后,我希望查找表中的这个24小时时间序列输出被送到另一个函数。
我们也欢迎任何在不使用查找表的情况下实现此时间序列输入的建议。
答案 0 :(得分:1)
选项A,简易解决方案:通过工作区共享变量:
%%
LUT_BREAKPOINTS=<something>
LUT_VALUES=function_that_manipulates_1D_Array()
SIGNAL=<24_Hs_Signal>
%%
sim('model_name')
%%
<Process model output>
%%
model_name使用FromWorkspace
加载 SIGNAL ,ToWorkspace
导出模拟输出,使用1D战利品,使用 LUT_BREAKPOINTS 和< EM> LUT_VALUES
选项B,simulink多速率处理。
配置Simulink以使用离散固定步骤作为解算器。
将Direct_Look_Up_table与Pre_Look_Up配合使用,将其配置为接受 该表作为外部输入......
使用MatlabFunctionBlock来操作你的1D数组。
将MatlabFunctionBlock与原始数组一起提供,
使用SIGNAL提供Pre_Look_Up。
使用Frame_buffer上的Direct_Look_Up_table输出 24H样品作为框架。
使用Frame_buffer的输出为您的最终处理提供另一个MatlabFunctionBlock。