maltab 绘制三维函数图像模板

本程序用于绘制三维函数的模板,输入的要求是构造的变量x1和x2数目相同

% 绘制三维图像
% 清屏
clc
clear all; % 删除工作区变量
close all; % 关闭图形窗口

lx1 = input('请输入 x1 的下边界:') % x1 的下边界
ux1 = input('请输入 x1 的上边界:') % x1 的上边界
foot1 = input('请输入 x1的步距:') % x1的步距
lx2 = input('请输入 x2 的下边界:') % x2 的下边界
ux2 = input('请输入 x2 的上边界:') % x2 的上边界
foot2 = input('请输入 x2 的步距:') % x2 的步距

x1 = lx1:foot1:ux1; % 构造x1 变量
x2 = lx2:foot2:ux2 % 构造x1 变量
% 要求x1 和 x2 的数目相同
% 构造 z 变量 
for i=1:(ux1-lx1)/foot1+1
    for j = 1: (ux2-lx2)/foot2 +1
        x = [x1(i),x2(j)]; % 将变量存储到一个变量中,便于传递
        z(i,j) = fun(x);
    end
end
[x,y]=meshgrid(x1,x2);%网格化
mesh(x,y,z) %画图

需要绘制的函数,需要在同一文件目录中另存为m文件,这里选取的是网上比较典型的函数

function y = fun(x)
y=-20*exp(-0.2*sqrt((x(1)^2+x(2)^2)/2))-exp((cos(2*pi*x(1))+cos(2*pi*x(2)))/2)+20+2.71289;

绘制效果如下
在这里插入图片描述

posted @ 2021-01-31 13:04  沃特艾文儿  阅读(18)  评论(0)    收藏  举报  来源