**已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我写了代码,但在输出函数代码的第3行中,我一直得到第3行:错误:预期表达式以下是代码
double Ppv,deltaD,D2;
deltaD = 0.01;
if ((DeltaVpv!=0){
if ((DeltaIpv/DeltaVpv)>(-Ipv/Vpv)){
D2 = PREV_D - deltaD;
}
else if ((DeltaIpv/DeltaVpv)<(-Ipv/Vpv)){
D2 = PREV_D + deltaD;
}
}
else if (DeltaVpv==0){
if (DeltaIpv!=0){
D2 = PREV_D + deltaD;
}
}
if (D2>1){
D=1;
else
if (D2<0){
D=0;
else
D=D2;
THESE ARE MY OTHER CODE
CODE DECLARATIONS
#include <math.h>
double Ppv,deltaD,D2;
double Vpv=0.0;
double Ipv=0.0;
double DeltaVpv=300;
double DeltaIpv=38;
#define Vpv InputSignal(0,0)
#define Ipv InputSignal(0,1)
#define D OutputSignal(0,0)
#define PREV_D DiscState(0)
#define PREV_P DiscState(1)
#define PREV_V DiscState(2)
#define PREV_I DiscState(3)
#define DeltaVpv =Vpv-PREV_V;
#define DeltaIpv =Ipv-PREV_I;
START FUNCTION CODE
PREV_D = 0.366;
PREV_V = 38 ;
PREV_P = 290;
PREV_I= 8.5;
UPDATE FUNCTION CODE
PREV_D = D;
PREV_V = Vpv;
PREV_I = Ipv;
PREV_P = Vpv*Ipv;
我是C编程新手,所以我不知道问题出在哪里。附件是我所遵循的流程图。enter image description here
1条答案
按热度按时间8dtrkrch1#
第3行的括号不匹配。
应该是
这将有助于发布整个函数,因为看起来
DeltaVpv
没有在任何地方声明或定义。