![]() |
求教一个分段函数的问题——高手请进!
求教一个分段函数的问题——定义分段函数,并绘制图形。
大家帮我看看为什么会得到2个不同的图形?????求教,谢谢! 分段函数是: [FONT="Times New Roman"]当x≥0时,f(x)=2x^2-3sinx 当x<0时,f(x)=-ln(-x)+x[/FONT] 我先在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个不同的图像呢?请指教! |
回复: 求教一个分段函数的问题——高手请进!
请高手指点!!谢谢!!!
|
回复: 求教一个分段函数的问题——高手请进!
在第一个输入当中, x是一个向量, 向量并不都小于零, 所以直接都执行else去了. 所以就达不到你的目的了.可以改为
[code] y=(x<0).*(-log(-(x))+x)+(x>=0).*(2*x.^2-3*sin(x)); [/code] |
所有时间均为北京时间。现在的时间是 05:35。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.