当前位置:编程学习 > 网站相关 >>

下面的MATLAB代码哪里有问题?为何不能正常运行?

function y=F(x,p)
x(1)=x,
i=1;
while (i<=100)
    if (x(i)>=0&x(i)<p)
        y(i)=x(i)/p;
    elseif (x(i)>=p&x(i)<0.5)
        y(i)=(x(i)-p)/(0.5-p);
    elseif (x(i)>=0.5&x(i)<1)
        y(i)=F((1-x(i)),p);
    end
    x(i+1)=y(i);
    i=i+1;
end
plot(y); --------------------编程问答-------------------- p赋值了没 --------------------编程问答-------------------- p值我赋了,程序无法运行。但我看不出哪里有问题? --------------------编程问答-------------------- 是运行结果不对还是 语法有问题?

p值你赋的多少?要是大于0.5,那么while中的判断都会达不到,相当于语句都不会执行啊
那么对x(i)和y(i)的复制都是错的 --------------------编程问答-------------------- 我赋的值是F(0.98,0.45)。。。等等都是在0<x<1,0<p<0.5区间的值,可是总显示超出精度, --------------------编程问答-------------------- x,y是定义的什么变量啊
可能算几轮后,x,y会超出范围。
你把循环减少,然后逐步调,把中间结果输出。看到哪一步错误了
补充:云计算 ,  云安全
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,