首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >曲线残差的提取

曲线残差的提取
EN

Stack Overflow用户
提问于 2017-04-24 04:21:06
回答 1查看 877关注 0票数 3

我在Matlab R2016a中使用曲线拟合来寻找两个数组之间的最佳拟合。一个数组表示给定纬度和经度处的某个值,另一个数组表示收集值的日期。

在使用曲线拟合工具时,我可以找到一条最佳拟合线,以及绘制残差。残差是我所关心的--然而,当我将残差导出到工作区时,它们被表示为一列数字。如果没有该残差与原始数组的关系的识别信息(即,每个残差对应于哪个X、Y对),这对我没有帮助。

曲线拟合工具中残差图的数据正是我想要的。是否有办法以一种使其可用的方式导出它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-24 07:05:42

cftool在其核心使用fit。要进一步探索fit及其剩余值,可以将fit导出到工作区。通过曲线拟合工具窗口顶部的“Fit”菜单执行此操作,然后选择“保存到工作区”。使用这个fit对象(曲线的cfit或曲面的sfit ),您可以进行与曲线拟合工具相同的分析。

让我来演示一下如何获得合适的结果,创建一个残差图,以及如何计算残差。产生的图像如下所示。在代码中,residuals变量包含属于xy中每个样本对的每个元素的fit的剩余值。

代码语言:javascript
复制
% Generate data
rng default
x = sort(rand(10, 1));
y = randn(size(x)) - 3*x;

% Fit a line
fitted = fit(x, y, fittype('poly1'));

% Plot fitted line with data
figure
subplot 311
plot(fitted, x, y)

% Plot residuals
subplot 312
plot(fitted, x, y, 'residuals)')
ylabel residuals

% Get residuals
residuals = y - fitted(x);

% Create stem plot of residuals
subplot 313
stem(x, residuals)
legend residuals
xlabel x
ylabel residuals

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43579762

复制
相关文章

相似问题

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