matlab6.5函数
MATLAB百科

MATLAB目录MATLAB的简介发展历程应用Matlab的优势和特点Matlab常用工具箱常用函数[编辑本段]MATLAB的简介MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLA B和Simulink两大部分。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Mapl e并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MAT LAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
[编辑本段]发展历程20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。
1984年由Little、Moler、St eve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。
到20世纪9 0年代,MATLAB已成为国际控制界的标准计算软件。
版本更新[编辑本段]应用MATLAB 产品族可以用来进行以下各种工作:● 数值分析● 数值和符号计算● 工程与科学绘图● 控制系统的设计与仿真● 数字图像处理● 数字信号处理● 通讯系统设计与仿真● 财务与金融工程MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
MATLAB实用中文手册

下拉菜单
功能
The MathWorks Web Site
连接到 MathWorks 公司的主页
MATLAB Central
连接到 MATLAB Central
MATLAB File Exchange
连接到 MATLAB File Exchange
MATLAB Newsgroup Access
连接到 MATLAB Newsgroup Access
1.1.2 MATLAB 功能和特点
1.功能强大 (1) 运算功能强大 MATLAB 的数值运算要素不是单个数据,而是矩阵,每个元素都可看作复数,运
算包括加、减、乘、除、函数运算等;
1
通过 MATLAB 的符号工具箱,可以解决在数学、应用科学和工程计算领域中常常 遇到的符号计算问题。
(2) 功能丰富的工具箱 大量针对各专业应用的工具箱的提供,使 MATLAB 适用于不同领域。
则以科学计数法显示结果。
显示格式设置:选择菜单“File”→“ Preferences”,则会出现参数设置对话框,
如图 1.10 所示;
图 1.10 参数设置对话框
直接在命令窗口中输入 “format” 命令来进行数值显示格式的设置。
format 格式描述
表 1.6 数据显示的 Format 格式
线性、连续或离散的系统,通过 Simulink 能够仿真并分析该系统。
1.2 MATLAB 6.5 环境设置
MATLAB6.5 版 的 界 面 更 加 方 便 , 运 行 界 面 称 为 MATLAB 操 作 界 面 (MATLAB Desktop),默认的操作界面如图 1.1 所示。
MATLAB 的操作界面是一个高度集成的工作界面,它的通用操作界面包括九个常用的 窗口,另外,MATLAB6.5 版还增加了“Start”开始按钮。
Matlab简介switchca...

