我在matlab 'my sys'
空间中定义了s-function
,如下所示:
....
sys = simsizes(s);
case 1 % derivative
sys = mysys(t,x,u,opts);
case 3 % output
sys = x ;
.....
我将系统状态的初始条件(dx0)
放在s函数参数空间中。S-function parameters block
现在我已经在my sys
中定义了matlab function block
但是没有像s-function块那样将初始(dx0)
条件放入其中。
sys in matlab function block
我很想知道如何为matlab功能块定义dx0
?
答案 0 :(得分:0)
你好像混淆了三件事。
第一件事就是你发布的MATLAB代码,我不确定应该去哪里。
第二件事是你要链接的第一张照片。这确实显示了S函数的对话框,它要求您为代码提供.c文件(使用C语言)。也许您打算使用Level 2 S函数,您可以在其中输入MATLAB代码。
第三件事是您要链接的第二张图片。那个显示了一个嵌入式MATLAB函数,它与Level 2 S函数不同,这解释了为什么你没有看到一个可以输入参数的对话框。
你想要做的(我猜)是使用某种函数计算导数,即xdot = f(x)。你可以使用以下两种方法做到: - 嵌入式MATLAB功能 - S功能 - 2级S功能 所有这些都可以设定初始条件。但是,您可能希望集成衍生产品。在这种情况下,您需要在功能块之后添加的积分器块上设置初始条件。