MATLAB Excel 数据拟合:计算四次项调整后 R 方
% 指定文件路径和文件名 filePath = 'D:\桌面\暑假数模\第六次模拟赛题\B\222.xlsx'; sheetName = 'Sheet1';
% 读取Excel文件中的数据 data = xlsread(filePath, sheetName);
figure;
for tar=1:21 x1=[];y1=[];y2=[]; for i=1:114 if data(i,1)==tar tmp=[x1,data(i,2)];x1=tmp; tmp=[y1,data(i,3)];y1=tmp; tmp=[y2,data(i,4)];y2=tmp; end end
% 拟合四次项函数
p = polyfit(x1, y1, 3);
% 计算拟合值
y_fit = polyval(p, x1);
% 计算总平方和
SS_total = sum((y1 - mean(y1)).^2);
% 计算残差平方和
SS_residual = sum((y1 - y_fit).^2);
% 计算调整后的 R 方
n = length(y1);
p_order = length(p);
R_square_adj = 1 - SS_residual / (n - p_order - 1) / (SS_total / (n - 1));
disp(['拟合项为tar=',num2str(tar),'时的调整后R方为:',num2str(R_square_adj)])
end
原文地址: https://www.cveoy.top/t/topic/qB6W 著作权归作者所有。请勿转载和采集!