(一) Matlab 使用简介Matlab是“Matrix Laboratory”的缩写, 意为“矩阵实验室”, 是美国MathWorks公司开发的一种数学工具软件, 它的主要功能是给人们提供一个方便的数值计算平台.Matlab的基本运算单元是不需指定维数的矩阵, 系统提供了大量的矩阵及其他运算函数, 可以方便地进行一些很复杂的计算, 而且运算效率极高. Matlab命令和数学中的符号、公式非常接近, 可读性强, 容易掌握, 还可以利用它所提供的程序设计语言进行编程, 完成特定的工作.Matlab系统由Matlab内核和辅助工具箱组成. Matlab内核是由大量的内部函数以及用户自定义函数构成的, 通过这些函数可以方便地解决具体的技术问题, 这也是使用Matlab的基本方法.本简介以2002年发布的MATLAB 6.5为基础, 简单分类介绍软件系统的基本功能, 及与矩阵运算有关的函数(命令)的使用, 其他功能请读者自行查阅帮助或有关参考文献.1 简单操作Matlab是一个交互式的计算系统, 计算是在用户和Matlab 互相交互、传递信息数据的过程中完成的.1.1 启动假设在Windows环境下已安装好MATLAB 6.5, 那么进入系统的方法是: 在桌面上双击MATLAB 6.5图标(见下图左)或从“开始”菜单的“程序”下的“MATLAB 6.5”联级菜单下单击MATLAB 6.5图标(见下图右)均可.启动了Matlab后, 即进入Matlab的命令窗口----Command Window(见下图), 在一段提示信息后, 出现系统提示符“>>”, 这时你就可以输入命令了.比如, 输入 3+5并按下Enter键,这时系统开始计算并输出计算结果:ans=8, 若再输入第二个表达式b=2+sin(pi/2),系统也会处理并给出结果:b=3 .Matlab的桌面系统由桌面平台和桌面组件构成. 桌面平台主要有桌面菜单: File、Edit、View、Web、Window、Help 和工具栏,桌面组件主要有命令窗口(Command Window)、历史命令窗口(Command History)、路径浏览器(CurrentDirectory)、工作空间浏览器(Workspace )等.命令窗口是对Matlab进行操作的主要载体;通过历史命令窗口可了解命令的使用历史;工作空间浏览器将显示所有目前保存在内存中的Matlab变量的变量名、数学结构、字节数以及类型.1.2 基本命令Matlab的基本命令有如下两种形式:(1) 表达式 % 执行表达式运算, 显示结果, 并将值保存在变量ans中;(2) 变量=表达式 % 除(1)的功能外, 还对变量进行赋值.注:命令行后面如果加上分号“;”, 那么就不显示运算结果.(3) 操作命令行 % 执行某一特定的操作如: clc % 清屏, 光标调到左上角clear [变量列表] % 清除全部(或指定)的内存变量whos % 显示已用的内存变量情况1.3 退出要退出Matlab, 可单击关闭窗口按钮或从菜单“File”中选择“Exit MATLAB”或按Ctrl+Q, 也可以在命令窗口中键入“quit”命令.特别提示:退出Matlab时, 系统是没有提示确认的, 一旦退出, 所有的变量定义将消失. 若你希望保存当前Matlab工作区的一些结果, 可在退出Matlab前,使用“save <文件名> [变量名]”或从菜单“File”中选择“Save Workspace As…”, 将全体(或指定)的变量值以给出的文件名(扩展名为 .mat)保存在指定的位置, 下次要应用这些变量值时, 只要使用“load <文件名> [变量名]”恢复其值即可.1.4 说明(1) 输入的字母严格区分大小写. 变量名要以字母开头, 可以是字母、数字、下划线组成, 但不能使用标点. 除自定义变量外, 系统预定义几个变量(见表1-1)和支持许多数学函数(见表1-2); 表1-1 系统预定义变量不定量NaN无穷大, ∞ Inf 虚数单位, i 2=1 i 最大的浮点数, 1.7977e +308 realmax 最小的正浮点数, 2.2251e −308 realmin 浮点运算的相对精度, 2.2204e −16 eps 圆周率, π=3.14159…pi 意 义变量名表1-2 部分常用的数学函数m 被n 整除的余数mod(m,n)反余切函数acot(x)最接近x 的整数 round(x)反正切函数 atan(x)不超过x 的最大整数 floor(x)反余弦函数 acos(x)算术平方根函数 sqrt(x) 反正弦函数 asin(x)绝对值(取模) 函数 abs(x) 余割函数csc(x)以2为底对数函数 log2(x) 正割函数sec(x)以10为底对数函数 log10(x) 余切函数cot(x)自然对数函数 log(x) 正切函数tan(x)以2为底指数函数 pow2(x) 余弦函数cos(x)自然指数函数 exp(x) 正弦函数sin(x)意 义函数名意 义函数名(2) 在缺省的状态下, Matlab以短格式(short格式, 保留4位小数)显示计算结果. 这在有些情况下是不够的, 这时可以通过菜单“File->Preferences->Command Window”对显示格式“Numeric Format”进行更改. 由于Matlab以双精度执行所有的运算, 显示格式的设置仅影响矩阵的显示, 不影响矩阵的计算和存储.(3) 在当前提示符下, 可通过光标的上、下移动键,调出使用过的命令行,对它进行编辑、修改再利用. 当然也可利用历史命令窗口(Command History)的功能将旧命令行调入命令窗口再利用.2 矩阵操作矩阵的运算是Matlab的核心, 系统中几乎一切运算均是以对矩阵的操作为基础的.2.1 矩阵的建立在Matlab中矩阵的建立有很多方法, 除用户自定义矩阵外, 还可以调用已存储的矩阵数据, 也可以用系统提供的一系列函数生成特殊矩阵.自定义矩阵:用户在命令窗口中自定义矩阵时, 要以逗号或空格分隔矩阵中的不同列, 以分号分隔矩阵中的不同行, 而且矩阵的数据应被包括在中括号内. 如右>> A=[1,2,3;4 56;7,8,9]A =1 2 34 5 67 8 9(2) 生成特殊矩阵: Matlab 中内置了许多特殊矩阵的生成函数.常用特殊矩阵生成函数表元素全为1的矩阵ones ( )元素在0~1之间的随机矩阵rand ( )元素全为0的矩阵 zeros ( )主对角线为1, 其余为0矩阵eye ( )说明函数名说明函数名注: ( )中若只有一个数值参数n, 表示生成n ×n 的方阵; 若有两个数值参数 m,n, 表示生成一个m ×n 的矩阵.(3) 矩阵的合成:可利用中括号将若干小矩阵合成为一个大矩阵.例如>> A=[1,2;3,4]; B=[A,2*A;ones(1,4)]B =1 2 2 43 4 6 81 1 1 1(4) 使用数组编辑器(Array Editor):对已赋值的变量,可打开工作空间浏览器(Workspace )中的数组编辑器(Array Editor),从外部导入数据或对矩阵的结构和值进行修改。
基于Matlab的PID温控系统的设计与仿真

