求matlab中S函数错误

2024-12-26 15:16:15
推荐回答(3个)
回答1:

不太懂你做的东西,不过就这个错误来说,是因为你引入了三个参数dampzzy,gravzzy,angzzy,但是你的s函数没有定义用到的参数,对于这个错误,你尝试将第一行改成
function [sys,x0,str,ts] = simpendzzy(t,x,u,flag,dampzzy,gravzzy,angzzy)试一下
这个错误提示是哪个flag出的错误?我觉得可能是初始化的时候没有定义者两个参数,你在初始的时候加入dampzzy,gravzzy试试呢?
case 0,
[sys,x0,str,ts]=mdlInitializeSizes(angzzy,dampzzy,gravzzy);
.....
function [sys,x0,str,ts]=mdlInitializeSizes(angzzy,dampzzy,gravzzy)
我也是在学习,不知道改的对不对呢,试下吧,

回答2:

这个S函数是没有问题的 问题在于你给的初始值有问题 angzzy=[0,0] 而不是angzzy=[0;0] 注意是逗号而不是分号!!!

回答3:

我也有这问题