要使上述代码能够运行,需要进行以下修改:

  1. 将文件路径中的反斜杠(\)改为正斜杠(/),或者在每个反斜杠前面加上转义字符(\),即将'D:\桌面\暑假数模\第六次模拟赛题\B\111.xlsx'修改为'D:/桌面/暑假数模/第六次模拟赛题/B/111.xlsx'

  2. 将代码中的中文字符修改为英文字符,即将'题目1-1'修改为'Sheet1'

修改后的代码如下:

% 指定文件路径和文件名
filePath = 'D:/桌面/暑假数模/第六次模拟赛题/B/111.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, 4);

    % 计算拟合值
    y_fit = polyval(p, x1);

    % 计算总平方和
    SS_total = sum((y1 - mean(y1)).^2);

    % 计算残差平方和
    SS_residual = sum((y1 - y_fit).^2);

    % 计算调整后的 R 方
    R_square = 1 - SS_residual / (length(y1) - 1) / (SS_total / (length(y1) - length(p) - 1));

    disp(R_square)
end

请注意,上述代码仅修改了文件路径和文件名,并将'题目1-1'修改为'Sheet1',其他部分保持不变。如果还有其他问题,请提供详细信息


原文地址: https://www.cveoy.top/t/topic/iV0J 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录