1.簡單實例:用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);plot(x,y);grid on;
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;
2.應用:加減速仿真曲線繪制
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[1]?是美國MathWorks公司出品的商業數學軟件,用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括MATLAB和Simulink兩大部分。
MATLAB是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公司發布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態系統的建模和仿真等諸多強大功能集成在壹個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了壹種全面的解決方案,並在很大程度上擺脫了傳統非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。
MATLAB和Mathematica、Maple並稱為三大數學軟件。它在數學類科技應用軟件中在數值計算方面首屈壹指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創建用戶界面、連接其他編程語言的程序等,主要應用於工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。
MATLAB的基本數據單位是矩陣,它的指令表達式與數學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,並且MATLAB也吸收了像Maple等軟件的優點,使MATLAB成為壹個強大的數學軟件。在新的版本中也加入了對C,FORTRAN,C++,JAVA的支持。