专栏
标签
代码迭代问题
一般问题
发布于 2025-05-08 21:38:26
查看 24过去416天

在modelica语言中,循环过程中,下一次的循环可以调用上一次的数据。我接下来给你一段代码。这是一个模型,用于判断流量w和功率p的关系,并用if语句选择

model feedback
parameter Real a = 0.001;
parameter Real p0 = 300;
Real error1;
Real test;
Real test3;
annotation(__MWORKS(version = "2025a"), Icon(coordinateSystem(extent = {{-100, -100}, {100, 100}},
grid = {2, 2})));
Modelica.Blocks.Interfaces.RealInput p   //输出功率
annotation(Placement(transformation(origin = {-113.938, 59.1733},
extent = {{-12.5427, -12.5427}, {12.5427, 12.5427}})));
Modelica.Blocks.Interfaces.RealInput w_in1(start = 0.02)   //需要流量
annotation(Placement(transformation(origin = {-112.746, -52.1716},
extent = {{-12.5427, -12.5427}, {12.5427, 12.5427}})));
Modelica.Blocks.Interfaces.RealOutput w_neednew   //新需要流量
annotation(Placement(transformation(origin = {109.884, 6.49486},
extent = {{-10, -10}, {10, 10}})));
Modelica.Blocks.Interfaces.RealInput w_actul   //实际输出流量
annotation(Placement(transformation(origin = {-114.065, -4.13052},
extent = {{-13.9631, -13.9631}, {13.9631, 13.9631}})));
algorithm
if error1 / w_in1 <= 0.01 then
w_neednew := w_in1 + a * (p0 - p);
else
w_neednew := w_in1;
end if;

if w_neednew <= 0 then
w_neednew := 0.001;
end if;

equation
test = a * (p0 - p);
error1 = abs(w_in1 - w_actul);
test3 = w_neednew - w_in1;
end feedback;

还有一个valve_PID模型

model Valve with built-in PID controller and dynamic response"

// 接口声明
Modelica.Blocks.Interfaces.RealInput setpoint
"目标流量设定值"
annotation (Placement(transformation(origin={-119.773,72.6724},
extent={{-20,-20},{20,20}})));

Modelica.Blocks.Interfaces.RealInput w_in(unit="kg/s")
"入口质量流量"
annotation (Placement(transformation(origin={-120.559,14.52},
extent={{-20,-20},{20,20}})));

Modelica.Blocks.Interfaces.RealOutput w_out(unit="kg/s")
"出口质量流量"
annotation (Placement(transformation(origin={117.7,42.584},
extent={{-17.3419,-17.3419},{17.3419,17.3419}})));

Modelica.Blocks.Interfaces.RealOutput trackingError(unit="kg/s")
"流量跟踪误差"
annotation (Placement(transformation(origin={119.863,-70.3675},
extent={{-20,-20},{20,20}})));

// PID 参数
parameter Real Kp = 1.0 "比例增益";
parameter Real Ti = 10 "积分时间常数(s)";
parameter Real Td = 0.1 "微分时间常数(s)";
parameter Real N = 10 "微分滤波系数";
parameter Real minOutput = 0 "最小阀门开度";
parameter Real maxOutput = 1 "最大阀门开度";
parameter Modelica.Units.SI.Time valveTimeConstant = 0.5 "阀门响应时间常数";

protected
// 内部变量
Real error "控制误差";
Real P_term "比例项";
Real I_term(start=0) "积分项";
Real D_term "微分项";
Real D_state(start=0) "微分状态";
Real controlSignal "最终控制信号";
public
Modelica.Blocks.Interfaces.RealOutput tracking_w_need
annotation (Placement(transformation(origin={122.167,-14.139},
extent={{-21.2795,-21.2795},{21.2795,21.2795}})));
annotation(Diagram(coordinateSystem(extent={{-100,-100},{100,100}},
grid={2,2})));

equation
// PID 核心算法
error = setpoint-w_out;

// 比例项
P_term = Kp*error;

// 带抗饱和的积分项
if controlSignal >= maxOutput and error > 0 or controlSignal <= minOutput and error < 0 then
der(I_term) = 0;
else
der(I_term) = Kp/Ti * error;
end if;

