Matlab迭代polyfit

时间:2015-08-28 00:38:22

标签: matlab

我有x和y数据,每个数组中有n个点。 我想在部分数据上使用polyfit。

我想将数据划分为一定数量的分区(numDivisions)。

我的想法是按照

的方式做点什么
n= size(x)%number of data points
        numDivisions = 4;%number of times to divide the data
        div = zeros(numDivisions,1)%number of points per division

        p = zeros(numDivisions,4);% second number is degree of polynomial+1
        S = zeros(numDivisions,1);
        mu = zeros(numDivisions,1);
        E = zeros(numDivisions,1);

        for i = 1:numDivisions
            div(i) = round(n(1,1)*i/numDivisions) %assign markers for divisions of points
        end

        for i = 1:size(div)
            if i == 1
                start = 1;
                endpoint = div(i);
                 [p(i), S(i), mu(i)] = polyfit(x(start:endpoint), y(start:endpoint), 3);
            else
             [p(i), S(i), mu(i)] = polyfit(x(div(i-1):div(i)), y(div(i-1):div(i)), 3);
            end

        end

目标是从多元件中获得一组p值。

然而,当我运行它时,我收到此错误:

在赋值A(I)= B中,B中的元素数 而我必须是一样的。 错误(第33行)                  [p(i),S(i),mu(i)] =                  polyfit(X(启动:终点),                  y(开始:端点),3);

0 个答案:

没有答案