原本这是写在mworks中的
if nkongjiaodu1 > 180
then
nkongjiaodu1 = 180;
elseif nkongjiaodu1 < 0
then
nkongjiaodu1 = 0;
else
nkongjiaodu1 = 82.85 + Resultnkongzhi1100;
end if;
这个代码我尝试用函数来表达
function nkongzhijiaodu
input Real nkongjiaodu1;
input Real Resultnkongzhi1100;
output Real nkongjiaoduout1;
algorithm
if nkongjiaodu1 > 180
then
nkongjiaoduout1 := 180;
elseif nkongjiaodu1 < 0
then
nkongjiaoduout1 := 0;
else
nkongjiaoduout1 := 82.85 + Resultnkongzhi1100;
end if;
end nkongzhijiaodu;
然后原本代码改成了
nkongjiaodu1 = nkongzhijiaodu(nkongjiaodu1,Resultnkongzhi1100);
可是他报错Warning:Time = 0, the nonlinear system (8, 6) failed!
请问是出了什么问题了啊?
专栏
标签
高校专区
请问这两个代码有什么区别
一般问题
发布于 2024-11-11 21:26:23
查看 13过去594天
所属专栏:Modelica语言
产品信息:Sysplorer系统建模仿真环境
采纳的回答
发布于 2024-11-12 09:05:36
您好,您的model中是两个变量(nkongjiaodu1,Resultnkongzhi1100),而在function中是三个变量(两个输入一个输出),您需要同步修改一下哈
全部回答 1
发布于 2024-11-12 09:05:36
您好,您的model中是两个变量(nkongjiaodu1,Resultnkongzhi1100),而在function中是三个变量(两个输入一个输出),您需要同步修改一下哈
和原帖交流更多问题细节吧,去