MATLAB分段函数及应用实例

简单实例:用matlab画分段函数

        x<0时 y=5*sin(x);

        x>=0x<=5 y=x^2;

        x>5 y=(8-x)^2+16.

x=-5:0.001:10;
y=5*sin(x).*(x<0)+x.^2.*(x>=0 & x<=5)+((8-x).^2+16).*(x>5);
plot(x,y);
grid on;

MATLAB分段函数及应用实例_第1张图片

应用:加减速仿真曲线绘制

T形速度曲线变位过程

A=500000;V=100000;Tacc=0.2;Vs=0;S0=50000;S=200000;Td=0.5;Tdd=0.6;Tddd=0.7;Tdddd=1.05;Ted=1.25;
t=0:0.0001:Ted;
Vt=(Vs+A*t).*(t>=0 & t=Tacc & t=Td & t=Tdd & t=Tddd & t=Tdddd & t<=Ted);
plot(t*1000,Vt/1000);
axis([0 1.4*1000 0 120000/1000])
title('T形曲线变位过程');
xlabel('时间(ms)');
ylabel('速度(KHz)');
grid on;

MATLAB分段函数及应用实例_第2张图片


S形速度曲线变速过程

Vs=0;Ve=0;V=200000;Tacc=0.3;Tdec=0.3;Ts=0.15;Ts2=0.08;Ts3=0.07;Ts4=0.12;CV1=100000;CV2=160000;
T1=0.5;T2=T1+Ts2;T3=T2+Ts2;T4=T3+0.2;T5=T4+Ts3;T6=T5+Ts3;T7=T6+0.2;T8=T7+Ts4;Ted=T8+Ts4;%Ted=1.44;
t=0:0.0001:Ted;
J=V/(Tacc-Ts)/Ts;A=V/(Tacc-Ts);J2=(V-CV1)/Ts2/Ts2;A2=(V-CV1)/Ts2;J3=(CV2-CV1)/Ts3/Ts3;A3=(CV2-CV1)/Ts3;J4=CV2/Ts4/Ts4;A4=CV2/Ts4;
V1=J*Ts.^2/2;V2=V;V3=V;V4=V-J2*Ts2.^2/2;V5=CV1;V6=CV1;V7=CV1+J3*Ts3.^2/2;V8=CV2;V9=CV2;V10=V9-J4*Ts4.^2/2;
Vt=(Vs+J*t.^2/2).*(t>=0 & t=Ts & t=Tacc & t=T1 & t=T2 & t=T3 & t=T4 & t=T5 & t=T6 & t=T7 & t=T8 & t

MATLAB分段函数及应用实例_第3张图片



你可能感兴趣的:(编程语言与计算机基础,matlab,速度曲线,分段函数)