MATLAB分段函数没有横线,一个简单的分段函数就是画不出来

想画一个简单的分段函数,一个抛物线从0起然后降落到0,然后紧接着的值都是0。

这个是程序

A=2000;T1=0.06;

t=[0:0.001:0.06];

s3t_1=(-6*A*(t.^2)/T1^3)+(6*A*t/T1^2).*( t>=0&t<0.06);

s3t_2=0*( t>=0.06&t<=0.585);

S=s3t_1+s3t_2;

plot(t,S);

axis([0 0.6 -60000 60000]);

grid on;

A,T1都是常数,s3t_1是抛物线的表达式,s3t_2是0的表达式。以t为自变量画图,希望( t>=0&t<0.06)段是抛物线,( t>=0.06&t<=0.585)这段的值为0,这个时候问题就来了。

当t=[0:0.001:0.585];画出来是这样的

1097de56337ecac57f0a44c14b84727c.png

2.JPG (32.21 KB, 下载次数: 8)

2015-9-27 13:16 上传

0的那段并没有显示出来。

当改成t=[0:0.001:0.585][url=];时画出来是这样的[/url]

a2a4199bbdbe7757a4dc10de6c5a982f.png

3.JPG (32.03 KB, 下载次数: 11)

2015-9-27 13:17 上传

不仅没有显示0的部分,抛物线还多出0以下的竖线。。从工作台里看并不是一条垂线,是一条莫名的曲线。。

事实上我发现在我设定t的范围的时候,当t的种植大于0.06的时候就会出现下面这根线。我的分段时间就是让抛物线在0到0.585之间,之后全是0,但是并没有起到限定作用。

然而,

x=-3:0.001:5;y2=(-x.^2+1) .* (x>=0&x<1);

y3=0 .* (x>=2&x<=3);

y= y2+y3;

figure(1)

plot(x,y,'-')

axis([-1 5 -11.5]);

这个程序和我那个一样的,只是数据不同函数不同,却可以正常显示。。

2b5ba2bde96a3ca9b312b2ea1c9c04b2.png

1.JPG (18.08 KB, 下载次数: 3)

2015-9-27 13:22 上传

究竟是什么问题呢?

还有没有其他画分段函数的方法,比如用if,可我不太会用。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值