w5ASD 2024-04-06 13:17 采纳率: 33.3%
浏览 109
已结题

Matlab2023b使用Parameter Estimation Toolbox进行一阶RC参数辨识出现报错,有偿求帮助

使用Matlab2023b进行一阶RC模型的参数辨识,搭建一阶RC模型

img

导入数据

img

使用参数辨识工具箱,选择参数,创建实验

img

运行,一直在加载,我以为卡住了,但停止后出现报错

img

这里是我导入的数据

img

img

img

找不到问题在哪>~<

我的具体操作步骤如下:
将数据(R0,R1,C1)导入到查表模块中,所有数据都如图下格式设置

img

选择参数设置

img

初值、最小值、最大值

img

img

img

img

创建新实验

img

img

运行

img

img

无响应,一直在加载编译中。

img

停止编译即出现报错

img

在不使用工具箱仅仅是运行模型,无任何报错

img

  • 写回答

21条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-04-06 13:17
    关注
    获得0.45元问题酬金

    引自免费微信小程序:皆我百晓生

    针对您在使用MATLAB 2023b及Parameter Estimation Toolbox对一阶RC模型进行参数辨识时遇到的问题,从您提供的信息来看,主要报错提示为“此类型的变量不支持使用花括号进行索引”。结合您的描述和截图内容,以下是一些建议和可能的解决方案:

    1. 确认数据类型与索引方式兼容: 报错信息指向了索引操作不适用于某个特定变量类型。首先,请确保用于索引的所有变量都是支持花括号({})索引的数据类型,例如数组、元胞数组、结构体等。对于表格(table)、时间表(timetable)等特殊数据类型,应使用点标记法(.)或方括号([])进行索引。

    2. 检查输入/输出信号配置: 在“Edit Experiment: Exp”界面中,检查“Output Signals”和“Input Signals”的配置。确保“Measured Data”部分正确引用了MATLAB工作空间中的时间向量t和数据向量VtestIreal。正确的引用形式应为:

      • 输出信号 Vtest: [t, Vtest]
      • 输入信号 Ireal: [t, Ireal]

      如果数据存储在其他数据结构(如表格或时间表)中,请按照其相应的索引规则进行调整。

    3. 核实初始参数设置: 确保“Select Parameters”区域中设定的待辨识参数(C1, RO, R1)的初始值和范围合理。根据截图,似乎某些初始值或范围是通过复制粘贴导致的重复值,这可能是误操作。请仔细检查并修正初始值和范围。

    4. 检查模型内部数据传递: 您提到在Simulink模型中使用了PS Lookup Table (1D)模块。确保该模块的输入、输出以及参数设置与实际数据匹配,并且数据传递到辨识环节时没有因索引错误而出现问题。如果有必要,可以简化模型,仅保留关键的一阶RC部分及其相关数据接口,以排除其他模块的影响。

    5. 清理工作空间: 清理不必要的变量,只保留与模型辨识直接相关的数据(如t, Vtest, Ireal, C1, RO, R1等)。有时,工作空间中存在不兼容的数据类型或过期变量可能导致索引错误。

    6. 更新模型并重新运行: 根据上述检查和修改,更新模型参数设置,保存更改,然后重新运行参数辨识。观察是否仍有相同报错或新的报错信息出现。

    7. 查阅诊断查看器(Diagnostic Viewer): 如报错信息所述,更多详细信息可能在Simulink模型的诊断查看器中。打开诊断查看器(通常位于Simulink菜单栏的“Simulation” → “Model Advisor” → “Open Diagnostic Viewer”),查看是否有更具体的错误定位信息,有助于进一步排查问题。

    综上所述,解决您遇到的索引错误问题,需要逐一检查数据类型、信号配置、初始参数设置、模型内部数据传递、工作空间清理等方面,然后更新模型并重新运行辨识。若依然存在问题,请查阅诊断查看器获取更详细的错误信息。由于缺少具体代码片段和模型结构细节,以上建议基于您提供的描述和截图做出。如果您能提供更详尽的信息(如模型文件、数据文件等),将有助于更准确地定位并解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月14日
  • 修改了问题 4月6日
  • 修改了问题 4月6日
  • 创建了问题 4月6日