MATLAB 学习
试验目标
- 理解 MATLAB 的基本功能及操作方法。
- 把握典型离散信号的 Matlab 产生和显示。
试验原理及办法
在 MATLAB 中, 序列是用矩阵向量示意, 但它没有蕴含采样信息, 即序列地位信息, 为 此, 要示意一个序列须要建设两个向量; 一是工夫序列 n , 或称地位序列, 另一个为取值序 列 x,示意如下: $n=[\cdots,-3,-2,-1,0,1,2,3, \cdots]$,$\mathrm{x}=[\cdots, 6,3,5,2,1,7,9, \cdots]$
个别程序都从 0 地位起始, 则 $x=[x(0), x(1), x(2), \cdots]$ 对于多维信号须要建设矩阵来示意, 矩阵的每个列向量代表一维信号。
数字信号处理中罕用的信号有指数信号、正弦信号、余弦信号、方波信号、锯齿波信号 等, 在 MATLAB 语言中别离由 exp, sin, cos, square, sawtooth 等函数来实现。
试验内容
1. 用 MATLAB 编制程序, 别离产生长度为 $\mathrm{N}$ (由输出确定) 的序列:
(1) 单位冲击响应序列: 可用 MATLAB 中 zeros 函数来实现;
t=-20:1:20;
X=zeros(size (t)) ;
X(21)=1;
plot(t,x);
(2) 单位阶跃序列: U(n) 可用 MATLAB 中 ones 函数来实现;
t=-20:1:20;
X=zeros (size (t)) ;
x (21:41)=ones (1,21);
plot(t,x);
(3) 正弦序列: $\quad x(n)=\sin (\omega n)$;
N0=20;
w=0.5;
n=-N0:0.5:N0;
y=sin (w*n);
plot (n, y);
(4) 指数序列: $x(n)=a^{n},-\infty<n<+\infty$
N0=20 ;
a=1.1;
n=-N0:2:N0 ;
X=a.^n;
plot (n,x);
(5) 复指数序列: 用 exp 函数实现 $K_{0} e^{(a+j b) n}$ , 并给出该复指数序列的实部、虚部、幅 值和相位的图形。(其中 a=-0.2 ; b=0.5 ; K0=4 ; N=40.)
$K_{0} e^{(a+j b) n}=K_{0} e^{a n}(\cos (b n)+j \sin (b n))$
a=-0.2;
b=0.5;
K0=4;
N=40;
n=-N:1:N;
t=K0*exp.^(a+j*b)*n ;
流程图:
在计算机上实现正弦序列 $x(n)=A_{0} \sin (2 \pi f n+\varphi)$
A0=-0.2;
f=0.05;
pi=3.14;
K0=2/3*pi;
N=40;
n=-N:1:N;
x=A0*sin(2*pi*f*n+K0);
plot(n,x)
MATLAB 的图像显示办法
试验目标
1. 练习图像读写和显示函数的应用办法
2. 把握 MATLAB 反对的五类图像显示办法
3. 数字图像处理中罕用到的 MATLAB 函数(选做 )
试验内容
1. 图像的读
RGB=imread('D:\pic\DIP3E_CHO1\Fig0101(1921 digital image).tif);
2.图像显示
(1) 图像显示
f=imread('D:\pic\DIP3E_CHO1\Fig0101(1921 digital image).tif');
whos f
imshow(f)
[m,n]=size(f)% 显示图像的大小
(2) 同屏显示多个图像
可用 subplot(m,n) 将图形窗分为 m * n 个子窗口,而后取第一、第二 … 子窗口显示不同的图像,实现同屏显示多个图像。例如:
figure(1);
% 取 2×2 个子屏中的第一个子屏
subplot (2,2,1);
% 显示第一个图像
imshow(Il);
% 取 2×2 个子屏中的第四个子屏
subplot(2,2,4);
% 显示第四个图像
imshow(I4);
3. 数字图像处理中罕用到的 MATLAB 函数
size () 函数
Zeros () 函数
Fft2(), ifft2() 函数
Imhist() 函数
Histeq() 函数
Imrotate() 函数
Imnoise() 函数
Edge() 函数
Title() 函数
Xlable(), Ylable() 函数
相干资源曾经归档至公众号【AIShareLab】,回复 数字图像处理 能够获取。