Matlab使用-简单的三维图像绘制

Matlab代码

下面以函数sin(x)*sin(y)为例,展示如何使用Matlab绘制三维图像。

a = [1:5];
b = [2:7];
[X Y] = meshgrid(a, b);
Z = sin(X).*sin(Y);
surf(X, Y, Z);

代码说明

meshgrid函数使用

[X Y] = meshgrid(a, b)

a,b是一维向量,使用meshgrid函数可以根据向量a,b的值返回一个二维的网络,在上面给出的代码示例中,运行之后的结果如下所示:
在这里插入图片描述
可以根据自己的需要合理选择向量a,b的取值,例如想要取点更加密集,可以令 a = [1: 0.1 :5],表示a从1到5每隔0.1取一个点;向量b同理。

对meshgrid函数的理解

以上面的a = [1:5]、b = [2:7]为例,返回的X,Y的值如上面所示,可以看出,将X,Y相应的位置的数组成一个坐标,那么得到的坐标矩阵如下:
在这里插入图片描述
从上面的点阵结果来看,结果描述了坐标平面上的各个点的坐标。

输入函数表达式

Z = sin(X).*sin(Y);

由于X和Y都为6*5的矩阵,将X、Y对应的数值乘起来即可得到相应的计算结果。

注意

对两个矩阵相应的元素进行乘法需要使用符号【.*】而不是【 *】,因为【*】进行的是矩阵的乘法操作,而不是进行的相应位置的数进行乘法。

surf 函数

将X,Y,Z的值依次填入surf的参数列表中即可得到相应的图形。
ooooooooooooopppppp
上面的代码的运行结果

改变向量的取点间距为0.1得到的图像结果

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值