用matlab的surf画三维曲面图

任务需求:

  • 最近做实验中遇到一个参数讨论问题,有两个自变量,一个因变量,两个自变量可能相互影响,需要通过实验进行参数讨论来找到使因变量为最大值时两个自变量的值。
  • 在绘制图像时很自然想到可以绘制一个三维图像,其中x轴和y轴分别表示两个自变量,z轴表示因变量

MATLAB代码:

% 用matlab的surf画的三维曲面图

clc,clear,close all
x=[1, 2, 3, 4, 5, 6];
y=[19,23,27,31,35];
[X,Y]=meshgrid(x,y);
Z=[93,93.4,95,96,97,98;
    93,93.4,95,96,97,98;
    93,93.4,95,96,97,98;
    93,93.4,95,96,97,98;
    93,93.4,95,96,97,98];
% mesh(X,Y,Z)

surf(X,Y,Z);
%%设置三维曲面x轴,y轴,z轴,标题对应内容及三个坐标轴的取值范围%%
set(gca,'xtick',[1 2 3 4 5 6])
set(gca,'xticklabel',{
    
    '0.01','0.003', '0.001','0.0003','0.0001','0.00003'})

% xticks([0.01  0.003  0.001  0.0003  0.0001 0.00003])
% xticklabels({
    
    '0.01','0.003','0.001','0.0003','0.0001','0.00003'})
set(gca,'ytick',[19  23  27 31  35])
set(gca,'yticklabel',{
    
    '19','23', '27','31','35'})
zlim([90 100])

xlabel('Learning rate');
ylabel('Patch size');
zlabel('OA(%)');


% t=-2:0.5:2;
% [x,y] =meshgrid(t);%%表示区域网格控制,目地是为了让x,y形成格点矩阵%%
% z=5*x.^2+8*y^3;
% surf(x,y,z);
% %%设置三维曲面x轴,y轴,z轴,标题对应内容及三个坐标轴的取值范围%%
% xlabel('Learning rate');
% ylabel('Patch size');
% zlabel('OA(%)');
% % title('surf三维曲面图');
% axis([-2.5 2.5 -2.5 2.5 -5 25]);

呈现效果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44828121/article/details/128321494
今日推荐