基于Matlab的PID温控系统的设计与仿真摘要在Matlab6.5环境下,通过Matlab/Simulink提供的模块,对温度控制系统的PID控制器进行设计和仿真。
结果表明,基于Matlab的仿真研究,能够直观、简便、快捷地设计出性能优良的交流电弧炉温度系统控制器。
关键词温度系统数学模型;参数整定;传递函数在钢铁冶炼过程中,越来越多地使用交流电弧炉设备,温控系统的控制性能直接影响到钢铁的质量,所以炉温控制占据重要的位置。
PID控制是温控系统中一种典型的控制方式,是在温度控制中应用最广泛、最基本的一种控制方式。
随着科学发展,各行各业对温控精度要求越来越高,经典PID控制在某些场合已不能满足要求,因而智能PID控制的引入是精密温控系统的发展趋势。
为了改善电弧炉系统恒温控制质量差的现状,研制具有快速相应的、经济性好的、适合国情的恒温控制装置具有十分重要的意义。
1温控系统模型的建立在Matlab6.5环境下,通过Simulink提供的模块,对电弧炉温控系统的PID控制器进行设计和仿真。
由于常规PID控制器结构简单、鲁棒性强,被广泛应用于过程控制中。
开展数字PID控制的电弧炉控制系统模型使应用于生产实际的系统稳定性和安全性得到迅速改善。
1.1温控系统阶越响应曲线的获得在高校微机控制技术实验仪器上按以下步骤测得温度系统阶越响应曲线:1)给温度控制系统75%的控制量,即每个控制周期通过X0=255×75%=191个周波数,温度系统处于开环状态。
2)ATMEGA32L内部A/D每隔0.8s采样一次温度传感器输出的电压值,换算成实际温度值,再通过串口通讯将温度值送到电脑上保存。
使用通用串口调试助手“大傻串口调试软件-3.0AD”作为上位机接收数据并保存到文件“S曲线采集.txt”中。
3)在采集数据过程中,不时的将已经得到的数据通过“MicrosoftExcel”文档画图,查看温度曲线是否已经进入了稳态区;根据若曲线在一个较长时间里基本稳定在一个小范围值内即表明进入稳态区了,此时关闭系统。
Matlab多线程计算及多核心计算应用说明

