永发信息网

如何将simulink的mdl转用于Cruise中

答案:2  悬赏:60  手机版
解决时间 2021-01-31 08:23
  • 提问者网友:捧腹剧
  • 2021-01-30 19:52
如何将simulink的mdl转用于Cruise中
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-01-30 20:26
在m文件里调用模型mdl关键是用sim命令。
[ t, x, y ] = sim( model, timespan, options, ut)
[ t, x, y1, y2, …, yn] = sim( model, timespan, options, ut)

(1)model:需要进行仿真的系统模型框图名称;
(2)timespan:系统仿真的时间范围(起始至终止时间),可有如下形式:
tFinal:设置仿真终止时间。仿真起始时间默认为0;
[tStarttFinal]:设置起始时间(tStart)与终止时间(tFinal);
[tStartOutputTimestFinal]:设置起始时间(tStart)与终止时间(tFinal),并且设置仿真返回的时间向量[tStartOutputTimestFinal],其中tStart、OutputTimes、tFinal必须按照升序排列。
(3)options:由simset命令所设置的除仿真时间外的仿真参数;
(4)ut:表示系统模型顶层的外部可选输入。ut可以是MATLAB 函数。可以使用多个外部输入ut1、ut2、…。
(5)t:返回系统仿真的时间向量。
(6)x:返回系统仿真的状态变量矩阵。
(7)y:返回系统仿真的输出矩阵。按照顶层输出Outport模块的顺序输出。如果输出信号为向量输出,则输出信号具有与此向量相同的维数。
(8)y1,…,yn:返回多个系统仿真的输出。

改变模型输入参数的demo,同时不影响原来的mdl文件
>t=0:0.1:10; t=t’; u=sin(t); sim_input=[t, u];
>[tout1, x1, yout1]=sim(‘command_in_out’, 10); %使用Simulink仿真参数对话框中的workspace I/O 从MATLAB 工作空间中获得输入信号
>u=cos(t);
>ut=[t, u]; %改变系统输入信号
>>[tout2, x2, yout2]=sim(‘command_in_out’, 10, [], ut);
全部回答
  • 1楼网友:封刀令
  • 2021-01-30 21:05
如何将simulink的mdl文件转dll文件用于cruise中的控制器 为了顺利生成dll文件,建议先安装matlab 2007 或 matlab 2008。 从avl的仿真论坛获得avlrtwdll的转换工具,目前有avlrtwdll2007和avlrtwdll2008两个版本。 1)安装vc++,以及avlrtwdll工具; 2)在menu tools->rtw options中的template makefiles输入avl_grt_dll_vc.tmf或avl_grt_dll_lcc.tmf) 3)运行matalb编译器: mex -setup 选择 visual c++ compiler (version 5.x or 6.0) 或 the lcc compiler 4)在menu tools->rtw options 选择build 就能获得dll文件了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