MATLAB 函数 mesh()用法
2016-10-21 20:50
309 查看
mesh是画三维图,我是某次做图像处理时用到它画频谱图,先给出一个简单的例程:
clc,clear;
m=(1:10);%x轴的长度
n=(1:10);%y轴的长度
[u,v]=meshgrid(m,n);%分别形成m*m的方阵,n*n的方阵
mesh(m,n,u+v);%画出z=x+y的三维图
meshgrid函数形成(x,y)的方阵,是m*n*2的一个矩阵,z=f(x,y)可以在[u,v]上取到所有的x,y值,当你需要画z=f(x,y)这样一个函数的时候就需要meshgrid;
注意:用mesh画图,x、y的长度要相等,即m=n;
下面是例程的结果:
再给出一个图像频谱图的例程:由于频谱图每个点的值不需要通过f(x,y)这样的函数来计算,所以不需要用到meshgrid;
注意:用mesh画图,x、y的长度要相等,即m=n;
clc,clear;
I = imread('test2.bmp');
f = fft2(double(I));%傅立叶变换
[M,N] = size(f);
m=max(M,N);
f1=zeros(m);
%为了使x,y的长度一样,把较短的行或者列补零
for x=1:m
for y=1:m
if (x >M)||(y>N)
f1(x,y)=0;
else
f1(x,y)=f(x,y);
end
end
end
u=(1:m);
v=(1:m);
mesh(u,v,real(f1));%画图取频谱的实部
频谱图:中间那根红的就是直流分量
clc,clear;
m=(1:10);%x轴的长度
n=(1:10);%y轴的长度
[u,v]=meshgrid(m,n);%分别形成m*m的方阵,n*n的方阵
mesh(m,n,u+v);%画出z=x+y的三维图
meshgrid函数形成(x,y)的方阵,是m*n*2的一个矩阵,z=f(x,y)可以在[u,v]上取到所有的x,y值,当你需要画z=f(x,y)这样一个函数的时候就需要meshgrid;
注意:用mesh画图,x、y的长度要相等,即m=n;
下面是例程的结果:
再给出一个图像频谱图的例程:由于频谱图每个点的值不需要通过f(x,y)这样的函数来计算,所以不需要用到meshgrid;
注意:用mesh画图,x、y的长度要相等,即m=n;
clc,clear;
I = imread('test2.bmp');
f = fft2(double(I));%傅立叶变换
[M,N] = size(f);
m=max(M,N);
f1=zeros(m);
%为了使x,y的长度一样,把较短的行或者列补零
for x=1:m
for y=1:m
if (x >M)||(y>N)
f1(x,y)=0;
else
f1(x,y)=f(x,y);
end
end
end
u=(1:m);
v=(1:m);
mesh(u,v,real(f1));%画图取频谱的实部
频谱图:中间那根红的就是直流分量
相关文章推荐
- matlab中用于小数取整的函数的用法
- Matlab 的fspecial函数用法
- matlab中textread函数用法
- Matlab中fread函数用法
- matlab ode45 函数传自定义参数用法及定步长ode45结算函数
- Matlab中一些函数及其用法列表
- matlab中函数imhist的用法
- matlab中size()函数的用法
- Matlab 的fspecial函数用法
- matlab中,计算,记录,程序运行,起始,结束 时间,间隔 &matlab中 tic,toc函数的用法
- Matlab 的fspecial函数用法
- matlab在终端显示有颜色的字(cprintf函数的用法)
- MATLAB函数之间数据传递:Matlab里evalin和assignin的用法
- matlab中size()函数的用法
- matlab 中diag函数的用法
- MATLAB filter 函数用法
- Matlab 的fspecial函数用法
- MATLAB 函数句柄的用法
- 学习matlab中遇到的一些函数及其用法
- matlab 常见的函数用法