// 带滤波的微分项
der(D_state) = ( -Kp*Td*der(w_out) - D_state ) * N / Td;//der(D_state) = (Kp*Td*der(error) - D_state) * N/Td;
D_term = D_state;

// 控制信号合成并限幅
controlSignal = min(max(P_term + I_term + D_term, minOutput), maxOutput);

// 阀门动态模型
der(w_out) = (w_in*controlSignal - w_out)/valveTimeConstant;

// 误差输出
trackingError = error;
setpoint=tracking_w_need;
end valve_PID;

这是燃料电池的modelica代码。

model PEMFCyan_zheng

parameter Real h_FC = 500;
parameter Real lamda = 14;       //膜湿度//
parameter Real p_an = 3;           //阳极压力,bar//
parameter Real p_ca = 3;           //阴极压力,bar//
parameter Real A_FC = 232;  //parameter Modelica.Units.SI.Area A_FC;                   //PEMFC电流表面积//
parameter Real N_FC = 6;
parameter Real houdu_m = 0.0178;//parameter Modelica.Units.SI.Length houdu_m = 0.0178;     //膜厚度,Cm//
parameter Real fai_FC = 1;         //PEFMC 氢气化学计量比//
parameter Real F = 96485;
parameter Real T_a = 273.15 + 25;       //空气温度
parameter Real Cp_air = 1.005;
parameter Real lamda_air = 2;         //空气化学计量比
parameter Real c1 = 10;
parameter Real imax = 2.2;
parameter Real c3 = 2;
parameter Real m_stC_P_st = 35;
parameter Real cp_FC = 0.5;  // J/g/K
parameter Real cp_H2 = 14.89;
parameter Real cp_w = 4.2;
parameter Real cp_O2 = 0.918;
parameter Real dG_0 = 237000;
parameter Real H_v = 40644;
parameter Real m_FC = 44000;  //g//
parameter Real R = 8.314;
Real E_nerst;
Real I_FC;
Real p_H2;
Real p_O2(min=0.01);
Real P_H2O_sat(min=0.01);
Real V_act;
Real V_conc;
Real V_ohmic;
Real r_m;
Real V_cell;
Real X_N2_out;
Real X_H2O_sat;
Real X_N2_in;
Real X_N2_channel;
Real c2;
Real V0;
Real Va;
Real T_FC(start=293, fixed=true);
Real q_net;
Real q_cool;
Real q_sl;
Real q_che;
Real n_H2;
Real n_H2O;
Real n_H2_out;
Real dG;
Real i_FC;
Real n_O2_in;
Real n_O2_out;
Real n_H2_in;
Real a2;

