资源简介
3f43610efc41412ee54a01d2fed70e5b.rar
代码片段和文件信息
clc
clear
close all
load leafname.mat; %载入光谱数据,一行代表一个样本
matrix = leafspectral_matrixZT; % 将载入的光谱数据赋给matrix
leafmsc = msc(matrix); % 对光谱数据进行msc多元散射校正
%% 绘制图像进行对比 msc前后的对比
plot(leafmsc‘)
figure(2)
plot(matrix‘)
leafmsc = leafmsc‘;
%% 进行 sgolya平滑 和SG-1阶平滑
N = input(‘请输入拟合次数‘); % 设置SG滤波器中多项式的阶数
F = input(‘设置窗口参数(奇数)‘); % 设置SG滤波器中框架的边长
%%
[bg]=sgolay(NF); % sgolay滤波器函数调用
% b的维度是F*F的.b的每一行代表一个滤波器的系数。中间那行用于稳态数据的平滑,
%b中间那行的前面所有行代表信号的末端数据,
%后面所有行代表信号起始阶段的数据。
[m n] = size(leafmsc)
%% 使用b中数据进行SG平滑
figure(3)
for i = 1:n
ycenter = conv(leafmsc(:i)b((F+1)/2:)‘valid‘); % 求稳态数据的平滑结果
ybegin = b(end:-1:(F+3)/2:) * leafmsc(F:-1:1i); % 求初始阶段数据的平滑结果(b和intensity的数据是矩阵想乘的关系,但要注意二者数据的顺序进行了颠倒)
yend = b((F-1)/2:-1:1:) * leafmsc(end:-1:end-(F-1)i); % 求末阶段段数据的平滑结果(b和intensity的数据是矩阵想乘的关系,但要注意二者数据的顺序进行了颠倒)
Y = [ybegin;ycenter;yend];
plot(Y)
hold on;
end
%% 使用g中数据进行SG平滑。g中数据代表不同阶的SG平滑效果。第一列代表0阶,第二列代表1阶.....
figure(4) % 绘制SG_2阶的数据
for j = 1:n
dy = zeros(m4);
for p = 0:3
dy(:p+1) = conv(leafmsc(:j) factorial(p)/(-4.44)^p * g(:p+1) ‘same‘); % g(:1):平滑系数,g(:2):一阶导数系数。利用求导的方法求解系数,式中/(4.44)^p
end
plot(dy(:2)); % 改变 dy(:value)中的value可以画出不同阶数的SG平滑,1代表0阶,2代表1阶
hold on
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1859 2018-09-01 10:08 spectralmatrix_msc_sgolay.m
----------- --------- ---------- ----- ----
1859 1
相关资源
- 033ieee.dat
- 软件测试.txt
- 山西地名地址点SHP.rar
- OriginPro9.1破解版.zip
- PI_BUCK.slx
- GPCV1248凌通方案SDK开发包.txt
- 新建文本文档(3).txt
- padsVX2.4完整版安装包破解文件破解教
- 机器学习第七期升级版.docx
- 知识图谱.docx
- 基于气动力的导弹姿态控制含仿真程
- spwm生成器.zip
- 尚硅谷最新全套视频.docx
- glad.h
- VMwarevSphere企业运维实战.txt
- 西安交通大学《计算机网络原理》课
- 高级人工智能第二版史忠植.txt
- 搜外网站长夫维seo教程VIP版本.txt
- DNS与BIND第5版.txt
- 陕西电子科技大学精品课程TCPIP协议原
- GIMP中文教程.txt
- 自动控制元件及线路.txt
- arcgis10.7.rar
- license.rar
- 前端视频.txt
- PMLSM.zip
- A卷.rar
- VS2010ANDVS2010SP1.txt
- 磷酸铁锂电池充放电曲线和循环曲线
- 爱问共享资料器绿色版.rar
评论
共有 条评论