matlab的meshgrid函数详解

matlab的meshgrid函数详解函数形式[C,R]=meshgrid(c,r)初步解释首先需要明确的是参数c,r都是行向量,该函数将行向量c,r指定的域变换为数组C,R,这2个数组能用来指示有2个变量的函数和三维的图。输出数组C的每一行都是行向量c,输出数组R的每一列都是行向量r。例如我们需要形成一个二维函数,其元素是由坐标变量x和y的值的平方和。也就是f(x,y)=x^2+y^2这样的形式…

大家好,又见面了,我是你们的朋友全栈君。

函数形式

[C,R] =meshgrid(c, r)

初步解释

首先需要明确的是参数 c, r 都是行向量,该函数将行向量c, r指定的域变换为数组C,R,这2个数组能用来指示有2个变量的函数和三维的图。
输出数组C的每一行都是行向量c,输出数组R的每一列都是行向量r。例如我们需要形成一个二维函数,其元素是由坐标变量x和y的值的平方和。也就是f(x,y) = x^2 +y^2这样的形式。其中变量x =0,1,2和y= 0,1。繁琐地来列出所有的坐标对:
(x,y) = (0,0) (0,1)
(1,0) (1,1)
(2,0) (2,1)
在matlab中我们所需要的就是这样的数据,然后将坐标对代入函数就可以得到结果了。

[C,R] = meshgrid([0,1],[0,1,2])
%%%%%%%%%结果%%%%%%%%%
C =

     0     1
     0     1
     0     1


R =

     0     0
     1     1
     2     2
%%%%%%%%%%%%


% f(1,1)  =  R(1,1).^2 +C(1,1).^2
f = R.^2 + C.^2

仔细观察上面的结果你会发现,R这个二维数组指明了x这个行标(分量),C这个二维数组指明了y这个列标(分量)。

加深理解

再举一个例子,主要是为了加深理解meshgrid函数,如实现 f(x,y) = A*sin(u0*x+v0*y),其中x =0,1,2,…,M-1;y=0,1,2,….,N-1.
另外需要说明的是,M,N,A,u0,v0这些常数都是自己给定的。
首先给一个一般实现,但是速率很慢。

for r =1:M
    u0x = u0*(r-1)
    for c=1:N
        v0y =v0*(c-1)
        f(r,c) = A*sin(u0x+v0y)
    end
end

用meshgrid函数实现,根据上面给出的条件,说明x =[0,1,..,M-1]而y=[0,1,…,N-1],这样一来我们也就确定了c,r这2个行向量。然后生成各自对应的行标、列标的二维数组C,R。

r = 1:M-1;
c = 1: N-1;
[C,R] =meshgrid(c,r);

g = A*sin(u0*R +v0*C);

g = mat2gray(g);
imshow(g)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134136.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • excel怎么赋值0和1_如何用excel自动赋值

    excel怎么赋值0和1_如何用excel自动赋值getCell 获取列 需要用 createCell获取即可。导出报表时,明明是有数据的可就是报空指针异常。排查后发下报表表格没内容时不能用。

    2022年8月19日
    6
  • LSTM模型理解_rfm模型应用实例

    LSTM模型理解_rfm模型应用实例LSTM模型之前一直想要了解一下LSTM模型的想法,看到一些介绍,说里面的各种门,遗忘门,输入门,输出门,是模拟电路的,然后自己就一直很莫名其妙,怎么还有电路什么的,然后就各种一直看不懂。。。现在回过头来仔细的看了看,发现原来也不是很难。不是电路,跟电路一点关系都没有,把它想象成一个神经元就好了,一切问题迎刃而解。嗯,是的,就是这么简单。。。最后在知乎上找了一篇文章,讲的挺不错的:https:…

    2022年9月10日
    0
  • c语言中fprintf_c语言输出函数printf

    c语言中fprintf_c语言输出函数printf目录一.fprintf函数简介二.fprintf函数使用三.猜你喜欢零基础C/C++学习路线推荐:C/C++学习目录>>C语言基础入门一.fprintf函数简介fprintf是C/C++中的一个格式化库函数,位于头文件中,其作用是格式化输出到一个流文件中;函数原型为/**描述:fputs函数是向指定的文件写入一个字符串**参数:*[in]stream:文件指针句柄;*[in]format:格式化字符串,

    2022年10月10日
    1
  • phpMyAdmin访问远程MySQL数据库的方法

    phpMyAdmin访问远程MySQL数据库的方法

    2021年9月19日
    33
  • HDU 1711 Number Sequence(算法验证)

    HDU 1711 Number Sequence(算法验证)

    2022年1月3日
    46
  • 【玩转嵌入式屏幕显示】(六)ST7789 SPI LCD硬件垂直滚动功能的使用

    一、想法萌生小熊派开发板的LCD小屏幕使用是ST7789驱动IC,之前一直有在该块屏幕上实现滚动显示的想法,最初构想在MCU侧创建一个大的队列,将整个屏幕显示内容交由队列管理,然后不停的去整屏刷新以实现屏幕滚动。理论上这样的实现比较耗资源,耗费CPU资源去操作SPI外设,耗费内存资源去存储显示数据,所以一直没有去做这件事。今天在查看ST7789数据手册写论文时,偶然发现ST7789手册种:咦?Scroll?滚动?发现新大陆!根据手册中的8.14章节描述,旋转滚动仅仅是垂直滚动的一种模式,由垂

    2022年4月8日
    81

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号