Matlab多线程计算及多核⼼计算应⽤说明关于Matlab多线程计算和多核⼼计算1.关于多线程计算Matlab是基于单线程单核⼼的⼀款软件,在近⼏年多核⼼,多线程处理器⼤规模部署后,其程序设计师才逐步改善matlab内核,让某些常⽤函数逐步⽀持多线程运算。
在matlab6.5-matlab 2007b这些版本中,fft, fft2, fftn, ifft, ifft2, ifftn是默认⽀持多线程运算的,即只要调⽤这些函数,系统在运算时会开启多线程(计算机硬件须⽀持)在matlab 2008a-matlab 2009a这些版本中,增加了prod, sum, max, min这⼏个函数的多线程运算功能,但是matlab内核版本不同会导致这些函数在多线程执⾏时效率不同。
按照其官⽅⽂档的说法,在⽀持多线程计算的matlab版本中,同样的fft运算可以提速50%。
但是多线程运算有⼀个缺点:在函数体或程序内部需要调⽤其他⾮多线程运算的函数时,执⾏效率会⽐较低,基本和不开启多线程运算差不多,也就是说,使⽤这些⽀持多线程的函数时,最好不要进⾏嵌套。
结论:matlab中多线程计算受限于版本以及特定的函数,在运算指定函数时效率较⾼,建议拥有多核⼼处理器的机器开启。
开启多线程⽅法:在命令⾏下输⼊:maxNumCompThreads(),括号内为需要开启的线程个数2.关于多核⼼计算(并⾏计算和分布式计算)2.1并⾏计算功能(Parallel Computing Toolbox)Parallel Computing Toolbox是matlab 2008 a开始拥有的新功能,之前的版本仅拥有Distributed Computing Toolbox。
并⾏计算⼯具箱⾥⾯包含了parfor,spmd,pmode,下⾯⼀⼀介绍(这些功能在分布式计算的应⽤暂不涉及)2.1.1 Parfor这个是matlab提供的并⾏计算的for循环,需要matlab pool的⽀持。
matlab求行列式

