کلیدستان

نسخه‌ی کامل: مشکل در برنامه C
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام میدونم جای درستی سوال و نمیزارم اما جای مناسبش رو پیدا نکردم عذرمیخوام

راستش من دارم برنامه فازیم رو به زبان c مینویسم توی کدویژن و به مشکل خوردم

توابع عضویتم رو تعریف کردم
به این صورت

کد:
//input1//
float G_small(float G)
{
if (G <1)
return (0);
else
{if (G <200.5)
return (G * 0.00498);
else
{if (G <867.391)
return (-G * 0.001499);
else
return (0);
}
}
}

کد:
float T_means ( float T )
{
if (T <10)
return (0);
else
{if (T <31.5)
return (T * 0.0465);
else
{if (T <43.5)
return (-T * 0.083);
else
return (0);
}
}
}

کد:
//output

float D_large ( float D )
{
if (D <0.435)
return (0);
else
{if (D <0.5024)
return (D * 14.837);
else
{if (D <0.55)
return (-D * 21.008);
else
return (0);
}
}
}

دوتای اول ورودی و سومی خروجی م

برای تعریف قوانین به مشکل خوردم
من الان می خوام این قانون رو تعریف کنم
if G=G_small and T=T_means then D=D_means

این جوری نوشتم اما ایراد میگیره

کد:
//RULES//
float D(float G , float T)
{
if(G_small==G && T_means==T)  D=D_means;

}

میگه :
نقل قول:Error:: operand types 'float (*)(float)' and 'float' are incompatible with the '==' operator

میدونید مشکلم کجاس؟؟؟؟Undecided
یه کد برای نوشتن قوانین پیدا کردم اما ازش سر در نمی آرم Confused

کد:
struct rule_element_type{
  int *value;                /* pointer to antecedent/output strength value */
  struct rule_element_type *next; /* next antecedent/output element in rule */
  };
struct rule_type{
  struct rule_element_type *if_side;     /* list of antecedents in rule */
  struct rule_element_type *then_side;   /* list of outputs in rule     */
  struct rule_type *next;                /* next rule in rule base  */
  };
struct rule_type *Rule_Base;             /* list of all rules in rule base */

و این


کد:
structfuzzy_rule
{
struct MF_lable *input1;
struct MF_lable *output;
float f;
};
struct fuzzy_rule R[Num_rules];
For example, rule1 “If error is NEG then firing angle is Z” can be defined as follows-
R[1].input1=&NEG;
R[1].output=&Z;
R[1].f=0; //initializing
سلام.
متاسفانه در زمینه این خطا، اطلاعات خاصی ندارم.