You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用DYMOLA命令窗口调试模型及查看变量计算值

DYMOLA调试相关问题解答

问题1:命令窗口计算模型变量a*b提示"未声明变量"

  • 必须先实例化模型:打开模型后点击「翻译」按钮,生成模型的可执行实例。DYMOLA命令窗口无法直接访问未实例化模型的变量,因为变量属于模型实例而非模型本身。
  • 通过实例名引用变量:
    • 若模型名为YourModel,实例化后直接输入 YourModel.a * YourModel.b 即可计算并输出结果。
    • 也可手动创建实例对象:
      modelInst = instantiateModel(YourModel);
      modelInst.a * modelInst.b;
      
  • 仿真前后调试:
    • 仿真前可手动赋值测试:YourModel.a = 10; YourModel.b = 2; 再执行计算。
    • 仿真后可通过结果对象访问:res = simulateModel(YourModel); res.a * res.b;

问题2:运行模型时添加打印语句查看变量数值

  • 使用Modelica标准库的打印函数:在模型代码中引入Modelica.Utilities.Streams.print(),直接在方程段或算法段添加打印逻辑:
    model YourModel
      Real a, b;
    equation
      a = time;
      b = 2*time;
      // 实时打印变量值
      Modelica.Utilities.Streams.print("t=" + String(time) + ", a=" + String(a) + ", b=" + String(b));
    end YourModel;
    
  • 控制打印频率:避免高频打印,可通过when语句设置采样间隔:
    when sample(0, 0.5) then // 每隔0.5秒打印一次
      Modelica.Utilities.Streams.print("t=" + String(time) + ", a=" + String(a) + ", b=" + String(b));
    end when;
    
  • 查看输出:仿真过程中,打印内容会实时显示在DYMOLA的「消息」(Messages)窗口中。

内容的提问来源于stack exchange,提问作者Raonelearning

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:07:16