资源描述:
《matlab基础及数字信号处理实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、-16-MATLAB基础一、MATLAB的工作环境1.命令窗口:是用户和MATLAB系统交互的主要窗口。在该窗口中,用户可以运行函数,执行MATLAB的基本操作命令以及对MATLAB系统的参数设置等操作。在命令提示符>>后输入命令如:t=[1,2,3;4,5,6;7,8,9];完成对t的赋值2.帮助的使用:直接在命令行输入help在菜单栏选择help—matlabhelp直接按F13.图形窗(Figure):用于显示绘出的图形。通常只要执行了任意一种绘图命令,图形窗都会自动产生。绘图都是在这个图形窗中进行。如果要在建一个图形窗,则可
2、在命令窗中输入figure命令,MATALB就回新建一个图形窗口,并自动给它排出序号。4.文本编辑窗:其作用是用来创建、编辑和调试MATLAB的相关文件(或称程序,即.M文件),它与一般的编辑调试器有相似的功能。通常,MATLAB命令编辑有行命令方式和文件两种。行命令方式,即在命令窗口中一行一行的输入命令,计算机对每一行命令做出反应。这种方式,只能用于编辑简单的程序,当程序比较复杂的时候,把程序写成一个由多行语句组成的文件(.M文件),让MATLAB来执行这个程序中的全部语句,MATLAB文本编辑器的功能就是完成编写,修改和调试这种
3、程序。其进入方式:1)file—new/open—M-file2)直接在命令窗口输入:edit/edit文件名二、MATLAB的基本语法1.变量及其赋值1)赋值要求在MATLAB中,变量和常量的标识符最长允许19个字符。MATLAB内部只有一种数据格式,就是双精度类型,对应于64位二进制。赋值就是把数赋予代表常量或变量的标识符。基本格式为:变量=表达式(或数)在MATLAB中,变量都代表矩阵。列矢量可被当做只有一行的矩阵,行矢量也可被当做只有一个行的矩阵,标量(或常数)应该做是1×1的矩阵。输入矩阵时,应遵循一下规则:整个矩阵的值都
4、应放在方括号中;同一行的个元素以逗号或空格分开;不同行的元素以分号隔开。例如:t=[1,2,3;4,5,6;7,8,9]若不希望有处理结果,则在语句的后面加上分号例如:t=[1,2,3;4,5,6;7,8,9];若想看t的值,接着输入>>t即可-16-2)变量元素的赋值单独给矩阵的某个元素(用圆括号表示)赋值,如:>>t(2,3)=10;t(1,2)=1.5;如果赋值元素的下标超出了原有矩阵的大小,矩阵行列会自动扩展,如>>t(4,2)=11;变量的阶数可以用命令size来获取:>>size(t)ans为MATLAB自动给出的一个临
5、时变量。3)赋值技巧在MATLAB中,为变量的赋值提供了一些简便快捷的方法①利用冒号,给全行元素赋值>>t(4,:)=[5,3,2]②利用特殊矩阵和数组赋值zeros:生成一个元素全部为0的矩阵或数组ones:生成一个元素全部为1的矩阵或数组rand:生成随机矩阵或数组,元素是在(0,1)之间服从均匀分布eye:生成一个单位矩阵或数组linspace:生成一个线性间隔的行矢量randn:生成随机矩阵或数组,元素服从均值为0,方差为1的正态分布具体函数的用法请查help4)复数的赋值方式复数的虚部部分用i或j表示,这是MATLAB启动
6、时自动设定的:>>c=3+2.5i>>z=[1+2j,3+4j;5+6j,7+8j]>>z=[1+2*j,3+4*j;5+6*j,7+8*j]5)MATLAB内部特殊变量和常数①变量ans:临时变量,通常表示当前的答案③常数eps:表示浮点相对精度,按IEEE标准,eps=2-52近似为2.2204e-016④常数pi:表示圆周率⑤常数Inf:表示正无穷大⑥虚数单位i,j:表示复数的虚部单位⑦NaN:表示非数值,如Inf-Inf2.运算符、复数运算及流程控制算术运算、关系运算、逻辑操作(对复数都有效)1)>>f=sqrt(1+2i)
7、>>f*f2)复数的共轭可利用函数conj来完成>>x=conj(f)3.基本的数学函数:>>helpelfun查看该库函数4.基本绘图命令与画图方法1)基本绘图命令二维图形(graph2d子目录)和三维图形(graphics子目录),特殊绘图命令在specgraph子目录。-16-①figure:新建一个绘图窗口,并自动给它排序号②subplot:将窗口分成n×m个子图形窗口,并选择第p个子图形窗口作为当前窗口,供绘图函数使用。格式:subplot(m,n,p)或subplot(nmp)③二维曲线绘制函数plot:格式一:plot
8、(y)——输入一个数组的情况功能:如果y是一个数组,plot(y)给出线性直角坐标的二维图。以y中元素的下标作为x坐标,y中元素的值作为y坐标,并将各点连线>>y=5*(rand(1,10)-0.5);>>plot(y)-------