MATLAB分段函数及应用实例

MATLAB分段函数及应用实例简单实例:用matlab画分段函数        当x<0时 y=5*sin(x);        当x>=0且x<=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);p…

大家好,又见面了,我是你们的朋友全栈君。

简单实例:用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分段函数及应用实例

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

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)...
    +V.*(t>=Tacc & t<Td)...
    +(V-A*(t-Td)).*(t>=Td & t<Tdd)...
    +((V-A*(Tdd-Td))+A*(t-Tdd)).*(t>=Tdd & t<Tddd)...
    +V.*(t>=Tddd & t<Tdddd)...
    +(V-A*(t-Tdddd)).*(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分段函数及应用实例

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)...
    +(V1+A*(t-Ts)-J*(t-Ts).^2/2).*(t>=Ts & t<Tacc)...
    +V2.*(t>=Tacc & t<T1)...
    +(V3-J2*(t-T1).^2/2).*(t>=T1 & t<T2)...
    +(V4-A2*(t-T2)+J2*(t-T2).^2/2).*(t>=T2 & t<T3)...
    +V5.*(t>=T3 & t<T4)...
    +(V6+J3*(t-T4).^2/2).*(t>=T4 & t<T5)...
    +(V7+A3*(t-T5)-J3*(t-T5).^2/2).*(t>=T5 & t<T6)...
    +V8.*(t>=T6 & t<T7)...
    +(V9-J4*(t-T7).^2/2).*(t>=T7 & t<T8)...
    +(V10-A4*(t-T8)+J4*(t-T8).^2/2).*(t>=T8 & t<Ted);
figure(2);
plot(t*1000,Vt/1000);
axis([0 1.6*1000 0 220000/1000]);
title('S形曲线调速过程');
xlabel('时间(ms)');
ylabel('速度(KHz)');
grid on;

MATLAB分段函数及应用实例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134071.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Charles打断点修改请求数据&响应数据

    Charles打断点修改请求数据&响应数据

    2021年7月13日
    296
  • java数组如何赋值_java数组如何赋值

    java数组如何赋值_java数组如何赋值Java语言中数组必须先初始化,然后才可以使用。所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。初始化数组有以下3种方式:1)使用new指定数组大小后进行初始化使用new关键字创建数组,在创建时指定数组的大小。语法如下:type[]arrayName=newint[size];示例:int[]number=newint[5];number[0]…

    2022年7月16日
    65
  • 程序无法启动0xc0000005咋做_应用程序错误0xc0000005

    程序无法启动0xc0000005咋做_应用程序错误0xc0000005大家在使用电脑的时候有没有遇到过0xc0000005错误问题呢?很多朋友在打开应用程序的时候就弹出0xc0000005问题,找了半天都没找到正确解决方法。那就来瞧瞧小编整理了修复0xc0000005的方法吧。应用程序无法正常启动0xc0000005解决方法方法一:卸载最新更新或回滚驱动程序更新一些程序软件与系统不兼容会导致此现象,如果是新安装的应用程序或者驱动建议将其卸载。有时Windowsup…

    2022年10月3日
    0
  • Docker学习笔记(1) — 安装docker

    Docker学习笔记(1) — 安装docker

    2022年3月6日
    59
  • 开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]

    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]

    2021年12月8日
    49
  • Protostuff序列化分析

    Protostuff序列化分析Protostuff序列化分析最近项目中需要将业务对象直接序列化,然后存数据库;考虑到序列化、反序列化的时间以及生产文件的大小觉得Protobuf是一个很好的选择,但是Protobuf有的问题就是需要有一个.proto的描述文件,而且由Protobuf生成的对象用来作为业务对象并不是特别友好,往往业务对象和Protobuf对象存在一个互相转换的过程;考虑到我们仅仅是将业务对象直接序列化到数据库,发现Protobuf在这种情况下并不是特别的好;这时候发现了Protostuff,protostuff不需

    2022年5月6日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号