日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

圖像處理之matlab中meshgrid函數用法詳解

作者:Hard Coder 更新時間: 2022-08-13 編程語言

一、meshgrid()函數基本調用格式

meshgrid函數用來生成網格矩陣,既可以是二維網格矩陣,又可以是三維網格矩陣。

1、[X,Y] = meshgrid(x,y) :基于向量x和y中包含的坐標返回二維網格坐標。X是一個矩陣,每一行是x的一個副本,Y也是一個矩陣,每一列是y的一個副本。坐標X和Y表示的網格有length(y)個行和length(x)個列。

2 、[X,Y] = meshgrid(x) 與 [X,Y] = meshgrid(x,x)相同,返回網格大小為length(x)*length(x)的方形網格矩陣。

3、 [X,Y,Z] = meshgrid(x,y,z),返回由向量x,y,z定義的三維網格坐標,X,Y和Z表示的網格大小為length(x)*length(y)*length(z)。

二、meshgrid()函數應用實例

(1)[X,Y] = meshgrid(x,y)

>> m=1:5;
>> n=2:7;
>> [A,B]=meshgrid(m,n)

運行結果:

A是一個6*5矩陣, B 是一個 6 * 5矩陣,注意A的行是m的值,B的列是n的值。

A =

     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
     1     2     3     4     5
B =

     2     2     2     2     2
     3     3     3     3     3
     4     4     4     4     4
     5     5     5     5     5
     6     6     6     6     6
     7     7     7     7     7

即A中的每個點對應的是x軸的坐標點,B中的每個點對應的是y軸的坐標點,即有(1,2),(2,2),(3,2),(4,2),(5,2),…,(1,7),(2,7),(3,7),(4,7),(5,7)。

(2)[X,Y] = meshgrid(x)

>> m=1:3;
>> [A,B]=meshgrid(m)

注意[A,B]=meshgrid(m)d等同于[A,B]=meshgrid(m,m)。
運行結果:

A =

     1     2     3
     1     2     3
     1     2     3
B =

     1     1     1
     2     2     2
     3     3     3

(3)[X,Y,Z] = meshgrid(x,y,z)

>>x = 0:2:6;
>>y = 0:1:6;
>>z = 0:3:6;
>>[X,Y,Z] = meshgrid(x,y,z)

運行結果:

X(:,:,1) =

     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
X(:,:,2) =

     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
X(:,:,3) =

     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
     0     2     4     6
Y(:,:,1) =

     0     0     0     0
     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6
Y(:,:,2) =

     0     0     0     0
     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6
Y(:,:,3) =

     0     0     0     0
     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6


Z(:,:,1) =

     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
Z(:,:,2) =

     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
     3     3     3     3
Z(:,:,3) =

     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6
     6     6     6     6

(4)在二維網格上畫圖

[x,y] = meshgrid(1:0.5:10,1:20);  
z = sin(x) + cos(y);
surf(x,y,z);  % surf() 函數用于繪制三維陰影曲面圖

運行效果:
在這里插入圖片描述

原文鏈接:https://blog.csdn.net/qq_44111805/article/details/126273214

欄目分類
最近更新