glfkuan
2012-11-16, 11:40
求教一个分段函数的问题——定义分段函数,并绘制图形。
大家帮我看看为什么会得到2个不同的图形?????求教,谢谢!
分段函数是:
当x≥0时,f(x)=2x^2-3sinx
当x<0时,f(x)=-ln(-x)+x
我先在func1.m中编写分段函数
function y = f( x )
if x<0
y=-log(-(x))+x;
else
y=2*x.^2-3*sin(x);
end
end
然后在command window中输入:
>> x=[-2:0.01:2];
>> y=func1(x);
>> plot(x,y);xlabel('x');ylabel('y');
得到图形1:
(图形弄不上来,大家可以把我的程序输入到Matlab里面自己画一下)
若在command window中输入:
>> x=[-2:0.01:2];
>> y=zeros(size(x));
>> for a=1:length(x)
y(a)=func1(x(a));
end
>> plot(x,y); xlabel('x');ylabel('y')
得到图形2:
为什么同一个分段函数func1会画出2个不同的图像呢?请指教!
大家帮我看看为什么会得到2个不同的图形?????求教,谢谢!
分段函数是:
当x≥0时,f(x)=2x^2-3sinx
当x<0时,f(x)=-ln(-x)+x
我先在func1.m中编写分段函数
function y = f( x )
if x<0
y=-log(-(x))+x;
else
y=2*x.^2-3*sin(x);
end
end
然后在command window中输入:
>> x=[-2:0.01:2];
>> y=func1(x);
>> plot(x,y);xlabel('x');ylabel('y');
得到图形1:
(图形弄不上来,大家可以把我的程序输入到Matlab里面自己画一下)
若在command window中输入:
>> x=[-2:0.01:2];
>> y=zeros(size(x));
>> for a=1:length(x)
y(a)=func1(x(a));
end
>> plot(x,y); xlabel('x');ylabel('y')
得到图形2:
为什么同一个分段函数func1会画出2个不同的图像呢?请指教!