older 发表于 2009-6-8 15:06

请教Undefined function or variable

function中的一小段:

if dR(i)>1300
    fuzzydr=1;
    if dR(i)<-1300
      fuzzydr=-1;
    else
      fuzzydr=dR(i)/1300;
    end
end

if dq(i)>0.05
    fuzzydq=1;
    if dq(i)<-0.05
      fuzzydq=-1;
    else
      fuzzydq=dq(i)/0.05;
    end
end

am=evalfis(,ss);
函数中 if 定义的fuzzydr;fuzzydq在运行的时候 报错说


??? Undefined function or variable "fuzzydr".
Error in ==> rk_4fuzzy at 33
am=evalfis(,ss);         %模糊控制量

我觉得if中定义了,但是为什么还要我定义呢?或者是if中的变量定义无效?
请指教,谢谢

[ 本帖最后由 ChaChing 于 2009-6-8 21:19 编辑 ]

friendchj 发表于 2009-6-8 15:27

只能说明if那条语句未被执行,导致fuzzydr未被定义。

older 发表于 2009-6-8 15:41

谢谢,但是我还想问问
关于。m文件 运行的顺序;
我的if判断在前面进行归一化处理,为什么不先执行?而是执行后面的程序?

[ 本帖最后由 older 于 2009-6-8 16:03 编辑 ]

yufeng 发表于 2009-6-8 18:44

if dR(i)>1300
    fuzzydr=1;
    if dR(i)<-1300
      fuzzydr=-1;
    else
      fuzzydr=dR(i)/1300;
    end
end
逻辑有问题 大于1300 怎么可能再小于-1300
页: [1]
查看完整版本: 请教Undefined function or variable