//进口氢气质量流量
Modelica.Blocks.Interfaces.RealInput f_outZC
annotation(Placement(transformation(origin={-112.417,38.3579},
extent={{-11.2393,-11.2393},{11.2393,11.2393}})));
//进口空气质量流量
Modelica.Blocks.Interfaces.RealInput n_air_in
annotation(Placement(transformation(origin={-111.55,80.9052},
extent={{-10.7239,-10.7239},{10.7239,10.7239}},
rotation=360)));
//出口温度
annotation(Diagram(coordinateSystem(extent={{-100,-100},{100,100}},
grid={2,2})));
//功率
Modelica.Blocks.Interfaces.RealOutput v
annotation(Placement(transformation(origin={110.09,2.67768},
extent={{-9.35423,-9.35423},{9.35423,9.35423}},
rotation=360)));
function cccc
input Real T_FC;
input Real p_O2;
input Real P_H2O_sat;
output Real c;
algorithm
if (p_O2 / 0.1773 + P_H2O_sat) < 2 then
c := (7.16e-4 * T_FC - 0.166) * (p_O2 / 0.1773 + P_H2O_sat) + (-1.45e-3 * T_FC + 1.68);
else
c := (8.66e-5 * T_FC - 0.068) * (p_O2 / 0.1773 + P_H2O_sat) + (-1.6e-4 * T_FC + 0.54);
end if;
end cccc;
Modelica.Blocks.Interfaces.RealInput T2
annotation(Placement(transformation(origin={-112,-1.37423},
extent={{-10.7239,-10.7239},{10.7239,10.7239}})));
Modelica.Blocks.Interfaces.RealOutput T_FC_out
annotation (Placement(transformation(origin={58.7536,-110.204},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealInput T_FC_in
annotation (Placement(transformation(origin={0.457276,112.49},
extent={{-11.769,-11.769},{11.769,11.769}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput m_w
annotation (Placement(transformation(origin={-60.8907,-110.443},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput p
annotation (Placement(transformation(origin={108.903,51.0358},
extent={{-10,-10},{10,10}})));
equation
//气压模型
log10(P_H2O_sat+0.0001) = -2.175 + 0.0295 * (T_FC - 273.15) - 0.0000918 * (T_FC - 273.15) ^ 2 + 0.000000144 * (T_FC - 273.15) ^ 3;    //饱和水蒸气压力,bar//
//P_H2O_sat = 0.47;
p_H2 = 0.5 * P_H2O_sat * (1 / (X_H2O_sat * exp(1.653 * i_FC / T_FC ^ 1.334)) - 1);                                        //氢气分压
p_O2 = p_ca * (1 - X_H2O_sat - X_N2_channel * exp(0.291 * i_FC / T_FC ^ 10.832));                                              //氧气分压
X_H2O_sat = P_H2O_sat / p_an;
X_N2_in = 0.79 * (1 - X_H2O_sat);
X_N2_out = (1 - X_H2O_sat) / (1 + (0.21 / 0.79) * (1 - 1 / lamda_air));
X_N2_channel = (X_N2_in - X_N2_out) / log(X_N2_in / X_N2_out);

//电压模型
E_nerst = 237000/(2*F) - (-163.24 / (2 * F)) * (T_FC - 298.15) + (8.314 * T_FC / (2 * F)) * log(p_H2 * sqrt(p_O2) / P_H2O_sat);  //能斯特电压,V//
I_FC = i_FC * A_FC;
V_act = (V0 + Va * (1 - exp(-c1 * i_FC)));                                                                                                 //活化极化
V0 = 0.279 - 8.5 * 10 ^ (-4) * (T_FC - 298.15) + 1.4454 * 10 ^ (-7) * T_FC * (log(p_ca - P_H2O_sat) + 0.5 * log(0.1173 * (p_ca - P_H2O_sat)));  //零电流密度时活化极化电损
Va = (-1.618 * 10 ^ (-5) * T_FC + 1.618 * 10 ^ (-2)) * (p_O2 / 0.1773 + P_H2O_sat) ^ 2 + (1.8 * 10 ^ (-4) * T_FC - 0.166) * (p_O2 / 0.1773 + P_H2O_sat) + (-5.8 * 10 ^ (-4) * T_FC + 0.5736);

V_ohmic = i_FC * r_m * houdu_m;                                                                               // 电流密度*单位厚度膜电阻*膜厚度//
r_m = 1 / ((0.005139 * lamda - 0.00326) * exp(350 * (1 / 303 - 1 / T_FC)));
c2 = cccc(T_FC, p_O2, P_H2O_sat);
V_conc = i_FC * (c2 * (i_FC / imax)) ^ c3;                                                              //浓差极化//
V_cell = E_nerst - V_act - V_conc - V_ohmic;
n_H2 = N_FC * I_FC / (2 * F);                                                                //进气量与电流的关系//
///输出功率
p=V_cell*N_FC*I_FC;
//物质守恒
n_H2_in = n_H2 + n_H2_out;
n_O2_in = 0.5 * n_H2 + n_O2_out;
n_H2O = n_H2;
n_H2 = 0.8 * n_H2_in;
n_O2_in = 0.2 * n_air_in;
f_outZC = n_H2_in * 2;

q_net = q_che - v - q_sl - q_cool;  //能量守恒//
q_che = n_H2 * dG;  // 化学反应热量//
dG = dG_0 - R * T_FC * ln(p_H2 * p_O2 ^ 0.5);
v = V_cell;
q_sl = (n_H2_out * T_FC - n_H2_in * T_a) * cp_H2 + (n_O2_out * T_FC - n_O2_in * T_a) * cp_O2 + n_H2O * (T_FC - T_a) * cp_w + n_H2O * H_v;
q_cool = m_w * cp_w * (T_FC - T_FC_in)*(1-exp(-a2));
a2 = h_FC * N_FC * A_FC/10000/m_w/cp_w;
m_w = 68;
q_net = m_FC * cp_FC * der(T_FC);
T_FC_out = T_FC + exp(-a2)*(T_FC_in-T_FC);

//物质守恒

// //M_an_out = M_an_in - u * M_an_in;                 //阳极输出流量
// M_ca_in_O2 = M_ca_in * 0.21;                      //阴极输入氧气
// M_ca_in_N2 = M_ca_in * 0.79;                      //阴极输入氮气
// M_ca_in_N2 = M_ca_out_N2;                         //阴极输出氮气
// M_ca_out_O2 = M_ca_in_O2 - 0.5 * M_H2_xiao_hao;   //阴极输出氧气/

//热力学模型
// der(T_FC) = (H_in- H_out - Q_cl - P) / m_stC_P_st;              //热力学平衡

// H_in = H_in_an + H_in_ca;                                     //输入焓
// H_out = H_out_an + H_out_ca;                                //输出焓

// H_in_an = n_an_in * (H_H2 + q);
// H_in_ca = n_ca_in_O2 * H_O2;

// H_out_an = M_an_out * (H_H2 + q);
// H_out_ca = M_ca_out_O2 * H_O2;

// der(Q_cl) = n_air * Cp_air * (T_FC - T_air);                //风扇冷却
// H_H2 * 1000 = -6.013e-06 * T_FC ^ 3 + 0.00785 * T_FC ^ 2 + 25.8 * T_FC - 8230;
// H_O2 * 1000 = 6.23e-06 * T_FC ^ 3 - 0.002998 * T_FC ^ 2 + 29.5 * T_FC - 8695;

end PEMFCyan_zheng;”“model PEMFCyan_zheng

parameter Real h_FC = 500;
parameter Real lamda = 14;       //膜湿度//
parameter Real p_an = 3;           //阳极压力,bar//
parameter Real p_ca = 3;           //阴极压力,bar//
parameter Real A_FC = 232;  //parameter Modelica.Units.SI.Area A_FC;                   //PEMFC电流表面积//
parameter Real N_FC = 6;
parameter Real houdu_m = 0.0178;//parameter Modelica.Units.SI.Length houdu_m = 0.0178;     //膜厚度,Cm//
parameter Real fai_FC = 1;         //PEFMC 氢气化学计量比//
parameter Real F = 96485;
parameter Real T_a = 273.15 + 25;       //空气温度
parameter Real Cp_air = 1.005;
parameter Real lamda_air = 2;         //空气化学计量比
parameter Real c1 = 10;
parameter Real imax = 2.2;
parameter Real c3 = 2;
parameter Real m_stC_P_st = 35;
parameter Real cp_FC = 0.5;  // J/g/K
parameter Real cp_H2 = 14.89;
parameter Real cp_w = 4.2;
parameter Real cp_O2 = 0.918;
parameter Real dG_0 = 237000;
parameter Real H_v = 40644;
parameter Real m_FC = 44000;  //g//
parameter Real R = 8.314;
Real E_nerst;
Real I_FC;
Real p_H2;
Real p_O2(min=0.01);
Real P_H2O_sat(min=0.01);
Real V_act;
Real V_conc;
Real V_ohmic;
Real r_m;
Real V_cell;
Real X_N2_out;
Real X_H2O_sat;
Real X_N2_in;
Real X_N2_channel;
Real c2;
Real V0;
Real Va;
Real T_FC(start=293, fixed=true);
Real q_net;
Real q_cool;
Real q_sl;
Real q_che;
Real n_H2;
Real n_H2O;
Real n_H2_out;
Real dG;
Real i_FC;
Real n_O2_in;
Real n_O2_out;
Real n_H2_in;
Real a2;

//进口氢气质量流量
Modelica.Blocks.Interfaces.RealInput f_outZC
annotation(Placement(transformation(origin={-112.417,38.3579},
extent={{-11.2393,-11.2393},{11.2393,11.2393}})));
//进口空气质量流量
Modelica.Blocks.Interfaces.RealInput n_air_in
annotation(Placement(transformation(origin={-111.55,80.9052},
extent={{-10.7239,-10.7239},{10.7239,10.7239}},
rotation=360)));
//出口温度
annotation(Diagram(coordinateSystem(extent={{-100,-100},{100,100}},
grid={2,2})));
//功率
Modelica.Blocks.Interfaces.RealOutput v
annotation(Placement(transformation(origin={110.09,2.67768},
extent={{-9.35423,-9.35423},{9.35423,9.35423}},
rotation=360)));
function cccc
input Real T_FC;
input Real p_O2;
input Real P_H2O_sat;
output Real c;
algorithm
if (p_O2 / 0.1773 + P_H2O_sat) < 2 then
c := (7.16e-4 * T_FC - 0.166) * (p_O2 / 0.1773 + P_H2O_sat) + (-1.45e-3 * T_FC + 1.68);
else
c := (8.66e-5 * T_FC - 0.068) * (p_O2 / 0.1773 + P_H2O_sat) + (-1.6e-4 * T_FC + 0.54);
end if;
end cccc;
Modelica.Blocks.Interfaces.RealInput T2
annotation(Placement(transformation(origin={-112,-1.37423},
extent={{-10.7239,-10.7239},{10.7239,10.7239}})));
Modelica.Blocks.Interfaces.RealOutput T_FC_out
annotation (Placement(transformation(origin={58.7536,-110.204},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealInput T_FC_in
annotation (Placement(transformation(origin={0.457276,112.49},
extent={{-11.769,-11.769},{11.769,11.769}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput m_w
annotation (Placement(transformation(origin={-60.8907,-110.443},
extent={{-10,-10},{10,10}},
rotation=-90)));
Modelica.Blocks.Interfaces.RealOutput p
annotation (Placement(transformation(origin={108.903,51.0358},
extent={{-10,-10},{10,10}})));
equation
//气压模型
log10(P_H2O_sat+0.0001) = -2.175 + 0.0295 * (T_FC - 273.15) - 0.0000918 * (T_FC - 273.15) ^ 2 + 0.000000144 * (T_FC - 273.15) ^ 3;    //饱和水蒸气压力,bar//
//P_H2O_sat = 0.47;
p_H2 = 0.5 * P_H2O_sat * (1 / (X_H2O_sat * exp(1.653 * i_FC / T_FC ^ 1.334)) - 1);                                        //氢气分压
p_O2 = p_ca * (1 - X_H2O_sat - X_N2_channel * exp(0.291 * i_FC / T_FC ^ 10.832));                                              //氧气分压
X_H2O_sat = P_H2O_sat / p_an;
X_N2_in = 0.79 * (1 - X_H2O_sat);
X_N2_out = (1 - X_H2O_sat) / (1 + (0.21 / 0.79) * (1 - 1 / lamda_air));
X_N2_channel = (X_N2_in - X_N2_out) / log(X_N2_in / X_N2_out);

//电压模型
E_nerst = 237000/(2*F) - (-163.24 / (2 * F)) * (T_FC - 298.15) + (8.314 * T_FC / (2 * F)) * log(p_H2 * sqrt(p_O2) / P_H2O_sat);  //能斯特电压,V//
I_FC = i_FC * A_FC;
V_act = (V0 + Va * (1 - exp(-c1 * i_FC)));                                                                                                 //活化极化
V0 = 0.279 - 8.5 * 10 ^ (-4) * (T_FC - 298.15) + 1.4454 * 10 ^ (-7) * T_FC * (log(p_ca - P_H2O_sat) + 0.5 * log(0.1173 * (p_ca - P_H2O_sat)));  //零电流密度时活化极化电损
Va = (-1.618 * 10 ^ (-5) * T_FC + 1.618 * 10 ^ (-2)) * (p_O2 / 0.1773 + P_H2O_sat) ^ 2 + (1.8 * 10 ^ (-4) * T_FC - 0.166) * (p_O2 / 0.1773 + P_H2O_sat) + (-5.8 * 10 ^ (-4) * T_FC + 0.5736);

V_ohmic = i_FC * r_m * houdu_m;                                                                               // 电流密度*单位厚度膜电阻*膜厚度//
r_m = 1 / ((0.005139 * lamda - 0.00326) * exp(350 * (1 / 303 - 1 / T_FC)));
c2 = cccc(T_FC, p_O2, P_H2O_sat);
V_conc = i_FC * (c2 * (i_FC / imax)) ^ c3;                                                              //浓差极化//
V_cell = E_nerst - V_act - V_conc - V_ohmic;
n_H2 = N_FC * I_FC / (2 * F);                                                                //进气量与电流的关系//
///输出功率
p=V_cell*N_FC*I_FC;
//物质守恒
n_H2_in = n_H2 + n_H2_out;
n_O2_in = 0.5 * n_H2 + n_O2_out;
n_H2O = n_H2;
n_H2 = 0.8 * n_H2_in;
n_O2_in = 0.2 * n_air_in;
f_outZC = n_H2_in * 2;

q_net = q_che - v - q_sl - q_cool;  //能量守恒//
q_che = n_H2 * dG;  // 化学反应热量//
dG = dG_0 - R * T_FC * ln(p_H2 * p_O2 ^ 0.5);
v = V_cell;
q_sl = (n_H2_out * T_FC - n_H2_in * T_a) * cp_H2 + (n_O2_out * T_FC - n_O2_in * T_a) * cp_O2 + n_H2O * (T_FC - T_a) * cp_w + n_H2O * H_v;
q_cool = m_w * cp_w * (T_FC - T_FC_in)*(1-exp(-a2));
a2 = h_FC * N_FC * A_FC/10000/m_w/cp_w;
m_w = 68;
q_net = m_FC * cp_FC * der(T_FC);
T_FC_out = T_FC + exp(-a2)*(T_FC_in-T_FC);

//物质守恒

// //M_an_out = M_an_in - u * M_an_in;                 //阳极输出流量
// M_ca_in_O2 = M_ca_in * 0.21;                      //阴极输入氧气
// M_ca_in_N2 = M_ca_in * 0.79;                      //阴极输入氮气
// M_ca_in_N2 = M_ca_out_N2;                         //阴极输出氮气
// M_ca_out_O2 = M_ca_in_O2 - 0.5 * M_H2_xiao_hao;   //阴极输出氧气/

//热力学模型
// der(T_FC) = (H_in- H_out - Q_cl - P) / m_stC_P_st;              //热力学平衡

// H_in = H_in_an + H_in_ca;                                     //输入焓
// H_out = H_out_an + H_out_ca;                                //输出焓

// H_in_an = n_an_in * (H_H2 + q);
// H_in_ca = n_ca_in_O2 * H_O2;

// H_out_an = M_an_out * (H_H2 + q);
// H_out_ca = M_ca_out_O2 * H_O2;

// der(Q_cl) = n_air * Cp_air * (T_FC - T_air);                //风扇冷却
// H_H2 * 1000 = -6.013e-06 * T_FC ^ 3 + 0.00785 * T_FC ^ 2 + 25.8 * T_FC - 8230;
// H_O2 * 1000 = 6.23e-06 * T_FC ^ 3 - 0.002998 * T_FC ^ 2 + 29.5 * T_FC - 8695;

end PEMFCyan_zheng;

接下来描述一下我的逻辑和我遇到的问题。从valve_PID1输出的tracking_w_need作为气体实际流量同时输入到燃料电池PEMFCyan_zheng1模块f_outZC端口和feedback模块w_actul端口。valve_PID1输出的tracking_w_need作为目标气体流量输入到feedback模块的f_in1端口,通过里面的公式循环。燃料电池输出的功率p反馈到feedback模块p端口。feedback模块输出的信号为w_neednew,到valve_PID1模块的setpoint端口。这就是大概的流程。我解释一下valve_PID1里面的公式setpoint=tracking_w_need;,目的是让setpoint数值不变,直接赋值给tracking_w_need,以w_in1的形式进入feedback模块。通过这几个公式更新迭代数值“algorithm
if error1 / w_in1 <= 0.01 then
w_neednew := w_in1 + a * (p0 - p);
else
w_neednew := w_in1;
end if;

if w_neednew <= 0 then
w_neednew := 0.001;
end if;

equation
test = a * (p0 - p);
error1 = abs(w_in1 - w_actul);
test3 = w_neednew - w_in1;

现在的问题是,我想让上一次的输出的tracking_w_need作为第二次的w_in1输入。但是,feedback输出的w_neednew恒等于setpoint=tracking_w_need,这就导致,通过tracking_w_need=w_in1递推得到,w_neednew = w_in1 ,这与公式w_neednew := w_in1 + a * (p0 - p);相矛盾,显然,前一步的数据未封存更新。你听懂我的问题了吗?想办法帮我修改一下

所属专栏:Sysplorer基础平台
产品信息:Sysplorer系统建模仿真环境
系统建模

全部回答 1

用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天