matlab函数学习
matlab基本函数

matlab基本函数MATLAB是一种功能强大的编程语言和开发环境,广泛应用于科学计算、数据分析和工程设计等领域。
本文将介绍一些MATLAB的基本函数,包括数据操作、图形绘制、数学计算等方面的函数。
一、数据操作函数1. size()函数:用于获取数组或矩阵的大小,返回一个包含行数和列数的向量。
2. length()函数:用于获取向量的长度。
3. ndims()函数:用于获取数组或矩阵的维度数。
4. reshape()函数:用于改变数组或矩阵的形状,可以将其转换为不同大小的矩阵。
5. find()函数:用于查找数组或矩阵中满足特定条件的元素的索引。
6. sort()函数:用于对数组或矩阵进行排序,可以按照升序或降序排列。
7. unique()函数:用于返回数组或矩阵中的唯一元素,并去除重复值。
二、图形绘制函数1. plot()函数:用于绘制二维曲线图,可以通过输入不同的坐标点来绘制不同形状的曲线。
2. scatter()函数:用于绘制散点图,可以根据不同的数据点设置不同的颜色和大小。
3. bar()函数:用于绘制柱状图,可以展示不同类别或组之间的比较。
4. pie()函数:用于绘制饼图,可以展示不同类别所占比例的大小关系。
5. histogram()函数:用于绘制直方图,可以展示数据的分布情况。
6. contour()函数:用于绘制等高线图,可以展示二维数据的等高线分布。
三、数学计算函数1. sin()函数:用于计算正弦值。
2. cos()函数:用于计算余弦值。
3. exp()函数:用于计算指数函数的值。
4. sqrt()函数:用于计算平方根。
5. sum()函数:用于计算数组或矩阵中元素的总和。
6. mean()函数:用于计算数组或矩阵中元素的平均值。
7. max()函数:用于找出数组或矩阵中的最大值。
8. min()函数:用于找出数组或矩阵中的最小值。
9. rand()函数:用于生成随机数。
四、其他常用函数1. disp()函数:用于在命令窗口中显示文本或变量的值。
学习笔记(1)---matlab中常见函数解析

学习笔记(1)---matlab中常见函数解析⼀.fscanf函数matlab中函数fscanf在⽂件读取⽅⾯的实例如下:从⽂件中有格式地读数据 fscanf语法1:[a,count]=fscanf(fid,format,size)根据指定的格式从fid ⽂件按照格式format读出数据并按size的格式放⼊内存。
a :读出的数据放⼊内存的变量名count :返回值。
0:失败、n>0:成功,n是读出数据个数。
fid :⽂件号size :a的数据的维度N : 列向量inf : 读出⽂件全部数据[M,N] : 读出数据以M*N的格式放⼊变量名a内format :读出数据的格式format是字符形式,与C语⾔基本相同。
字符形式中有“%”与字符集(d,i,o,u,x,e,f,g,s,c,…)搭配构成。
如: %s:单字符读%c:读space字符例:s=fscanf(fid,'%s') 返回⼀个字符。
a=fscanf(fid,']') 返回⼀个五位⼗进制整数。
size是⼀个[m n]的向量,m为⾏,n为列(注意,这⾥读取的顺序是按⾏读取,存储的时候是按列存储),若n取inf表⽰读到⽂件末尾。
fid为fopen打开⽂件的返回值,format是格式化参数(像printf、scanf)。
举个⼩例⼦:内容: 13,1,3.4 3,2.1,231,12,2 4,5.4,6现在为了读取001中的数据存在⼀个数组⾥,可以⽤如下⽅法fid=fopen('001.txt');data=fscanf(fid,'%f,%f,%f',[3,inf]) ;%这⾥得⽤单引号fclose(fid);这时data中的数据如下:13 3 1 41 2.1 12 5.43.4 23 2 6⼆.isempty函数matlab中 ~表⽰逻辑运算符“⾮”,也就是取反;~isempty(msg) 表⽰如果msg是空元素(空元素表⽰未赋值的元素,0并不是空元素),结果为0(false);否则结果为1(true)。
(完整版)Matlab学习系列14.匿名函数

