| 查看: 745 | 回复: 0 | ||
yhyffrshuh木虫 (正式写手)
流浪者一枚
|
[求助]
两个for循环出错
|
|
问题:设置N为3,F为5,A97中的每一行(一个样本)的到的平滑数据、一阶导数和二阶导数均是是1*104的矩阵;有97个样本,得到的数据应该是97*104的矩阵,但按下面的程序运行得到的平滑数据和一阶导数,二阶导数为 1*9897,这显然不对啊 程序代码如下: clear,clc load A97 %导入光谱,第一列为编号,最后一列为浓度值 dx=1; x=215:321; %波长范围是215nm-321nm a=length(x); %x的数据个数 k=0:96; % k为样本编号 SG0=[]; SG1=[]; SG2=[]; N=input('请输入拟合次数'); F=input('设置窗口参数(奇数)'); for k=k+1 y=A97(k,2:108); %第k个样本 215nm-321nm对应的吸光度 [b,g]=sgolay(N,F); Halfwin=((F+1)/2)-1; for n=(F+1)/2:a-(F+1)/2, %SG平滑 SG0(n)=dot(g(:,1),y(n-Halfwin:n+Halfwin)); SG0=[SG0,SG0(n)]; %一阶差分求导 SG1(n)=dot(g(:,2),y(n-Halfwin:n+Halfwin)); SG1=[SG1,SG1(n)]; %二阶差分求导 SG2(n)=2*dot(g(:,3)',y(n-Halfwin:n+Halfwin))'; SG2=[SG2,SG2(n)]; end SG1=SG1/dx; SG2=SG2/(dx*dx); subplot(3,1,1); plot(SG0) legend('S-G Smooth'); subplot(3,1,2); plot(SG1) legend('S-G Smooth 1st derivative'); subplot(3,1,3); plot(SG2) legend('S-G Smooth 2st derivativa'); end |
» 猜你喜欢
退学或坚持读
已经有28人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有7人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有3人回复
面上项目申报
已经有3人回复
酰胺脱乙酰基
已经有9人回复
CSC & MSCA 博洛尼亚大学能源材料课题组博士/博士后招生|MSCA经费充足、排名优
已经有5人回复
博士延得我,科研能力直往上蹿
已经有7人回复
面上基金申报没有其他的参与者成吗
已经有5人回复
遇见不省心的家人很难过
已经有22人回复

找到一些相关的精华帖子,希望有用哦~
做消费行为研究,两个问题得分相乘得出来的分数是不是连续变量?
已经有4人回复
intel fortran局部变量自动更新
已经有19人回复
【整理】今天整理硬盘上的资料,偶然发现的好玩的小东西就直接发上来吧
已经有105人回复
【求助】如何写FORTRAN程序实现求平均最近邻距离
已经有34人回复
【求助】在进行fluent模拟求解过程中,突然提醒出错,然后进入死循环,怎么回事?
已经有5人回复
科研从小木虫开始,人人为我,我为人人













回复此楼
点击这里搜索更多相关资源