Matlab程序画图问题写了一个程序,目的是显示一个分段的函数.在x属于0到10之间,y取1;x取10到20之间y=0.1x+2;x大于20小于80时y取0.程序如下(只有几行就不注释了,)x=(0.1:0.1:80);y=zeros(1,800); for i=1:

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 03:16:27
Matlab程序画图问题写了一个程序,目的是显示一个分段的函数.在x属于0到10之间,y取1;x取10到20之间y=0.1x+2;x大于20小于80时y取0.程序如下(只有几行就不注释了,)x=(0.

Matlab程序画图问题写了一个程序,目的是显示一个分段的函数.在x属于0到10之间,y取1;x取10到20之间y=0.1x+2;x大于20小于80时y取0.程序如下(只有几行就不注释了,)x=(0.1:0.1:80);y=zeros(1,800); for i=1:
Matlab程序画图问题
写了一个程序,目的是显示一个分段的函数.在x属于0到10之间,y取1;x取10到20之间y=0.1x+2;x大于20小于80时y取0.程序如下(只有几行就不注释了,)
x=(0.1:0.1:80);
y=zeros(1,800);
 for i=1:1:800
     if i<=100  
         y(1,i)=1;
     elseif 100<i<=200
         y(1,i)=-0.1*0.1*i+2;
     elseif  201<i<=800 
         y(1,i)=0;
     end
 end
     plot(x,y)
但是出来的图形却是
     

也就是说在x的20到80部分起作用的仍然是第一个elseif语句,第二个elseif语句没有作用.请问这是什么情况?希望切实大神试验一下并作出正确的符合我想法的图形.

Matlab程序画图问题写了一个程序,目的是显示一个分段的函数.在x属于0到10之间,y取1;x取10到20之间y=0.1x+2;x大于20小于80时y取0.程序如下(只有几行就不注释了,)x=(0.1:0.1:80);y=zeros(1,800); for i=1:

x=(0.1:0.1:80);

y=zeros(1,800);

 for i=1:1:800

     if i<=100  

         y(1,i)=1;

     elseif 100<i & i<=200

         y(1,i)=-0.1*0.1*i+2;

     elseif  201<i & i<=800 

         y(1,i)=0;

     end

 end

     plot(x,y)