|
楼主 |
发表于 2008-3-19 11:38
|
显示全部楼层
成了,哈哈,感谢领导!
附上部分代码:
index1=find(diff(sign(diff(x(1,:))))==-2)+1;
index2=find(diff(sign(diff(x(1,:))))==2)+1;
plot(t(index1),x(1,index1),t(index2),x(1,index2),t,x(1,:))
再附上,根据领导的提示查到的资料:
5)在Matlab中如何求最值点?如何求一维数组的极值?
:#FangQ(Qianqian.Fang@Dartmouth.Edu),2002/6/18, SMTH/MathTools#
最值:
一维或多维数组最值用max(data()
如果想返回最值所在的位置,用[Y,I]=max(data)
:#FangQ(Qianqian.Fang@Dartmouth.Edu), 2001/4/21,UESTC/Math#
极值:
data是你的数据,
find(diff(sign(diff(data)))==-2)+1
找到极大值的位置
find(diff(sign(diff(data)))==2)+1
找到极小值的位置
data(find(diff(sign(diff(data)))==-2)+1)和
data(find(diff(sign(diff(data)))==2)+1)
返回的是极大值和极小值
[ 本帖最后由 xiaobenxiong 于 2008-3-19 11:51 编辑 ] |
评分
-
1
查看全部评分
-
|