matlab如何画函数的外包络曲线,怎样在MATLAB中划出一个函数的包络线?
滄海一幻覺
下面是一系列關于MATLAB的包絡線的程序:%這是定義了一個函數:function [up,down] = envelope(x,y,interpMethod)%ENVELOPE gets the data of upper and down envelope of the known input (x,y).%% Input parameters:% x the abscissa of the given data% y the ordinate of the given data% interpMethod the interpolation method%% Output parameters:% up the upper envelope, which has the same length as x.% down the down envelope, which has the same length as x.%% See also?DIFF?INTERP1% Designed by: Lei Wang, , 11-Mar-2003.% Last Revision: 21-Mar-2003.% Dept. Mechanical & Aerospace Engineering, NC State University.% $Revision: 1.1 $ $Date: 3/21/2003 10:33 AM $if length(x) ~= length(y)error('Two input data should have the same length.');endif (nargin < 2)|(nargin > 3),error('Please see help for INPUT DATA.');elseif (nargin == 2)interpMethod = 'linear';end% Find the extreme maxim values% and the corresponding indexes%----------------------------------------------------extrMaxValue = y(find(diff(sign(diff(y)))==-2)+1);extrMaxIndex = find(diff(sign(diff(y)))==-2)+1;% Find the extreme minim values% and the corresponding indexes%----------------------------------------------------extrMinValue = y(find(diff(sign(diff(y)))==+2)+1);extrMinIndex = find(diff(sign(diff(y)))==+2)+1;up = extrMaxValue;up_x = x(extrMaxIndex);down = extrMinValue;down_x = x(extrMinIndex);% Interpolation of the upper/down envelope data%----------------------------------------------------up = interp1(up_x,up,x,interpMethod);down = interp1(down_x,down,x,interpMethod);
總結
以上是生活随笔為你收集整理的matlab如何画函数的外包络曲线,怎样在MATLAB中划出一个函数的包络线?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.2万亿立方米!我国又发现巨型页岩气资
- 下一篇: origin怎么打开txt文本_【每日一