首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >定义窗口以查找多个坡度

定义窗口以查找多个坡度
EN

Stack Overflow用户
提问于 2014-12-14 15:09:38
回答 1查看 61关注 0票数 0

我需要为可以找到坡度的实验区定义几个窗口。例如,x的范围是从0到400。我想找出每个50x的导数(即0到50,50到100等等),然后求所有导数的平均值(本例中为8个导数)。感谢大家的帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-12-14 22:16:03

假设您有一个测量向量y,并希望通过取条目1与50、51与100之间的差值来计算导数,等等,您可以执行以下操作:

代码语言:javascript
运行
复制
% generate a signal
x=1:400;
y = x.^2;
nSamples = length(y);

% define number of segments and window size
N = 8;      
Winsize = ceil(nSamples/N);

% preallocate the vector of slopes and compute the slopes
slopes = zeros(1,N);
for ii=1:N
    slopes(ii) = (y(min(nSamples,Winsize*ii))-y(1+Winsize*(ii-1)))/(x(min(nSamples,Winsize*ii))-x(1+Winsize*(ii-1)));
end

% take the average slope value
Averageslope = mean(slopes);

但是,由于您无论如何都在使用matlab,所以您也可以只取向量的平均导数,这应该会在处理噪声数据时产生一个更准确的平均值:

代码语言:javascript
运行
复制
% generate a signal
x=1:400;
y = x.^2;
slope = mean(diff(y)/diff(x));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27467156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档