Matlab-数据拟合子程序

可自行设置拟合多项式形式

直接调用即可

调用格式:

[PPb5_xi,PPb5_yi]=Poly_Drizzly(PPb5_x, PPb5_y);

子程序:

function [xi, yi] = Poly_Drizzly1(x, y)
%已知函数,示例顺序为:函数, 'independent', 自变量名,'coefficients', {变量名};
f = fittype(' a * PPb_x + b', ...
'independent', 'PPb_x', 'coefficients', {'a', 'b'});
cfun = fit(x, y, f, 'StartPoint', [0, 0]);
xi = min(x) : (max(x)-min(x))/30 : max(x);
yi = cfun(xi);
end
 
function [xi, yi] = Poly_Drizzly2(x, y)
%已知函数,示例顺序为:函数, 'independent', 自变量名,'coefficients', {变量名};
f = fittype('c * PPb_x^2 + a * PPb_x + b', ...
'independent', 'PPb_x', 'coefficients', {'c','a', 'b'});
cfun = fit(x, y, f, 'StartPoint', [0, 0, 0]);
 
xi = min(x) : (max(x)-min(x))/30 : max(x);
yi = cfun(xi);
end
 
function [xi, yi] = Poly_Drizzly3(x, y)
%已知函数,示例顺序为:函数, 'independent', 自变量名,'coefficients', {变量名};
f = fittype('d * PPb_x^3 +c * PPb_x^2 + a * PPb_x + b', ...
'independent', 'PPb_x', 'coefficients', {'d','c','a', 'b'});
cfun = fit(x, y, f, 'StartPoint', [0, 0, 0, 0]);
 
xi = min(x) : (max(x)-min(x))/30 : max(x);
yi = cfun(xi);
end
posted @ 2023-10-11 10:18  Drizzly_n  阅读(55)  评论(0)    收藏  举报