声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2103|回复: 4

[编程技巧] MATLAB提取极大值点进行曲线拟合

[复制链接]
发表于 2009-3-22 16:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我用有限元软件计算所得数据,画出的振动曲线如图中红色曲线所示,现在我提取正半轴上的极大值点进行曲线拟合以得到黑色曲线所示的曲线,怎么编制提取程序段啊!

/////原曲线段程序如下所示:
clc;
close;
a=(0:0.001:0.3)';
b=[0;-0.982765;-2.29855;-0.905236;1.51222;0.453439;-1.5385;-0.0389699;1.46525;-0.34262;
-1.28965;0.650925;1.04826;-0.879387;-0.764712;1.02475;0.45896;-1.08385;-0.153925;1.05881;
-0.124264;-0.966048;0.363045;0.818897;-0.552864;-0.628851;0.680506;0.418992;-0.747781;
-0.204633;0.757801;-0.00161282;-0.71298;0.18338;0.624805;-0.332014;-0.504251;0.441852;
0.362166;-0.508876;-0.211065;0.533112;0.0628988;-0.518408;0.0730473;0.469964;-0.189076;
-0.394284;0.278683;0.300364;-0.339218;-0.196497;0.36994;0.0905205;-0.37157;0.0095674;
0.34762;-0.0977283;-0.30263;0.169415;0.241841;-0.221382;-0.171295;0.252287;0.0969957;
-0.262486;-0.02436;0.253551;-0.0418299;-0.228176;0.097658;0.190051;-0.140537;-0.143191;
0.169002;0.091731;-0.18264;-0.0397916;0.182237;-0.00903747;-0.169404;0.0517858;
0.146378;-0.0861714;-0.115904;0.110781;0.0809179;-0.125043;-0.044306;0.12913;0.00876384;
-0.123896;0.0233788;0.110764;-0.050312;-0.0915133;0.0707762;0.0681442;-0.0840833;
-0.0427324;0.0901334;0.0172456;-0.0893277;0.00656503;0.0824848;-0.0272494;-0.0707561;
0.0437418;0.0554954;-0.0553852;-0.0381425;0.0619233;0.020123;-0.0634808;-0.00274884;
0.0605125;-0.0128632;-0.0537289;0.0258407;0.0440227;-0.0355882;-0.0323891;0.0418016;
0.0198416;-0.0444517;-0.00734235;0.0437562;-0.00425621;-0.0401391;0.0142603;
0.0341767;-0.0221636;-0.0265405;0.0276597;0.0179423;-0.0306422;-0.00907978;0.0311891;
0.00058997;-0.0295363;0.00698694;0.0260441;-0.0132338;-0.0211587;0.0178719;0.0153713;
-0.0207639;-0.00917996;0.0219075;0.00305462;-0.0214208;0.00259223;0.0195202;
-0.00742726;-0.0164948;0.0112101;0.0126783;-0.0137995;-0.00842121;0.0151521;
0.00406485;-0.015314;8.10E-05;0.0144078;-0.00375561;-0.0126157;0.00676012;0.0101599;
-0.00896377;-0.0072833;0.0103054;0.00423046;-0.0107898;-0.00123044;0.0104802;
-0.00151704;-0.00948675;0.00385196;0.00795452;-0.00566057;-0.00604902;0.00687801;
0.00394281;-0.00748718;-0.00180282;0.00751463;-0.000220443;-0.00702382;0.00200137;
0.00610659;-0.00344509;-0.00487371;0.00449049;0.00344516;-0.00511063;-0.00194084;
0.00531075;0.000472407;-0.0051243;0.000863506;0.00460749;-0.00199019;-0.00383283;
0.00285391;0.0028824;-0.00342496;-0.0018411;0.00369708;0.000790511;-0.00368518;
0.000196286;0.00342197;-0.00105881;-0.00295371;0.00175187;0.00233554;-0.002247;
-0.00162667;0.00253248;0.000885893;-0.00261227;-0.000167569;0.00250402;-0.000481573;
-0.00223625;0.0010248;0.00184524;-0.00143676;-0.00137163;0.00170396;0.00085718;
-0.00182433;-0.000341735;0.00180611;-0.000139253;-0.00166611;0.000556677;0.00142761;
-0.000889059;-0.00111803;0.00112316;0.000766555;-0.00125397;-0.000402003;0.00128412;
5.08E-05;-0.00122285;0.00026439;0.00108463;-0.000526084;-0.000887563;0.000722322;
0.000651782;-0.000847001;-0.000397795;0.00089961;0.000145059;-0.000884635;8.92E-05;
0.000810694;-0.000291106;-0.000689477;0.000450346;0.000534604;-0.000560828;
-0.000360473;0.000620453;0.000181184;-0.000630846;-9.61E-06;0.000596822;-0.000143359;
-0.000525702;0.000269318;0.000426528;-0.000362668;-0.00030925;0.000420671;0.000183941;
-0.00044332;-6.01E-05;0.000433032;-5.40E-05;-0.000394212;0.000151514;0.000332725;
-0.000227721;-0.000255333;0.000279758;0.000169127;-0.000306772;-8.10E-05;0.00030972;
-2.77E-06;-0.000291103;7.69E-05;0.00025462;-0.000137523;-0.000204778;0.000181865; 0.000146494];
c=linspace(0,0.3,3000);
d=interp1(a,b,c,'spline');
plot(c,d,'r-*','linewidth',1.5)

[ 本帖最后由 ChaChing 于 2009-3-22 22:12 编辑 ]
曲线似合.JPG
回复
分享到:

使用道具 举报

发表于 2009-3-22 20:36 | 显示全部楼层
for   i-1:1:N
   
    if(a(i)>a(i-1)&&a(i)>a(i+1))
    b(j)=a(i)
j++;
end
发表于 2009-3-22 22:17 | 显示全部楼层

回复 沙发 tulip8599 的帖子

楼上的程序好像不是matlab吧!
发表于 2009-3-22 22:19 | 显示全部楼层

回复 楼主 lookfordream 的帖子

搜一下包络线!
http://forum.vibunion.com/forum/vi ... =%BC%AB%B4%F3%D6%B5

还有楼主数据应该使用附件, 以load读进matlab, 盖那麽高的楼层, LZ会看吗? 害我编了手酸, 下次扣分!
水平有限, 建议楼主加强发问题方式!

[ 本帖最后由 ChaChing 于 2009-3-22 22:33 编辑 ]
 楼主| 发表于 2009-3-22 22:42 | 显示全部楼层

回复ChaChing

谢谢你的认真工作态度,当时发问时急了,就直接拷贝发了,不好意思啊
也谢谢上面那位回复问题的朋友
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 17:34 , Processed in 0.063055 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表