首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Modelica连接方程

Modelica连接方程
EN

Stack Overflow用户
提问于 2013-12-18 22:19:51
回答 1查看 607关注 0票数 2

谁能告诉我是否可以像下面这样建模,模型Main连接模型A和模型B,它给出了错误:6个方程和8个变量,但如何连接这些模型。

代码语言:javascript
复制
model A
Modelica.Blocks.Interfaces.RealInput ain1;
Modelica.Blocks.Interfaces.RealInput ain2;
Modelica.Blocks.Interfaces.RealInput ain3;
Modelica.Blocks.Interfaces.RealInput ain4;
Modelica.Blocks.Interfaces.RealOutput aout1;
Modelica.Blocks.Interfaces.RealOutput aout2;
end A;

model B
Modelica.Blocks.Interfaces.RealInput bin1;
Modelica.Blocks.Interfaces.RealInput bin2;
end B;

model Main
Modelica.Blocks.Interfaces.RealInput min1;
Modelica.Blocks.Interfaces.RealInput min2;
Modelica.Blocks.Interfaces.RealInput min3;
Modelica.Blocks.Interfaces.RealInput min4;
A a;
B b;
equation
connect(a.ain1,min1);
connect(a.ain2,min2);
connect(a.ain3,min3);
connect(a.ain4,min4);
connect(a.aout1,b.bin1);
connect(a.aout2,b.bin2);
end Main;
EN

回答 1

Stack Overflow用户

发布于 2013-12-18 22:35:48

现在,您有6个等式(每个connect语句一个)。但是,您有8个变量(每个RealInput和每个RealOutput一个)。从数学的角度来看,这意味着你的模型是under-determined的,因为你有比方程更多的变量。

要解决此问题,您需要添加两个额外的方程。从逻辑上讲,缺少的一环似乎是A的两个输出与A的输入之间的关系。例如,下面的模型(我在其中添加了A的输入和输出之间的关系)就很好:

代码语言:javascript
复制
model Main  
  model A
    Modelica.Blocks.Interfaces.RealInput ain1;
    Modelica.Blocks.Interfaces.RealInput ain2;
    Modelica.Blocks.Interfaces.RealInput ain3;
    Modelica.Blocks.Interfaces.RealInput ain4;
    Modelica.Blocks.Interfaces.RealOutput aout1;
    Modelica.Blocks.Interfaces.RealOutput aout2;
  equation
     aout1 = ain1 + ain2;
     aout2 = ain3 + ain4;
  end A;

  model B
    Modelica.Blocks.Interfaces.RealInput bin1;
    Modelica.Blocks.Interfaces.RealInput bin2;
  end B;  

  Modelica.Blocks.Interfaces.RealInput min1;
  Modelica.Blocks.Interfaces.RealInput min2;
  Modelica.Blocks.Interfaces.RealInput min3;
  Modelica.Blocks.Interfaces.RealInput min4;
  A a;
  B b;
equation
  connect(a.ain1,min1);
  connect(a.ain2,min2);
  connect(a.ain3,min3);
  connect(a.ain4,min4);
  connect(a.aout1,b.bin1);
  connect(a.aout2,b.bin2);
end Main;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20660622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档