matlab求行列式
一、实验名称
用四种方法计算行列式
二、实验目的
(1)掌握多种方法求解行列式;
(2)培养编程与上机调试能力;
(3)熟悉Matlab6.5.1软件环境.
三、实验要求
(1)输入一个n阶行列式(矩阵形式)到TXT文本。
(2)用文本输入语句把文本中的行列式数据读入一个变量(矩阵),并自动判断行列式的阶数。
(3)用菜单选择计算方法:
第一种是用matlab的矩阵计算语句计算;
第二种是化行列式为上三角行列式进行计算;
第三种是用按行展开降阶的方法(用递归方式)计算;
第四种是从定义出发计算。
(每种计算法都要有计算框图,且每种计算法都要编成一个自定义函数)(4)把计算结果输出到一个文本文件中存盘。
五、程序及其运行结果
程序
function hnaglieshi
clc;
A=input('输入矩阵:')
[m,n]=size(A);
fp=fopen('E: \data.txt','wt+'); %在E盘创建并打开txt文本fprintf(fp,'%g',A);
a=fscanf(fp,'%g\n',[m,n]); %矩阵A保存在文本文档中fclose(fp);
if m~=n
disp('error!行列不相等');
else
jieshu=m %输出矩阵的阶数
disp('*********计算行列式*********'); %选择菜单。
Matlab求解教程:求解延迟微分方程
Matlab求解教程:求解延迟微分方程使用MA TLAB求解延时微分方程的两种方法:DDE23和SimuLink有些不同点需要注意,否则结果会出现错误使用MA TLAB来求解延迟微分方程是在生物数学和化学计算求解中经常遇到的事,在其它领域也比较常见。
我所知道的,在MA TLAB中求解微分方程有三种方法:1.使用ode45(龙格-库塔法的一个变种)求解,这时用一个数组,记录y的延迟项,但是c的值要考虑步长,再代入方程就能实现延时效应;2.使用dde23求解常数延时方程、使用ddesd可以用来求解延迟与时间t有关的延迟微分方程;3.使用SimuLink建模求解,SimuLink是求解广义微分代数系统的通用工具,功能很强大,但是看惯了编程指令的人可能不大习惯,调试似乎也不太方便。
既然本文专门讨论求解延迟微分方程,就先介绍一下专用工具dde23,dde系列求解函数是由Southern Methodist University 的L.F. Shampine 和S. Thompson根据他们早期使用Fortran编写的Fortran 90 DDE Solver 移植到MATLAB上的,从MA TLAB6.5开始加入MA TLAB的官方发行版,根据薛定宇教授在其几本关于MA TLAB的著作中提到的,该函数返回的sol中结构体sol.x 和sol.y均为按行排列,与ode45等不同,不太规范(没办法,因为这个函数本来就不是Mathworks的官方作品),不过这一点已经不大可能得到改进了,因为L.F. Shampine 和S. Thompson 已经决定停止维护这个文件。
如果您想进一步了解该函数,可以访问它的主页。
MA TLAB帮助中关于该函数的介绍不很清楚,如果需要进一步了解这个函数,需要下载作者为其写的手册。
下面以MA TLAB 中所附的一个例程来说明这个函数与Simulink建模求解的不同。
在MA TLAB prompt中键入edit ddex1就会找看到函数作者所写的一个入门例子:function ddex1%DDEX1 Example 1 for DDE23.% This is a simple example of Wille' and Baker that illustrates the% straightforward formulation, computation, and plotting of the solution% of a system of delay differential equations (DDEs).%% The differential equations%% y'_1(t) = y_1(t-1)% y'_2(t) = y_1(t-1)+y_2(t-0.2)% y'_3(t) = y_2(t)%% are solved on [0, 5] with history y_1(t) = 1, y_2(t) = 1, y_3(t) = 1 for% t <= 0.%% The lags are specified as a vector [1, 0.2], the delay differential% equations are coded in the subfunction DDEX1DE, and the history is% evaluated by the function DDEX1HIST. Because the history is constant it% could be supplied as a vector:% sol = dde23(@ddex1de,[1, 0.2],ones(3,1),[0, 5]);%% See also DDE23, FUNCTION_HANDLE.% Jacek Kierzenka, Lawrence F. Shampine and Skip Thompson% Copyright 1984-2004 The MathW orks, Inc.% $Revision: 1.2.4.2 $ $Date: 2005/06/21 19:24:16 $sol = dde23(@ddex1de,[1, 0.2],@ddex1hist,[0, 5]);figure;plot(sol.x,sol.y)title('An example of Wille'' and Baker.');xlabel('time t');ylabel('solution y');% --------------------------------------------------------------------------function s = ddex1hist(t)% Constant history function for DDEX1.s = ones(3,1);% --------------------------------------------------------------------------function dydt = ddex1de(t,y,Z)% Differential equations function for DDEX1.ylag1 = Z(:,1);ylag2 = Z(:,2);dydt = [ ylag1(1)ylag1(1) + ylag2(2)y(2) ];这里先不管函数使用的具体语法,求解模型为:显然有两个延时常数1、0.2。
python调用matlab函数
python调⽤matlab函数python调⽤matlab函数1、matlab中python外部接⼝(API)的安装第⼀次使⽤Matlab需要先安装⼀下python的API。
路径为:...\Matlab2019a\extern\engines\python\setup.py需注意matlab版本与其所⽀持的python版本,如 Matlab2018b⽀持python 3.4 3.5 3.6,2019a⽀持到3.7安装如下三步:1、激活需要安装matlab模块的环境2、切换到matlab该⽂件路径下路径3、调⽤python setup.py install,进⾏安装2、matlab.egine模块使⽤python调⽤matlab函数(function):例⼦:想使⽤python调⽤matlab函数,且函数内嵌套了matlab的CVX包,⽤于解凸优化问题。
新建⼀个python脚本:test.pyimport matlab.eginedef CVX_Matlab(h,t):eng = matlab.engine.start_matlab() # 启动matlab,此时可以调⽤matlab内置函数a = eng.CVX_Matlab(h,t)print(a)if __name__ == '__main__':h = [2.1062e-7, 1.8093e-7,1.502e-7]t = 6.5CVX_Matlab(h,t)在matlab中,编写好你需要使⽤的函数 CVX.mfunction [optValue, Slist] = CVX_Matlab(g,t)% g的类型为'cell' g=[{2.1062e-7}, {1.8093e-7},{1.502e-7}] % g为python以列表形式传⼊的信道增益Slist = [];T = [];optValue = [];t = t/1000; % NOMA通讯时间 ms级别,换算成sn = 3; % 边缘服务器个数S = 15e3; % 总任务量y = [10e6, 15e6,20e6]; % 边缘服务器计算速率W = 8e6; % 带宽uL = 1e6; % 本地计算速率P = 5; % 本地NOMA发送功率n0 = 1e-12; % ⾼斯⽩噪声功率谱密度cvx_begincvx_precision bestvariable Sm(n)minimize(max([(S-(Sm(1)+Sm(2)+Sm(3))*S) / uL,t/1 + Sm(1)*S/y(1),t + Sm(2)*S/y(2),t + Sm(3)*S/y(3)] ))subject toSm(1)+Sm(2)+Sm(3) <= 1Sm(1) >= 0Sm(2) >= 0Sm(3) >= 0SUM = (1/g{1})*power(2,(1/t)*(1/W)*(Sm(1)+Sm(2)+Sm(3))*S)+(1/g{2}-1/g{1})*power(2,(1/t)*(1/W)*(Sm(2)+Sm(3))*S)+(1/g{3}-1/g{2})*power(2,(1/t)*(1/W)*(Sm(3))*S)P >= W*n0*SUM -W*n0/g{3}cvx_endA = (S-(Sm(1)+Sm(2)+Sm(3))*S) / uL;B = t/1 + Sm(1)*S/y(1);C = t + Sm(2)*S/y(2);D = t + Sm(3)*S/y(3);Slist = [Slist,Sm];T = [T,t];optValue = [optValue,cvx_optval*1000]3、从Python传递数值到MatlabPython 类型到 MATLAB 标量类型的映射Python 容器到 MATLAB 数组类型的映射其中元胞数组(cell类型),需使⽤ {} 进⾏索引访问。
实验指导1 matlab的简单应用
实验指导1 matlab的简单应用一、实验目的本实验的目的是熟悉 MATLAB软件在矩阵运算方面的命令函数:求逆阵的函数inv;方阵A 的行列式的函数det(A);求矩阵A秩的函数rank(A);矩阵A的行阶梯形矩阵函数rref(A) 。
二、实验内容借助计算机完成矩阵的初等运算、逆矩阵、矩阵方程 、矩阵秩 的计算。
三、实验仪器和设备1.计算机若干台(装有matlab6.5及以上版本软件)2.打印机四、实验要求1.独立完成各个实验任务;2.实验的过程保存成 .m 文件,以备检查;3.实验结果保存成 .mat 文件五、实验原理在MATLAB中,矩阵用中括号括起来,同一行的数据用空格或逗号隔开,不同行用分号隔开。
矩阵是MATLAB的基本数据形式,数和向量可视作它的特殊形式,不必对矩阵的行、列数作专门的说明。
(一).矩阵的直接输入矩阵有多种输入方式,这里介绍一种逐一输入矩阵元素的方法。
具体做法是,在方括号内逐行键入矩阵各元素,同一行各元素之间用逗号或空格分隔,两行元素之间用分号分隔。
例1. 在MATLAB的提示符下输入:A=[1,2,3;4,5,6;7,8,9]得到一个3行3列的矩阵,屏幕上显示为A= 1 2 34 5 67 8 9(二). 矩阵元素矩阵元素用矩阵名及其下标表示。
在作了例1的输入后,若键入: A(2,3) 屏幕显示ans= 6即矩阵A第2行第3列的元素为6。
也可通过改变矩阵的元素来改变矩阵。
在例1输入矩阵A后键入:A(3,3)=10即得一新的矩阵,屏幕会显示A= 1 2 34 5 67 8 10甚至可以通过给定一个元素的值,得到一个扩大的新矩阵。
如再键入:A(5,3)=2 * 0.15屏幕显示A= 1.0000 2.0000 3.00004.00005.00006.00007.0000 8.0000 10.00000 0 00 0 0.3000(三).矩阵的运算矩阵运算的运算符为+,-,*,/,\,′和^。
数字信号处理综合设计
数字信号处理综合设计一、实验目的1.学会MATLAB的使用,掌握MA TLAB的程序设计方法;2.掌握在Windows环境下语音信号采集的方法;3.掌握数字信号处理的基本概念、基本理论和基本方法;4.掌握MATLAB设计FIR和IIR数字滤波器的方法;5.学会用MATΛAB对信号进行分析和处理。
二、实验原理参考《数字信号处理》教材。
三、主要实验仪器及材料微型计算机、Mατλαβ6.5教学版、TX编程环境。
四、实验内容1.语音信号的采集要求利用windows下的录音机(开始—程序—附件—娱乐—录音机,文件—属性—立即转换—8000KHz,8位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。
然后在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。
通过wavread函数的使用,要求理解采样频率、采样位数等概念。
wavread函数调用格式:y=wavread(file),读取file所规定的wav文件,返回采样值放在向量y中。
[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。
y=wavread(file,N),读取前N点的采样值放在向量y中。
y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量y中。
2.语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在MATLAB 中,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解。
3.设计数字滤波器和画出频率响应根据语音信号的特点给出有关滤波器的性能指标:1)低通滤波器性能指标,fp=1000Hz,fc=1200 Hz,As=100dB,Ap=1dB;2)高通滤波器性能指标,fc=2800 Hz,fp=3000 Hz As=100dB,Ap=1dB;3)带通滤波器性能指标,fp1=1200 Hz,fp2=3000 Hz,fc1=1000 Hz,fc2=3200 Hz,As=100dB,Ap=1dB。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB函数大全A aabs 绝对值、模、字符的ASCII码值 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具 all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名 any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令 B bbar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令 brighten 亮度控制 C ccapture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具 cdf2rdf 复数特征值对角阵转为实数块对角阵 ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象 chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图 colspace 列空间的基 close 关闭指定窗口 colperm 列排序置换向量 comet 彗星状轨迹图 comet3 三维彗星轨迹图 compass 射线图 compose 求复合函数 cond (逆)条件数 condeig 计算特征值、特征向量同时给出条件数condest 范 -1条件数估计 conj 复数共轭 contour 等位线 contourf 填色等位线 contour3 三维等位线 contourslice 四维切片等位线图 conv 多项式乘、卷积 cool 青紫调冷色图 copper 古铜调色图 cos 余弦 cosh 双曲余弦 cot 余切 coth 双曲余切 cplxpair 复数共轭成对排列 csc 余割 csch 双曲余割 cumsum 元素累计和 cumtrapz 累计梯形积分 cylinder 创建圆柱 D ddblquad 二重数值积分 deal 分配宗量 deblank 删去串尾部的空格符 dec2base 十进制转换为X进制 dec2bin 十进制转换为二进制 dec2hex 十进制转换为十六进制 deconv 多项式除、解卷 delaunay Delaunay 三角剖分 del2 离散 Laplacian差分 demo Matlab演示 det 行列式 diag 矩阵对角元素提取、创建对角阵 diary Matlab指令窗文本内容记录 diff 数值差分、符号微分digits 符号计算中设置符号数值的精度dir 目录列表disp 显示数组display 显示对象内容的重载函数dlinmod 离散系统的线性化模型dmperm 矩阵Dulmage-Mendelsohn 分解dos 执行DOS 指令并返回结果double 把其他类型对象转换为双精度数值drawnow 更新事件队列强迫Matlab刷新屏幕dsolve 符号计算解微分方程E eecho M文件被执行指令的显示edit 启动M文件编辑器eig 求特征值和特征向量eigs 求指定的几个特征值end 控制流FOR等结构体的结尾元素下标eps 浮点相对精度error 显示出错信息并中断执行errortrap 错误发生后程序是否继续执行的控制erf 误差函数erfc 误差补函数erfcx 刻度误差补函数erfinv 逆误差函数errorbar 带误差限的曲线图etreeplot 画消去树eval 串演算指令evalin 跨空间串演算指令exist 检查变量或函数是否已定义exit 退出Matlab环境exp 指数函数expand 符号计算中的展开操作expint 指数积分函数expm 常用矩阵指数函数expm1 Pade法求矩阵指数expm2 Taylor法求矩阵指数expm3 特征值分解法求矩阵指数eye 单位阵ezcontour 画等位线的简捷指令ezcontourf 画填色等位线的简捷指令ezgraph3 画表面图的通用简捷指令ezmesh 画网线图的简捷指令ezmeshc 画带等位线的网线图的简捷指令ezplot 画二维曲线的简捷指令ezplot3 画三维曲线的简捷指令ezpolar 画极坐标图的简捷指令ezsurf 画表面图的简捷指令ezsurfc 画带等位线的表面图的简捷指令F ffactor 符号计算的因式分解feather 羽毛图feedback 反馈连接feval 执行由串指定的函数fft 离散Fourier变换fft2 二维离散Fourier变换fftn 高维离散Fourier变换fftshift 直流分量对中的谱fieldnames 构架域名figure 创建图形窗fill3 三维多边形填色图find 寻找非零元素下标findobj 寻找具有指定属性的对象图柄findstr 寻找短串的起始字符下标findsym 机器确定内存中的符号变量finverse 符号计算中求反函数fix 向零取整flag 红白蓝黑交错色图阵fliplr 矩阵的左右翻转flipud 矩阵的上下翻转flipdim 矩阵沿指定维翻转floor 向负无穷取整flops 浮点运算次数flow Matlab提供的演示数据fmin 求单变量非线性函数极小值点(旧版)fminbnd 求单变量非线性函数极小值点fmins 单纯形法求多变量函数极小值点(旧版)fminunc 拟牛顿法求多变量函数极小值点fminsearch 单纯形法求多变量函数极小值点fnder 对样条函数求导fnint 利用样条函数求积分fnval 计算样条函数区间内任意一点的值fnplt 绘制样条函数图形fopen 打开外部文件for 构成for环用format 设置输出格式fourier Fourier 变换fplot 返函绘图指令fprintf 设置显示格式fread 从文件读二进制数据fsolve 求多元函数的零点full 把稀疏矩阵转换为非稀疏阵funm 计算一般矩阵函数funtool 函数计算器图形用户界面fzero 求单变量非线性函数的零点G ggamma 函数gammainc 不完全 函数gammaln 函数的对数gca 获得当前轴句柄gcbo 获得正执行"回调"的对象句柄gcf 获得当前图对象句柄gco 获得当前对象句柄geomean 几何平均值get 获知对象属性getfield 获知构架数组的域getframe 获取影片的帧画面ginput 从图形窗获取数据global 定义全局变量gplot 依图论法则画图gradient 近似梯度gray 黑白灰度grid 画分格线griddata 规则化数据和曲面拟合gtext 由鼠标放置注释文字guide 启动图形用户界面交互设计工具H hharmmean 调和平均值help 在线帮助helpwin 互式在线帮助helpdesk 打开超文本形式用户指南hex2dec 十六进制转换为十进制hex2num 十六进制转换为浮点数hidden 透 视和消隐开关hilb Hilbert矩阵hist 频数计算或频数直方图histc 端点定位频数直方图histfit 带正态拟合的频数直方图hold 当前图上重画的切换开关horner 分解成嵌套形式hot 黑红黄白颜色图hsv 饱和颜色图I iif-else-elseif 条件分支结构ifft 离散Fourier反变换ifft2 二维离散Fourier反变换ifftn 高维离散Fourier反变换ifftshift 直流分量对中的谱的反操作ifourier Fourier反变换i, j 缺省的"虚单元"变量ilaplace Laplace反变换imag 复数虚部image 显示图象imagesc 显示亮度图象imfinfo 获取图形文件信息imread 从文件读取图象imwrite 把imwrite 把图象写成文件ind2sub 单下标转变为多下标inf 无穷大info MathWorks公司网点地址inline 构造内联函数对象inmem 列出内存中的函数名input 提示用户输入inputname 输入宗量名int 符 号积分int2str 把整数数组转换为串数组interp1 一维插值interp2 二维插值interp3 三维插值interpn N维插值interpft 利用FFT插值intro Matlab自带的入门引导inv 求矩阵逆invhilb Hilbert矩阵的准确逆ipermute 广义反转置isa 检测是否给定类的对象ischar 若是字符串则为真isequal 若两数组相同则为真isempty 若是空阵则为真isfinite 若全部元素都有限则为真isfield 若是构架域则为真isglobal 若是全局变量则为真ishandle 若是图形句柄则为真ishold 若当前图形处于保留状态则为真isieee 若计算机执行IEEE规则则为真isinf 若是无穷数据则为真isletter 若是英文字母则为真islogical 若是逻辑数组则为真