我有一个离散的过程模型 - 我也有一些实验数据,我想弄清楚它是如何适合离散函数的;当然,这些实验点中的一些是在我的离散点之间,所以我需要能够估计这些以获得拟合优度:在GUI曲线拟合工具中使用插值拟合产生完美拟合,无论是线性的,立方的使用形状保留:是否有某种方法可以生成所有插值点以将它们与数据点进行比较?我附上了30个离散数据点的图像,以及容易加入它们的插值函数。
[1]:http://i.imgur.com/kz5XgzI.png - 离散函数/ interp的Screencap。适合
我的第二个问题是,我可以找到命令行版本吗?我将需要自动执行这几百次运行以找到最佳拟合,并且如果我可以将其编码为.m文件以基本上生成插值拟合,并将其与实验室数据进行比较以获得拟合优度,那将是理想的
答案 0 :(得分:1)
插入式“拟合”并不合适...它只是将您的点与线段连接,[或其他一些可以改善曲线平滑度的形状*]。无论它与它们连接的形状如何,它们总是会直接穿过你的离散点,这意味着“完美”的契合。
让我重新解释一下这个问题:在模型生成的时间点tm_k处有一组离散点model_k。你在不同的时间点td_k有另一组离散点data_k,你想比较它们。正确?
然后您需要做的就是在与测量数据相同的时间点重新采样模型,然后您可以比较它们。对于每个数据运行:
% data is a 1xN column vector of your measured data points
% td is a 1xN column vector of the time points corresponding to d
% model is a 1xM column vector of the model points
% tm is the 1xM time vector for model
model_on_data_time_points = interp1(tm, model, td);
% Here is an example of computing with this resampled vector
difference_vector = data - model_on_data_time_points;
mse = sum(difference_vector.^2) / length(difference_vector); % mean squared error
(*)编辑:修复“线段”语言以回应评论