后将一个吸光度光谱分为两个和执行多曲线分辨率使用MATLAB工具箱,合并产生的光谱像原始的需要
12个视图(30天)
显示旧的评论
BB =吸光度”;
%的矩阵分裂分裂合并算法
split_index = 281;%对应哪里有下降
split_absorbance_1 = (BB (: 1: split_index));% split_wavenumber之前矩阵包含吸光度值
split_absorbance_2 = (BB (:, split_index + 1:结束);%包含split_wavenumber后吸光度值矩阵
% %以上代码是分裂的部分。然后我把两个吸光度光谱,跑在一个叫做mcr_main工具箱
%用于多曲线分辨率使用交替最小二乘法。
%从那里我有两个吸光度矩阵即sopt和sopt1两个独立运行的(我还得到两个浓度矩阵,即埃及基督徒和copt1合并)。这些我
%一起合并成一个谱图,看起来像
%吸光度光谱BB。我使用的代码合并在一起但他们重叠是不可取的
%我需要光谱资料看起来像原来的BB矩阵。在这里
%是我的代码:
浓度=[科普特人copt1];%科普特人并从工具箱copt1浓度概要文件合并
浓缩的= sgolayfilt(浓度、3、5);%在这一步我要光滑的曲线浓度配置文件
% sopt1 = [sopt1 0(大小(sopt1, 1), 1)];
%光谱= horzcat (sopt sopt1)
%光谱= [sopt sopt1];
情节(molfracs浓度)
% % NB为了我的问题,你可以从这里往下看
%确定矩阵的大小
[rows1, cols1] =大小(sopt1);
[rows2, cols2] =大小(sopt);
%确定的最大列数
maxCols = max (cols1 cols2);
%垫与零矩阵
paddedsopt1 = [sopt1, 0 (rows1 maxCols - cols1)];
paddedsopt = [sopt, 0 (rows2 maxCols - cols2)];
mcr_main%垂直结合矩阵
光谱= [paddedsopt;paddedsopt1];%这就是我合并两个光谱
光谱= sgolayfilt(光谱、3、5);
%计算每一行
row_totals =(浓度,2)之和;
%创建的新矩阵的第一个元素是行总数的一小部分
% % monomerfrac =[警察(:1)。/ row_totals,科普特人(:,2)];
monomerfraction =浓度(:1)。/ row_totals;