没有合适的资源?快使用搜索试试~ 我知道了~
matlab极值查找程序
5星 · 超过95%的资源 需积分: 31 44 下载量 89 浏览量
2012-09-25
22:42:26
上传
评论
收藏 26KB DOC 举报
温馨提示
试读
2页
MATLAB peakfiender matlab极值查找程序 n迭代次数,data是一维输入,peakval是找到峰值,peakcoor是峰值所在位置
资源推荐
资源详情
资源评论
matlab 极值查找程序
%n 迭代次数,data 是一维输入,peakval 是找到峰值,peakcoor 是峰值所
在位置
function [peakval,peakcoor] = peaknder(data,n)
premaxindexbox=nd(di(sign(di(data)))==-2)+1;
premaxvaluebox=data(premaxindexbox);%极大值
if n==1
%额外情况:为防止机制的漏点而设置
originpeakval=max(data);
originpeakcoor=nd(data==originpeakval);
%合并
peakcoor=[premaxindexbox;originpeakcoor];
peakval=[premaxvaluebox;originpeakval];
%绘图
plot(data);hold on
plot(peakcoor,peakval,'ro','LineWidth',1);
hold o
else
for i=2:n
nextmaxindex=nd(di(sign(di(premaxvaluebox)))==-
2)+1;%在最大值中再次找最大值,得到序列号
nextmaxindexbox=premaxindexbox(nextmaxindex);%依据序
列号找到第一列对应值,即二次极值的坐标
nextmaxvaluebox=premaxvaluebox(nextmaxindex);%依据序
列号找到第二列对应值,即二次极值的值
if i<n
premaxindexbox=nextmaxindexbox;
premaxvaluebox=nextmaxvaluebox;
end
end
if rem(i,2)==0
color='ko';size=i;
colorline='k';
elseif rem(i,2)~=0
color='go';size=i;
colorline='g';
end
%额外情况:为防止机制的漏点而设置
originpeakval=max(data);
originpeakcoor=nd(data==originpeakval);
%合并
peakcoor=[nextmaxindexbox;originpeakcoor];
peakval=[nextmaxvaluebox;originpeakval];
资源评论
- shuiyuefang2014-05-22虽然是个简单的程序,还是有参考价值
ygshi_1981
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功