当前位置:编程学习 > Matlab >>

这是一个matlab程序,为什么这个程序只运行else后面的语句,求高人指导

x=-2*pi:0.01:2*pi; if x<0 y=cos(x); else y=sin(x); end plot(x,y)
答案:程序应该如下:
x=-2*pi:0.01:2*pi;
for i=1:length(x)
    if x(i)<0
        y(i)=cos(x(i));
    else
        y(i)=sin(x(i));
    end
end
plot(x,y)
其他:因为你的x永远>=0啊! 当x的元素全大于0时执行y=cos(x);否则执行y=sin(x);
但不能实现分段函数的功能
可以这样:
y=(x<0).*cos(x)+~(x<0).*sin(x);

上一个:matlab怎么调试程序,发现问题?
下一个:帮我看看这个matlab程序的问题...拜托拜托

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,