我想拟合某条曲线。我的数据存储在";x〃;以及";y2";。为了拟合该曲线;适合";。
我的例子:
x = [20 30 40 50 60 70 80 90 100 200];
y = [4.229 2.514 1.714 1.143 0.8 0.629 0.514 0.4 0.349 0.057];
p_0 = 2*10^(-5);
y2 = 10.^(y/20)*p_0;
[xData,yData] = prepareCurveData(x,y2);
fit_type = 'pchipinterp';
[fitresult] = fit(xData,yData,ft);
结果";fitresult";现在被存储在MATLAB工作空间中;1x1cfit";对象有没有办法从fitresult中获得一个实际的数组,数组长度可以手动定义?(例如MATLAB工作区:fitresult:1x3841双(
编辑您的脚本:
fit_type = 'pchipinterp';
[fitresult] = fit(xData,yData,fit_type);
fitresult有两类系数和保形(pchip(插值,每类中都有一个分量p以及fitresult(x(fitresult=
Shape-preserving (pchip) interpolant:
fitresult(x) = piecewise polynomial computed from p
Coefficients:
p = coefficient structure
要提取结果,请将这些代码行添加到您的脚本中(名称最多为u(:
1. piecewise_polynomial_computed_from_p = fitresult(x)
2. coefficient_structure = fitresult.p
这里coefficient_structure是一个构造函数:
coefficient_structure =
form: 'pp'
breaks: [20 30 40 50 60 70 80 90 100 200]
coefs: [9x4 double]
pieces: 9
order: 4
dim: 1
要从中提取结果,请键入例如:
Breaks = coefficient_structure.breaks
结果是:
Breaks =
20 30 40 50 60 70 80 90 100 200