效果如图:
csv文件内容如图:
源码如下:
% 指定 CSV 文件的路径和文件名
file ="D:\data\regress_data2.csv";
% 使用 readmatrix 函数导入 CSV 文件数据
data = readmatrix(file);
% 提取列数据
x1 = data(:, 1);
x2 = data(:, 2);
y = data(:, 3);
%构造自变量矩阵
X = [x1, x2];
% 使用 fitlm 进行线性回归拟合
model = fitlm(X, y);
% 生成拟合曲面数据网格
[X1, X2] = meshgrid(linspace(min(x1), max(x1), 20), linspace(min(x2), max(x2), 20));
Y_fit = predict(model, [X1(:), X2(:)]);
% 绘制回归曲面
figure;
surf(X1, X2, reshape(Y_fit, size(X1)));
hold on;
scatter3(x1, x2, y, 'r', 'filled');
xlabel('面积');
ylabel('房间数');
zlabel('价格');
title('regress_data2');
legend('Regression Surface', 'Data');