我想使用C编程运行增量电导算法[已关闭]

w8f9ii69  于 2023-03-17  发布在  其他
关注(0)|答案(1)|浏览(93)

**已关闭。**此问题为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

8dtrkrch

8dtrkrch1#

第3行的括号不匹配。
应该是

if (DeltaVpv!=0){

这将有助于发布整个函数,因为看起来DeltaVpv没有在任何地方声明或定义。

相关问题