MATLAB及其信号处理基础
1.实验⽬的
(1)掌握MATLAB基本语法
(2)掌握使⽤MATLAB进⾏图像、⾳频⽂件的基本使⽤与分析⽅法
2.实验内容
(1)MATLAB基本语法;
(2)MATLAB信号处理基础;
3.实验原理
(1)MATLAB基本语法
MATLAB的变量名以字母打头,后最多可跟19个字母或数字,不能使⽤内部函数或命令名作为变量名;MATLAB中的变量名区分⼤⼩写。
MATLAB的基本单位是矩阵。
常⽤命令:
dir:列出当前⽬录下的所有⽂件
clc:清除命令窗
clear all:清除环境(从内存中清除所有变量)
who:将内存中的当前变量以简单形式列出
close all:关闭所有的Figure窗⼝
(2)MATLAB信号处理基础
离散傅⾥叶、离散余弦和离散⼩波变换是图像、⾳频信号常⽤基础操作,时域信号转换到不同变换域以后,会导致不同程度的能量集中,信息隐藏利⽤这个原理在变换域选择适当位置系数进⾏修改,嵌⼊信息,并确保图像、⾳频信号经处理后感官质量⽆明显变化。
4.实验记录
(1)MATLAB基本语法
1、变量赋值
1)表达式赋值
图1.1.1 表达式赋值
2)矩阵赋值
数值通常按⾏输⼊,⾏之间⽤分号隔开。
图1.1.2 矩阵赋值
3)通过引⽤特定的位置可以单独改变某个矩阵元素
round函数怎么使用matlab图1.1.3 通过特定的位置单独改变某个矩阵元素
4)引⽤已定义的矩阵,重新定义⼀个新矩阵
S为3)步骤定义的矩阵
图1.1.4 引⽤已定义的矩阵,重新定义⼀个新矩阵
2.整数操作
1)fix(x):截尾取整
图1.2.1 将3.12的⼩数部分去除只保留整数部分3
2)floor(x):不超过x的最⼤整数(⾼斯取整)
图1.2.2 通过⾼斯取整将3.12、-3.12取没有超过他们的整数3)ceil(x):⼤于x的最⼩整数
图1.2.3 取3.12、-3.12⽐它们⼤的最⼩整数
3.随机序列常⽤命令
1)rand:均匀分布随机矩阵
rand ⽆变量输⼊时只产⽣⼀个随机数
y=rand(n) ⽣成n*n随机矩阵,其元素在(0,1)内
y=rand(m,n) ⽣成m*n随机矩阵,其元素在(0,1)内
图1.3.1 ⽣成⼀个3*4的随机矩阵
2)randn:正态分布随机矩阵
randn ⽆变量输⼊时只产⽣⼀个正态分布随机数
y=randn(n) ⽣成n*n正态分布随机矩阵
y=randn(m,n) ⽣成m*n正态分布随机矩阵
图1.3.2 产⽣⼀个均值为0.6,⽅差为0.1的4阶矩阵
3)randsrc:产⽣均匀分布数组
randsrc ⽆变量输⼊时只产⽣⼀个随机数1或者-1
y=randsrc(n) ⽣成n*n随机数组,其元素为1或者-1
y=randsrc(m,n) ⽣成m*n随机数组,其元素为1或者-1
图1.3.3 产⽣⼀个2*3的随机矩阵
4.矩阵常⽤操作命令
MATLAB的基本单位是矩阵,掌握矩阵的输⼊、各种数值运算以及矩阵函数是学好MATLAB的关键。
1)矩阵的输⼊
*直接输⼊创建矩阵
以"["和"]"作为⾸尾,同⾏的元素⽤","或空格隔开,不同⾏的元素⽤";"或按Enter键来分隔;矩阵的元素可以是数字也可以是表达式,如果是数值计算,表达式中不可包含未知变量。
图1.4.1-1 创建矩阵
*⽤矩阵函数来⽣成矩阵
MATLAB提供了⼤量的函数来创建特殊矩阵,表1.1给出MATLAB常⽤的矩阵函数。
图1.4.1-2 ⽣成3*3矩阵全为1
图1.4.1-3 ⽣成2*5矩阵全为0
图1.4.1-4 ⽣成3阶的魔⽅矩阵
2)操作符":"的说明
函数名称函数功能zero(m,n)m ⾏n 列零矩阵eye(n)n 阶⽅矩阵ones(m,n)m ⾏n 列元素为1的矩阵rand(m,
n)m ⾏n 列随机矩阵randn(m,n)m ⾏n 列正态随机矩阵
magic(n)
n 阶魔⽅矩阵
j:k
表⽰步长为1的等差数列构成的数组:[j,j+1,j+2,……,k]
3)对矩阵元素的操作
设A是⼀个矩阵,则在MATLAB中⽤如下符号表⽰它的元素:
4)矩阵的运算
5)数组
在MATLAB中数组是⼀⾏或者⼀列的矩阵,对矩阵输⼊、修改和保存都适⽤于数组,同时MATLA还提供了⼀些创建数组的特殊指令。 *特殊数组的创建
linspace(a,b,n) 给出区间[a,b]的n个等分点数据
图1.4.5-1 区间[0,1]的6个等分点数据
*数组运算
数组运算除作为1*n的矩阵应遵循矩阵的运算规则外,MATLAB中还为数组提供了⼀些特殊的运算:乘法为:.*、乘幂为:.^。数组运算强调元素对元素的运算。
j:i:k 表⽰步长为i 的等差数列构成的数组:[j,j+i,j+2*I,…,k]
A(i:j)
表⽰A(i),A(i+1),…,A(j)。
A(i,j)表⽰矩阵A 的第i ⾏第j 列元素
A(:,j)表⽰矩阵A 的第j 列。A(i,:)表⽰矩阵A 的第i ⾏。A(:,:)表⽰A 的所有元素构造2维矩阵
A(:)表⽰以矩阵A 的所有元素按列构成的⼀个列矩阵
A(i)表⽰矩阵A(:)的第i 个元素
[ ]
表⽰空矩阵
A+B :矩阵加法A-B :矩阵减法A*B :矩阵乘法A':A 的转置k*A :数k 乘以A det(A):
A 的⾏列式
rank(A):
A 的秩
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论