jxtiqu.m
来自「一个处理化学数据的MATLAB程序」· M 代码 · 共 33 行
M
33 行
function YY=jxtiqu2(YY,X)
eps=1.0e-5;
cvalue=1.0;
XJD=X(1:300); %X的前300个数据
YJD=YY(1:300)'; %YY的前300个数据的转置
P=polyfit(XJD,YJD,2); %拟合出一条二次曲线(函数拟合)
tendency=polyval(P,X'); %多项式在x处的值
%plot(YY,'b')
%hold on
%plot(tendency,'k')
%plot(YY-tendency,'r')
YY=YY-tendency;
%hold off
%pause
nonsignalvalue=0.0;
while cvalue>=eps
index=find(YY<=nonsignalvalue); %返回满足条件的YY的序号
XJD=X(index); %再次拟合,直到
YJD=YY(index)';
P=polyfit(XJD,YJD,2);
tendency=polyval(P,X');
%plot(YY,'b')
%hold on
%plot(tendency,'k')
%plot(YY-tendency,'r')
YY=YY-tendency;
cvalue=abs(min(YY));%also well!
%cvalue=max(abs(tendency));%also well!
%hold off
%pause
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?