三维曲面图要包含真实值和拟合值,真实值和拟合值用不同颜色的点表示
时间: 2024-03-25 16:37:22 浏览: 21
好的,以下是修改后的代码,你可以试一下:
```matlab
% 导入数据
data = readtable('data.xlsx');
x1 = data{:,1};
x2 = data{:,2};
y = data{:,3};
% 定义自变量和因变量
x = [x1, x2];
% 定义非线性函数模型
fun = @(b,x) 58.38 + 4.11*b(1)*x(:,1).^2 + b(2)*x(:,2).^2;
% 设置初始参数值
beta0 = [1,1];
% 进行非线性拟合
[beta,R,J,CovB,MSE,ErrorModelInfo] = nlinfit(x,y,fun,beta0);
% 计算均方根误差和R方值
yfit = fun(beta,x);
RMSE = sqrt(mean((y - yfit).^2));
R2 = 1 - sum((y-yfit).^2)/sum((y-mean(y)).^2);
% 输出结果
disp(['拟合参数1: ',num2str(beta(1))]);
disp(['拟合参数2: ',num2str(beta(2))]);
disp(['均方根误差: ',num2str(RMSE)]);
disp(['R方值: ',num2str(R2)]);
% 绘制三维曲面图
figure();
[X1,X2] = meshgrid(min(x1):0.1:max(x1),min(x2):0.1:max(x2));
X = [X1(:),X2(:)];
Y = fun(beta,X);
Y = reshape(Y,size(X1));
surf(X1,X2,Y);
hold on;
scatter3(x1,x2,y,'r','filled');
scatter3(x1,x2,yfit,'b','filled');
xlabel('x1');
ylabel('x2');
zlabel('y');
legend('拟合曲面','真实值','拟合值');
% 绘制真实值和拟合值的误差比较图
figure();
plot(y,'o');
hold on;
plot(yfit,'-');
xlabel('样本序号');
ylabel('y');
legend('真实值','拟合值');
```
运行完毕后,你将会得到包含真实值和拟合值的三维曲面图,并且真实值和拟合值用不同颜色的点表示。
相关推荐
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)