14。
匿名函数Matlab7。
0以上版本开始引入匿名函数,它可以实现内联函数所有功能,而且代码更简捷高效。
匿名函数的主要功能:(1)可以代替“将函数编写为单独的m—文件”;(2)可以实现符号函数的赋值运算;(3)很方便地对含参变量函数进行操作.(一)基本语法f=@(参数1,参数2,…) 函数表达式其中,f为函数句柄,即调用匿名函数时使用的名字。
例如,f=@(x, y) x^2+y^2;f(1, 2)输出结果:ans=5输入参数也可以是向量,例如,f=@(x, y) x。
^2+y.^2;a=1:1:10;b=10:—1:1;f(a,b)输出结果:ans=101 85 73 65 61 61 65 73 85 101二重匿名函数:例如,其中,“a, b”是外层变量,“x”是内层变量。
这样理解:每个“@”符号后面括号里的变量的作用域一直到表达式的结尾。
例如对于“a=2, b=3", f(2, 3)是以x为变量的匿名函数:(f(2, 3))(x)=2*x+3类似的可以定义多重匿名函数。
(二)应用实例一、符号函数的赋值运算例1求下面函数的三阶导数在x=0.5的值,并绘制其在[0, 1]上的图像:sin=+f x x x()(tan)x分析:先用符号运算得到三阶导数的解析表达式,再转化为匿名函数,再求值和绘图.代码:syms xf=(x+tan(x))^(sin(x));c=diff(f,3);f3=eval(['@(x)’ vectorize(c)]);% vectorize函数的功能是使内联函数适合数组运算的法则f3(0。
5)x=linspace(0,1,100);plot(x,f3(x),’linewidth’,2)title('y=[x+tan(x)]\^(sin(x))三阶导数图像’)xlabel('x')运行结果:ans = 4.315800.20.40.60.81-12000-10000-8000-6000-4000-200002000y=[x+tan(x)]^(sin(x))三阶导数图像xy二、求解方程与参数方程Matlab 中求解连续函数f(x )=0的根的命令是:fzero(f, x0)其中,x0为寻找根的初始值。
(完整版)MATLAB常用函数总结,推荐文档

MATLAB 常用函数总结Matlab 的内部常数pi 圆周率exp(1)自然对数的底数ei 或j虚数单位Inf 或 inf无穷大Matlab 的常用内部数学函数指数函数exp(x)以e 为底数log(x)自然对数,即以e 为底数的对数log10(x)常用对数,即以10为底数的对数对数函数log2(x)以2为底数的x 的对数开方函数sqrt(x)表示x 的算术平方根绝对值函数abs(x)表示实数的绝对值以及复数的模sin(x)正弦函数cos(x)余弦函数tan(x)正切函数cot(x)余切函数sec(x)正割函数三角函数(自变量的单位为弧度)csc(x)余割函数反三角函数asin(x)反正弦函数acos(x)反余弦函数atan(x)反正切函数acot(x)反余切函数asec(x)反正割函数acsc(x)反余割函数sinh(x)双曲正弦函数cosh(x)双曲余弦函数tanh(x)双曲正切函数coth(x)双曲余切函数sech(x)双曲正割函数双曲函数csch(x)双曲余割函数asinh(x)反双曲正弦函数acosh(x)反双曲余弦函数atanh(x)反双曲正切函数acoth(x)反双曲余切函数asech(x)反双曲正割函数反双曲函数acsch(x)反双曲余割函数求角度函数atan2(y,x)以坐标原点为顶点,x轴正半轴为始边,从原点到点(x,y)的射线为终边的角,其单位为弧度,范围为(,]gcd(a,b)两个整数的最大公约数数论函数lcm(a,b)两个整数的最小公倍数排列组合函数factorial(n)阶乘函数,表示n的阶乘real(z)实部函数imag(z)虚部函数复数函数abs(z)求复数z的模angle(z)求复数z 的辐角,其范围是( ,]conj(z)求复数z 的共轭复数ceil(x)表示大于或等于实数x 的最小整数floor(x)表示小于或等于实数x 的最大整数求整函数与截尾函数round(x)最接近x 的整数max([a ,b ,c ,...])求最大数最大、最小函数min([a ,b ,c ,..])求最小数符号函数sign(x)Matlab 中的数学运算符a+b 加法 a./b 数组右除a-b 减法 a.\b 数组左除a*b 矩阵乘法a^b 矩阵乘方a.*b 数组乘法 a.^b 数组乘方a/b 矩阵右除-a负号a\b矩阵左除' 共轭转置.'一般转置Matlab 的关系运算符 ==等于<小于>大于<=小于或等于>=大于或等于~=不等于如何用matlab求阶乘factorial(n) 求n的阶乘如何用matlab进行多项式运算(1)合并同类项 syms 表达式中包含的变量 collect(表达式,指定的变量)(2)因式分解 syms 表达式中包含的变量 factor(表达式)(3)展开syms 表达式中包含的变量 expand(表达式)(4)化简syms 表达式中包含的变量simplify(表达式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或 a+bjreal(z)求复数z的实部imag(z)求复数z的虚部abs(z)求复数z的模angle(z)求复数z的辐角,conj(z)求复数z的共轭复数exp(z)复数的指数函数,表示e^z如何用Matlab求集合的交集、并集、差集和补集 union(A,B)求集合A和B的并集intersect(A,B)求集合A和B的交集setdiff(A,B)求集合A和B的差集A-Bsetdiff(U,A)求集合A关于全集U的补集如何用matlab排序sort(v) 将向量v的元素从小到大排列(升序排列)sort(v,dim,’descend or ascend’)当dim=1时矩阵按列排序,descend or ascend用来控制升序还是降序当dim=2时矩阵按行排序,descend or ascend用来控制升序还是降序如何用Matlab求极限(1)极限:syms xlimit(f(x), x, a)求f(x)关于x趋于a时的极限(2)单侧极限:左极限:syms x limit(f(x), x, a,’left’)求f(x)关于x趋于a时的左极限右极限:syms x limit(f(x), x, a,’right’)求f(x)关于x趋于a时的右极限如何用Matlab求导数diff('f(x)') diff('f(x)','x') 求f(x)关于x的导数或者:syms x diff(f(x))syms x diff(f(x), x)如何用Matlab求高阶导数如何用Matlab求高阶导数diff('f(x)',n) diff('f(x)','x',n)求f(x)关于x的n阶导数syms x diff(f(x),n)syms x diff(f(x), x,n)如何用Matlab求不定积分int('f(x)') int ('f(x)','x')求f(x)关于x的积分syms x int(f(x))syms x int(f(x), x)如何用Matlab求定积分、广义积分int('f(x)',a,b) int ('f(x)','x',a,b)求f(x)关于x的积分,区间为a到b syms x int(f(x),a,b)syms x int(f(x), x,a,b)如何用Matlab展开级数syms x taylor(f(x), x, n,)a如何在Matlab中进行积分变换syms s tlaplace( f(t), t, s ) 拉普拉斯变换ilaplace( F(s), s, t ) 拉普拉斯变换的逆变换 syms t ωfourier( f(t), t, ω)傅立叶变换ifourier( F(ω), ω, t ) 傅立叶变换的逆变换 syms n zztrans( f(n), n, z) Z变换iztrans( F(z), z, n ) Z变换的逆变换 如何用Matlab解微分方程dsolve('微分方程','自变量')dsolve('微分方程','初始条件或边界条件','自变量') dsolve('D2x+2*x+x=sin(t)','x(0)=1','Dx(0)=1','t')如何用matlab求多变量函数的极限 以两个变量为例说明,多于两个变量的函数极限可以依次类推。
matlab学习笔记第十一章——使用特殊函数

matlab学习笔记第⼗⼀章——使⽤特殊函数 1.在MATLAB中,n的伽马函数可以使⽤下⾯的形式访问:x = gamma(n) 例如,Γ(6) = 5! = 120,在MATLAB检验它: >> gamma(6) ans = 120 2.要以表格显⽰数据,可以在⾏末包含单引号: >> x = (1:0.1:2)'; 3.MATLAB允许你计算不完全伽马函数(incomplete gamma function),MATLAB中⽤来求这个函数的命令是: y = gammainc(x,n) 当x<<1和n<<1时,不完全伽马函数满⾜p(x, n) ≈ xn。
4.贝塞尔函数: 在MATLAB中,第⼀类贝塞⽿函数使⽤besselj实现。
调⽤的形式是:y = besselj(n,x) 第⼆类贝塞⽿函数使⽤bessely(n, x)实现。
我们还能够在MATLAB中实现其它类型的贝塞⽿函数——汉克尔函数(Hankel Function)。
调⽤besselh(nu, k, z)即可利⽤这些函数,⼀共有两类的汉克尔函数(第⼀类和第⼆类),在MATLAB中函数的类型由k指出。
如果我们把k从参数中省略⽽写成besselh(nu, z),MATLAB 默认是使⽤第⼀类汉克尔函数。
5.MATLAB 使⽤NaN来表⽰“不是数值(not a number)”。
6.贝塔函数:要在MATLAB中使⽤贝塔函数,我们⽤: x = beta(m,n) 7.幂积分:在MATLAB中使⽤下⾯的语法来执⾏这个函数: y = expint(x),注意expint(0) = inf。
8.很多其它的特殊函数可以通过使⽤mfun命令进⾏数值计算: >> help mfunlist 9.要在MATLAB使⽤黎曼ζ函数计算,我们写成: w = mfun('Zeta',z) 10.相伴勒让德⽅程在MATLAB中可以使⽤下⾯的命令来计算: p = legendre(n,x) 11.我们⽤Ai(z)来表⽰亚⾥函数:在MATLAB中使⽤w = airy(z)来计算Ai(z)的值。
matlab函数大全

matlab函数大全Matlab函数大全。
Matlab是一种强大的数学软件,它提供了丰富的函数库,可以帮助用户进行各种数学计算、数据分析和可视化操作。
在Matlab中,函数是一种用来完成特定任务的代码块,它可以接受输入参数并返回输出结果。
本文将介绍一些常用的Matlab函数,希望能够帮助读者更好地理解和使用Matlab。
1. plot函数。
plot函数是Matlab中最常用的函数之一,它用于绘制二维图形。
通过plot函数,用户可以将数据点连接起来,形成折线图或者曲线图。
plot函数的基本语法是,plot(x, y),其中x和y分别表示横轴和纵轴的数据点。
用户可以通过设置不同的参数,如颜色、线型、线宽等,来定制绘制的图形。
2. linspace函数。
linspace函数用于生成指定范围内的等间距数据点。
其基本语法是,linspace(start, end, n),其中start和end分别表示起始值和终止值,n表示生成的数据点个数。
linspace函数常用于生成绘图的横轴数据点,也可以用于生成一维数组。
3. meshgrid函数。
meshgrid函数用于生成二维网格数据点。
其基本语法是,[X, Y] = meshgrid(x, y),其中x和y分别表示横轴和纵轴的数据点,X和Y分别表示生成的二维网格数据点。
meshgrid函数常用于三维曲面的绘制,也可以用于生成二维数组。
4. fft函数。
fft函数用于进行快速傅里叶变换,它可以将时域信号转换为频域信号。
其基本语法是,Y = fft(X),其中X表示输入的时域信号,Y表示输出的频域信号。
fft函数常用于信号处理和频谱分析。
5. polyfit函数。
polyfit函数用于进行多项式拟合,它可以根据给定的数据点拟合出一个多项式模型。
其基本语法是,p = polyfit(x, y, n),其中x和y表示数据点,n表示拟合的多项式阶数,p表示拟合出的多项式系数。
Matlab中常用的数学函数介绍与应用

Matlab中常用的数学函数介绍与应用引言:Matlab是一种强大的数学计算工具,它提供了丰富的函数库,可以方便地进行各种数学运算和数据分析。
本文将介绍一些常用的Matlab数学函数,并讨论它们的具体应用场景和用法。
一、线性代数函数1.1 dot函数dot函数用于计算两个向量的点积。
在向量计算中,点积可以帮助我们判断两个向量之间的夹角以及它们的相似程度。
例如,我们可以使用dot函数来计算两个特征向量之间的相似性,从而实现图像分类或者特征匹配。
具体用法:C = dot(A,B),其中A和B是两个向量。
计算结果将存储在变量C 中。
1.2 inv函数inv函数用于计算一个矩阵的逆矩阵。
在线性代数中,逆矩阵对于求解线性方程组、求解最小二乘问题以及确定矩阵的特征值等具有重要作用。
通过使用inv函数,我们可以方便地求解这些问题。
具体用法:B = inv(A),其中A是输入的矩阵,B是其逆矩阵。
1.3 eig函数eig函数用于计算一个矩阵的特征值和特征向量。
在许多数学和物理问题中,特征值和特征向量都具有重要的意义。
例如,在图像压缩和图像处理中,特征值分解可以帮助我们找到最佳的基向量,从而实现更好的图像压缩效果。
具体用法:[V,D] = eig(A),其中A是输入的矩阵,V是特征向量矩阵,D是特征值对角矩阵。
二、微积分函数2.1 diff函数diff函数用于计算一个函数的导数。
在微积分中,导数表示函数在某一点的变化率,具有重要的应用价值。
通过使用diff函数,我们可以方便地计算函数的导数,从而求解一些最优化问题、优化算法以及信号处理等领域的相关问题。
具体用法:Y = diff(X),其中X是输入的函数,Y是其导数。
2.2 int函数int函数用于计算一个函数的不定积分。
在微积分中,不定积分表示函数在某一区间上的面积或体积,对于求解曲线下面积、计算变量间的相关性以及估计概率密度分布等问题非常有用。
通过使用int函数,我们可以轻松地计算函数的不定积分。
Matlab中常用的数学函数解析

Matlab中常用的数学函数解析Matlab是一个强大的数值计算和可视化软件,它提供了丰富的数学函数,方便用户进行各种数学运算和分析。
在本文中,我们将解析一些常用的Matlab数学函数,介绍其用法和应用场景。
一、求解方程和优化问题在科学和工程领域,求解方程和优化问题是常见的任务。
Matlab提供了许多函数用于这些目的,其中最常用的是solve和fmincon函数。
1. solve函数solve函数用于求解代数方程或方程组。
例如,我们想求解一个一元二次方程2x^2 + 3x - 5 = 0的根,可以使用solve函数:```syms xeqn = 2*x^2 + 3*x - 5 == 0;sol = solve(eqn, x);```solve函数返回一个包含根的结构体sol,我们可以通过sol.x获得根的值。
当然,solve函数也可以求解多元方程组。
2. fmincon函数fmincon函数是Matlab中的一个优化函数,用于求解有约束的最小化问题。
例如,我们希望找到一个函数f(x)的最小值,同时满足一些约束条件,可以使用fmincon函数:```x0 = [0.5, 0.5]; % 初始解A = [1, 2]; % 不等式约束系数矩阵b = 1; % 不等式约束右侧常数lb = [0, 0]; % 变量下界ub = [1, 1]; % 变量上界nonlcon = @mycon; % 非线性约束函数options = optimoptions('fmincon', 'Algorithm', 'sqp'); % 优化选项[x, fval] = fmincon(@myfun, x0, A, b, [], [], lb, ub, nonlcon, options);```其中,myfun为目标函数,mycon为非线性约束函数。
fmincon函数返回最优解x和最小值fval。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
• 随机信号:
rand产生均匀分布的白噪声,randn产生高斯分布的 白噪声 t=0:0.01:1; y=randn(1,length(t)); plot(t,y);grid on;
多媒体信息处理系统设计:数字信号处理与MATLAB
注:rectpuls(t-延时-width/2,width));
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
ex3 取样函数:用sinc(x)命令
N=1000; t=-10:20/N:10; x=sinc(t/pi); plot(t,x);grid on
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
信号基本运算
• • • •
尺度变换、翻转、时移、 相加、相乘 差分与求和、微分与积分 离散卷积 LTI(Linear Time-Invariant)系统
多媒体信息处理系统设计:数字信号处理与MATLAB
求系统y[k]+3y[k-1]+2y[k-2]=10f [k]的单位脉冲响应
k=0:10; a=[1 3 2]; b=10; h=impz(b,a,k); stem(k,h);
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
FIR数字滤波器的设计
信息科学与工程学院
离散卷积
• matlab 中卷积运算的指令是c=conv(a,b),其中a和b是 有限长的序列。 ex6:计算下面两个序列的卷积 a=[-2 0 1 –1 3]; b=[1 2 0 -1]; 两个序列的都从0开始的 a=[-2 0 1 -1 3]; b=[1 2 0 -1]; c=conv(a,b); M=length(c)-1; n=0:1:M; stem(n,c,'fill');grid on; xlabel('Time index n');
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
• 单位脉冲序列 (n) 和单位阶跃序列u(n) 可以用ones(1,n)和zeros(1,n)来生成单位脉冲序列和 单位阶跃序列 ones(1,n)命令产生1行n列的1值 zeros(1,n)命令产生1行n列的0值
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
求系统 y“(t)+2y‘(t)+100y(t)=10f(t) 的零状态响应,已 知 f(t)=sin(2πt)u(t)
ts=0; te=5;dt=0.01; sys=tf([10],[1 2 100]); t=ts:dt:te; f=sin(2*pi*t); y=lsim(sys,f,t); plot(t,y); xlabel('Time(sec)'); ylabel('y(t)');
常见连续信号
• • • • • • 指数信号Aeat 指数序列ak 正弦型信号 抽样函数Sa(t) 矩形脉冲信号 三角波脉冲信号 y = A*exp(a*t); 幂运算a.^k实现 内部函数cos( ) 和sin( ) sinc(t) y = rectpuls(t,width) y = tripuls(t, width,skew)
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
连续系统冲激响应和阶跃响应求解
连续时间系统冲激响应可用impulse函数直接求出,其调用 形式为: y=impulse(sys,t); 连续时间系统阶跃响应可用step函数直接求出,其调用形式 为: y=step(sys,t); t: 表示计算系统响应的抽样点向量 sys: LTI系统模型
• IIR数字滤波器最大缺点:不易做成线性相位 • 现代图像、语音、数据通信对线性相位的要求 • 线性相位的FIR得到大力发展和应用
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
线性相位FIR数字滤波器的特点
• 系统函数为:
• 其频响为:
宁波大学
Ningbo University
信息科学与工程学院
尺度变换、翻转、时移、 相加、相乘
t=-3:0.001:3; ft1=tripuls(2*t,4,0.5); subplot(2,1,1) plot(t,ft1) title('f(2t)') ft2=tripuls((2-2*t),4,0.5); subplot(2,1,2) plot(t,ft2) title('f(2-2t)')
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
Matlab中的信号表示 • 常见连续信号 • 离散信号 • 离散卷积 • LTI系统
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
• 线性相位的FIR滤波器是指其相位函数 满足线性方程:
α式中表示系统群时延,β表示附加相移
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
由h(n)的奇偶二种对称性以及N等于奇偶不同情 况可以有四种频率特性与之对应。 • 当h(n)为实数且偶对称时,FIR滤波器为
宁波大学
Ningbo University
信息科学与工程学院
离散信号 •
周期序列
ex4 产生一个幅度为2,频率为4Hz,相位为 号
p / 6 的正弦信
A=2; phi=pi/6; omega=2*pi/12; n=-10:10; x=A*sin(omega*n+phi); stem(n,x,'fill'); grid on;
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
• 非周期信号:指数信号,阶跃信号,取样函数Sa(x)等
ex2. 产生一个高度为1,宽度为3,延时为2秒的矩形脉冲 信号
t=0:0.02:6; plot(t,rectpuls(t-21.5,3)); axis([0,6,0,1.5]);
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
系统的时域分析
连续时间系统零状态响应的求解
y=lsim(sys,f,t); t: 表示计算系统响应的抽样点向量 f: 系统输入信号向量 sys: LTI系统模型,通过tf函数获得sys=tf(b,a) b和a分别为微分方程右端和左端各项的系数
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
其中函数 f2_2(t)为: function ft2=f2_2(t) ft2=tripuls(t,4,0.5);
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
例:已知三角波f(t),画出其微分与积分的波形 %differentiation %integration h=0.001;t= -3:h:3; t= -3:0.1:3; y1=diff(f2_2(t))*1/h; for x=1:length(t) plot(t(1:length(t)-1),y1) y2(x)=quad('f2_2', -3,t(x)); end plot(t,y2)
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
差分与求和、微分与积分
差分 y=diff(f); 求和 y=sum(f(k1:k2)); 微分 y=diff(f)/h; h为数值计算所取时间间隔 定积分 quad(‘function_name’,a,b); %function_name为被积函数名,a和b指定积分区间。
多媒体信息处理系统设计:数字信号处理与MATLAB
宁波大学
Ningbo University
信息科学与工程学院
ex5 产生单位脉冲序列 (n 3) 和单位阶跃序列u(n-3)
n=-2:30; x=[zeros(1,5),1,zeros(1,27)]; y=[zeros(1,5),ones(1,28)]; subplot(2,1,1); stem(n,x,'fill');grid on; subplot(2,1,2) stem(n,y,'fill');grid on;
jw
N=64; x=[1 zeros(1,N-1)]; %产生单位冲激函数 b=[0.008 -0.033 0.05 -0.033 0.008]; a=[1 2.37 2.7 1.6 0.41]; y=filter(b,a,x); %计算单位冲激响应 figure(1); n=1:N; stem(n,y,'fill');grid on; title('单位冲激响应'); figure(2) Fs=1024; freqz(b,a,N,Fs);grid on; %做出幅频和相频响应曲线