当前位置:文档之家› 通信原理MATLAB仿真基础(新)

通信原理MATLAB仿真基础(新)

第三章设计性实验(MATLAB仿真实验)3.1M ATALAB语言概述3.1.1 MATALAB语言的发展MATALAB是一种科学计算软件,主要适用于矩阵运算及控制和信息处理领域的分析设计。

它使用方便,输入简洁,运算高效,内容丰富,并且很容易由用户自行扩展,因此,当前已成为美国和其他发达国家大学教学和科学研究中最常用而必不可少的工具。

MATLAB是由美国Mathworks公司与1984年正式推出的,从那时到现在已升级到7.x版本。

随着版本的升级,内容不断扩充,功能更强大。

特别是在系统仿真和实时运行等方面,有很多新进展,更扩大了它的应用前景。

MATLAB是“矩阵实验室”(MATrix Laboratoy)的缩写,它是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。

它用解释方式工作,键入程序立即得出结果,人机交互性能好,适应于多种平台。

MATLAB语言在国外的大学工学院中,特别是数值计算用的最频繁的电子信息类学科中,已成为每个学生都掌握的工具了。

它大大提高了课程教学、解题作业、分析研究的效率。

MATLAB语言比较好学,因为它只有一种数据类型,一种标准的输入输出语句,不用“指针”,不需编译,比其他语言少了很多内容;听三、四个小时课,上机练几个小时,就可入门了。

以后自学也十分方便,通过它的演示(demo)和求助(help)命令,人们可以方便地在线学习各种函数的用法及其内涵MATLAB语言的难点是函数较多,仅基本部分就有700多个,其中常用的有二三百个,要尽量多记少查,可以提高编程效率。

3.1.2MATLAB语言的特点1.矩阵运算:每个变量代表一个矩阵,它以矩阵运算见长;每个元素都看作复数,所有的运算都对矩阵和复数有效。

(虚部符号可用i或j) clear %清除内存变量format short %c1=1-2i,c2=3*(2-sqrt(-1)*3),c3=6+sin(.5)*1jc4=complex(1,2) %建立复数c1 =1.0000 -2.0000ic2 =6.0000 - 9.0000i c3 =6.0000 + 0.4794i c4 =1.0000 +2.0000ic1r=real(c1),c1i=imag(c1),abs_c1=abs(c1),angle_c1=angle(c1) 结果: c1r = 1 c1i = -2 abs_c1 = 2.2361 angle_c1 = -1.1071注意:(1)所有的标点符号必须是在英文状态下输入。

(2)各指令行可以用逗号或分号隔开,如用分号,则分号前的指令只执行,不显示结果。

(3)在命令窗口中输入指令后,必须按下[enter ]键,该指令才会被执行.(4)%为注释符,即%后面的内容为注释,对MATLAB 的计算不产生任何影响。

2.人机界面适合科技人员:其程序与科技人员的书写习惯相近,易写易读。

矩阵行数列数无需定义。

键入算式即得结果,无需编译。

例如:简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。

(1)在键盘上输入下列内容A=[1,2,3;4,5,6;7,8,9] 结果: A =1 2 3 4 5 67 8 9(2)按[enter]键,指令执行。

注意:直接输入矩阵时,矩阵元素用空格或逗号”,”分隔,整个矩阵放到方括号“[]”里。

标点符号一定要在英文状态下输入。

(3)指令执行后,矩阵A被保存在MATLAB的工作空间(Workspace)中。

如果用户不用clear指令清除它,或对它重新赋值,那么该矩阵会一直保存在工作空间中,直到本MATLAB指令窗被关闭为止。

(4)MATLAB区分大小写字母。

3.强大而简易的作图功能(1)能根据输入数据自动确定坐标绘图。

(2)能规定多种坐标系(极坐标,对数坐标等)。

(3)能绘制三维坐标中的曲线和曲面。

(4)可设置不同颜色、线型和视角等。

如果数据齐全,通常只需要一条命令即可出图。

例:用图形表示离散函数1)6y。

