| 查看: 736 | 回复: 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 |
» 猜你喜欢
常年博士招收(双一流,工科)
已经有4人回复
推荐一本书
已经有10人回复
纳米粒子粒径的测量
已经有6人回复
国自然申请面上模板最新2026版出了吗?
已经有6人回复
溴的反应液脱色
已经有4人回复
参与限项
已经有5人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复

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












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