首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过ndgrid Matlab实现二维变量

通过ndgrid Matlab实现二维变量
EN

Stack Overflow用户
提问于 2022-02-18 13:56:12
回答 1查看 278关注 0票数 0

假设在矩阵M中有一定的2D数据,你知道这样的矩阵代表一个2D函数和两个变量x,y,这是两个向量。这里有一个例子,带有相应的工作区。

在这里输入图像描述

在这里输入图像描述

现在,我想针对变量a= sin(x)cos(y) b= sin(x)sin(y)绘制这样一个函数M。

因此,我以以下方式定义了一个网格:

代码语言:javascript
运行
复制
[x_grid, y_grid] = ndgrid(x,y);
a_grid = sin(x_grid).*cos(y_grid);
b_grid = sin(x_grid).*sin(y_grid);

现在,我怎样才能把M和a,b相图呢?如果我写:

代码语言:javascript
运行
复制
mesh(a_grid, b_grid, M)
xlabel('a')
blabel('b')

我得到了以下图表:

在这里输入图像描述

我不知道我的过程是否正确,但我认为不是,事实上,这样一个过程假设M的行对应于向量a,它的列对应于向量b,但它不是,因为a和b都是x,y的函数。

哪个是正确的程序?

EN

Stack Overflow用户

发布于 2022-02-18 14:06:42

据我所知,你希望在同一个窗口有三个地块。这意味着您需要多次调用mesh()。正如您正确地说的,mesh()的前两个参数(如果使用三个参数)基本上设置了x-和y-值。要将所有三个曲面都放到同一幅图中,可以使用hold on;

代码语言:javascript
运行
复制
mesh(x_grid, y_grid, M)
hold on
mesh(x_grid, y_grid, a_grid)
mesh(x_grid, y_grid, b_grid)
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71174639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档