=n-(-n=(0:12); %产生一组自变量数据y=1./abs(n-6); %计算相应点的函数值plot(n,y,'r*','MarkerSize',15) %用红花标出数据点grid on %画坐标方格说明:./表示点除,用于元素对元素的除法。

而/表示矩阵除法。

还有'.*' , '.^' 及 '*', '^'。

4.智能化程度高(1)绘图时自动选择最佳坐标。

(2)做数值积分时,自动按精度选择步长。

(3)自动检测和显示程序错误的能力强,易于调试。

5.功能丰富,可扩展性强MATLAB软件包括基本部分和专业扩展两大部分。

基本部分包括:矩阵的运算和各种变换;代数和超越方程的求解,数据处理和傅里叶变换,数值积分等等。

扩展部分称为工具箱。

它实际上是用MATLAB的基本语句编成的各种子程序集,用于解决某一方面的专门问题,或实现某一类的新算法。

现在已经有控制系统,信号处理、图像处理、系统辨识、模糊集合、神经元网络和小波分析等数十个工具箱,并且还在继续发展中。

MATLAB的核心内容是它的基本部分,所有的工具箱子程序都是用它的基本语句编写的。

学好这部分内容是掌握MATLAB的关键。

3.1.3M ATLAB的工作环境MATLAB7.x的工作环境主要由命令窗(Command Window)、图形窗(Figure Window)和文本编辑窗(File Editor)组成。

1. 命令窗(Command Window)Command Window是MATLAB中最重要的部分,它是人机交互的主要环境,也是和编译器连接的主要窗口。

用户通过在提示符“>>”后直接输入各种命令并读出相应的结果。

命令窗见MATLAB桌面系统的默认画面。

其左上视窗为当前目录(Current Directory),可切换为工作空间(Workspace);其左下视窗为历史命令(Command History);右半个视窗则为命令窗(Command Window)。

常用的窗口命令如下:clc:清除Command Window里的内容;clear:清除内存变量;home:光标回到窗口的左上角;clf:清除当前Figure窗口的所有非隐藏对象;close:关闭当前Figure窗口;close all:关闭所有Figure窗口工作空间有多种应用功能:内存变量的查阅、保存和编辑;在命令行下,可以用who,whos查阅MATLAB内存变量;who用于检查现存于工作空间(Workspace)的变量;whos用于检查现存于工作空间的变量的详细资料。

内存变量可以用clear命令清除。

如clear %清除所有内存变量a=(1:7)' %转置>>a =1234567who %显示内存变量名>>Your variables are:awhos %显示内存变量名和尺寸、占用内存空间、类型>>Name Size Bytes Class Attributesa 7x1 56 doubleclear a %清除变量a(1)命令窗编辑功能:键入和修改程序的方法与通常的文字处理相仿。

特殊的功能键为ESC 恢复命令输入的空白状态(即作废命令)↓调出下一行命令↑调出上一行(历史)命令这个功能在程序调试时十分有用。

对于已执行过的命令,如要做些修改后重新执行,就不必重新键入,用↑键调出原命令做修改即可。

(2)主菜单中的编辑(Edit)项功能:用它可以把屏幕上选中的文字裁剪(Cut)或复制(Copy)下来,放到剪贴板上,然后粘贴(Paste)到任意其他视窗的任何位置上去。

这是MATLAB与其他软件(如Word)交换文件、数据和图形的重要方法。

(3)D ebug项是调试程序时使用的。

(4)D esktop项功能:用它可以改变屏幕上显示的视窗布局。

如显示或隐藏命令窗、历史命令窗、工作空间、当前目录;最大化命令窗等。

(5)H elp项功能:展示详尽的帮助。

(6)在命令行键入help,屏幕上将显示系统中已装入的函数库(即子目录)的名称。

(7)键入help子目录名,如help elfun,即得出elfun库(初等数学函数库)中各函数名。

(8)键入help函数名,如help eye,即得到eye 函数的意义和用法。

(9)退出MATLAB有两种方法。

一是键入exit或quit,还有一种是用鼠标双击左上角的小方块或单击右上角的×号。

后一种情况属非正常退出,该次进程的所有的命令将不纪录在“历史命令窗中”,故应尽量避免使用。

2 .图形窗通常,只要执行了任一种绘图命令,就会自动产生图形窗。

以后的绘图都在这一个图形窗中进行。

如想再建一个或几个图形窗,则可键入figure,MATLAB会新建一个图形窗,并自动给它依次排序,如果要人为规定新图为图3,则可键入figure(3)。

如要调看已经存在的图形窗n,也应键入fingure(n)。

3. 文本编辑窗(M文件编辑窗)MATLAB程序编制有两种方式。

一种称为命令方式,在命令窗中的命令符“>>”下一行一行地输入命令,计算机每次对一行命令做出反应,像计算器那样;这只能编简单的程序,在入门时可以用这种方式。

程序稍复杂一些,就应把程序写成一个有多行语句组成的文件,即M文件,让MATLAB来执行这个文件;编写和修改这种文件程序就要用到文本编辑器Editor。

文本编辑器可以将程序像文本一样编辑,如复制、粘贴等,非常方便。

一行中可以键入几个命令,用“;”或“,"隔开。

如用“;”则该函数的执行结果不显示(图形函数除外);如用","则该函数的运行结果要显示。

命令窗上方最左边的按钮是用来打开文本编辑器空白页的。

左边第2个按钮是用来打开原有程序文件的。

3.2基本语法3.2.1 变量及其赋值在MATLAB内部所有变量均保存成double的形式,即双精度(64位)二进制。

这是为了简化编程,MATLAB省去了许多种数据格式。

MATLAB是基于矩阵运算的,MATLAB中的所有变量或常量都以矩阵形式保存的。

一个数也是矩阵,只不过它是1×1阶的矩阵。

变量名的命名规则如下:(1)变量名区分大小写。

(2)变量名最多能包括63个字符,其后的字符都被忽略。

(3)变量名必须以一个字母开始,其后可以是任意数量的字母、数字、下划线,字符中间不能留空格。

(4)不允许出现标点符号,因为很多标点符号在MATLAB中有特殊的意义。

(5)M ATLAB中的关键字(又称保留字)不能用作变量名。

关键字如下:For end if while function return elseif case otherswiseswitch continue else try catch global persistent break。

相关主题