matlab-simulink 报错集锦

本文讲述了Simulink中遇到的常见问题,如M/SFunction运行前需初始化,输出向量维度错误,奇点处理,步长调整,以及MATLAB程序性能优化。提供了解决方案,如使用saturation模块,调整步长和采样时间,以及提高程序执行效率的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.小白错误:如果simulink中有m 或 s function,要先运行一下它,工作区才有相关参数,simulink才能跑下去

否则会报错:大致就是找不到“xxx”,这个xxx就是simulink中 sfunction 或 m 文件的名字

2. 大致的报错就是说:xxx的输出必须为长度位 x 的实数向量

这个其实就是说输出的vector少了一维,那么都定义好了为什么会少了一维?
如果输出因为某种运算变大或变小
那么就会出现输出为 NaN 或者 Inf 的问题,而matlab不把NaN 和 Inf 看作为数据,因此会少了一维或多维。

解决方案:
1.加satuation模块,限制输出上下限
2.直接在sfcntion或者m里面添加限额的判断语句

3. 大致报错:在状态 x 出 出现了奇点,建议你减小步长

就是出现了 1/0的情况,或者函数变化太大,没法求导

解决方案很多,不同情况的解决方案不同。
1.加satuation
2.将仿真设置里面的起始时间从0 改成 0.001
3.将固定步长 改为 变步长
4.保持固定步长,自己缩小步长(3、4选一个就行,一个不行试一下另一个)

4. 合并两个simulink的时候,可能会出现单独测,两边都跑的通,放一起跑不通的现象

问题在于,两个simulink的求解器或者其他设置不同。<

### 解决 Simulink `rtwmakecfg` 报错问题 当遇到 Simulink 中与 `rtwmakecfg` 相关的报错时,通常意味着 Real-Time Workshop (RTW) 的配置文件存在问题。这类错误可能由多种因素引起,包括但不限于路径设置不当、依赖库缺失或版本兼容性问题。 #### 修改 MATLAB 路径和环境变量 确保 MATLAB 及其工具箱的路径已正确添加至系统的环境变量中[^1]。如果之前安装过多个 MATLAB 版本,则可能存在路径冲突的情况。建议清理旧版 MATLAB 安装残留项,并确认当前使用的 MATLAB 是预期版本。 #### 验证 RTWMakeCfg 文件位置 检查 `rtwmakecfg.m` 是否位于适当的位置。默认情况下,该文件应存在于 MATLAB 工作区内的特定目录结构之下。对于大多数用户而言,保持工作空间远离敏感区域(如 bin 文件夹),有助于减少潜在冲突[^2]。 ```matlab % 显示当前搜索路径列表 path ``` 通过以上命令查看当前的工作路径是否合理;如果不是,请调整为合适的项目根目录或其他安全存储地点。 #### 更新编译器配置 有时,重新设定 C/C++ 编译器也能有效缓解此类异常状况: ```matlab mex -setup c++ ``` 执行上述指令来指定新的编译链路选项,这一步骤能够帮助修复因编译环境差异引发的一系列连锁反应。 #### 清理缓存数据 清除临时生成物和其他中间产物也可能有所帮助。关闭所有打开的应用程序窗口之后,在命令提示符下键入以下语句完成操作: ```bash cd %TEMP% del /Q *.* ``` 此举旨在移除任何干扰正常流程运作的因素,从而使得后续构建过程更加顺畅稳定。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值