⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deriver.m

📁 Savitzky & Golay 微分
💻 M
字号:
function[diff]=deriver(raw,punkt)
%function[diff]=deriver(raw,punkt)
%Savitzky & Golay-derivasjon langs n-retning, 5,7,9...21 punkts
%antar:raw=n*m=(# retensjonstider)*(# b鴏getall)

[n,m]=size(raw);
convolute5=[-1 8 0 -8 1];
convolute7=[-22 67 58 0 -58 -67 22];
convolute9=[-86 142 193 126 0 -126 -193 -142 86]; 
convolute11=[-300 294 532 503 296 0 -296 -503 -532 -294 300];
convolute13=[-1133 660 1578 1796 1489 832 0 -832 -1489 -1796 -1578 -660 1133];
convolute15=[-12922 4121 14150 18334 17842 13843 7506 0 -7506 -13843 -17842 -18334 -14150 -4121 12922];
convolute17=[-748 98 643 930 1002 902 673 358 0 -358 -673 -902 -1002 -930 -643 -98 748];
convolute19=[-6936 -68 4648 7481 8700 8574 8179 5363 2816 0 -2816 -5363 -8179 -8574 -8700 -7481 -4648 68 6936];
convolute21=[-84075 -10032 43284 78176 96947 101900 95338 79504 56881 29592 0 -29592 -56881 -79504 -95338 -101900 -96947 -78176 -43284 10032 84075];
if (punkt == 5)
        convolute = convolute5;
	number=12;        
elseif (punkt == 7)
        convolute = convolute7;
	number=252;
elseif (punkt == 9)
        convolute = convolute9;
	number=1188;
elseif (punkt == 11)
        convolute = convolute11;
	number=5148;
elseif (punkt == 13)
        convolute = convolute13;
	number=24024;
elseif (punkt == 15)
        convolute = convolute15;
	number=334152;
elseif (punkt == 17)
        convolute = convolute17;
	number=23256;
elseif (punkt == 19)
        convolute = convolute19;
	number=255816;
else
        convolute = convolute21;
	number=3634092;
end;

start=(punkt+1)/2;
slutt=(n+(punkt-1)/2);
for i=1:m
        a(:,1)=raw(:,i);
        b=conv(convolute,a);
        diff(:,i)=b(start:slutt)./number;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -