MATLAB上机实验一一、实验目的初步熟悉MATLAB工作环境,熟悉命令窗口,学会使用帮助窗口查找帮助信息。命令窗口二、实验内容(1)熟悉MATLAB平台的工作环境。(2)熟悉MATLAB的5个工作窗口。(3)MATLAB的优先搜索顺序。三、实验步骤1.熟悉MATLAB的5个基本窗口①CommandWindow(命令窗口)②Workspace(工作空间窗口)③CommandHistory(命令历史记录窗口)④CurrentDirectory(当前目录窗口)⑤HelpWindow(帮助窗口)(1)命令窗口(CommandWindow)。在命令窗口中依次输入以下命令:x=1y=[123456789];z1=[1:10],z2=[1:2:5];w=linspace(1,10,10);t1=ones(3),t2=ones(1,3),t3=ones(3,1)t4=ones(3),t4=eye(4)x=1z1=12345678910t1=11111111t2=111t3=111t4=111111111t4=1000010000100001思考题:①变量如何声明,变量名须遵守什么规则、是否区分大小写。答:(1)变量声明1.局部变量每个函数都有自己的局部变量,这些变量只能在定义它的函数内部使用。当函数运行时,局部变量保存在函数的工作空间中,一旦函数退出,这些局部变量将不复存在。脚本(没有输入输出参数,由一系列MATLAB命令组成的M文件)没有单独的工作空间,只能共享调用者的工作空间。当从命令行调用,脚本变量存在基本工作空间中;当从函数调用,脚本变量存在函数空间中。2.全局变量在函数或基本工作空间内,用global声明的变量为全局变量。例如声明a为全局变量:globala声明了全局变量的函数或基本工作空间,共享该全局变量,都可以给它曲赋值。如果函数的子函数也要使用全局变量,也必须用global声明。3.永久变量永久变量用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB不会从内存中清除它,例如声明a为永久变量:persistenta(2)变量命名规则如下:始于字母,由字母、数字或下划线组成;区分大小写;可任意长,但使用前N个字符。N与硬件有关,由函数namelengthmax返回,一般N=63;不能使用关键字作为变量名(关键字在后面给出);避免使用函数名作为变量名。如果变量采用函数名,该函数失效。(3)区分大小写②试说明分号、逗号、冒号的用法。答:分号:加上分号“;”其作用是将计算机结果存入内存,但不显示在屏幕上,反之,语句结尾若不加“;”,则表示在语句执行后,在将计算结果存入内存的同时,还将运算结果显示出来。逗号:分割列表冒号:从什么到什么,比如1:10意思是——1到10③linspace()称为“线性等分”函数,说明它的用法。可使用help命令,格式如下:helplinspace④说明函数ones()、zeros()、eye()的用法。答;(1)ones()函数:全部元素都为1的常数矩阵;(2)zeros()函数:全部元素都为0的矩阵;(3)eye()函数:单位矩阵;(4)linspace()函数:如a=linspace(n1,n2,n3),表示在线性空间上,行矢量的值从n1到n2(2)工作空间窗口(Workspace)。单击工作空间窗口右上角的按钮,将其从MATLAB主界面分离出来。①在工作空间查看各个变量,或在命令窗口用who,whos(注意大小写)查看各个变量。②在工作空间双击变量,弹出ArrayEditor窗口(数组编辑器窗口),即可修改变量。③使用save命令把工作空间的全部变量保存为my_var.mat文件。savemy_var.mat④输入下列命令:clearall%清除工作空间的所有变量观察工作空间的变量是否被清空。使用load命令把刚才保存的变量载入工作空间。loadmy_var.mat⑤清除命令窗口命令:clc(3)历史命令窗口(CommandHistory)。打开历史命令窗口,可以看到每次运行MATLAB的时间和曾在命令窗口输入过的命令,练习以下几种利用历史命令窗口重复执行输入过的命令的方法。①在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择Copy,然后再Paste到命令窗口。②在历史命令窗口中双击要执行的一行命令,或者选中要重复执行的一行或几行命令后,用鼠标将其拖动到命令窗口中执行。③在历史命令窗口中选中要重复执行的一行或几行命令,右击,出现快捷菜单,选择EvaluateSelection,也可以执行。④或者在命令窗口使用方向键的上下键得到以前输入的命令。例如,按方向键“↑”一次,就重新将用户最后一次输入的命令调到MATLAB提示符下。重复地按方向上键“↑”,就会在每次按下的时候调用再往前一次输入的命令。类似地,按方向键“↓”的时候,就往后调用一次输入的命令。按方向键“←”或者方向键“→”就会在提示符的命令中左右移动光标,这样用户就可以用类似于在字处理软件中编辑文本的方法编辑这些命令。(4)当前目录命令窗口(CurrentDirectory)。MATLAB的当前目录即是系统默认的实施打开、装载、编辑和保存文件等操作时的文件夹。打开当前目录窗口后,可以看到用“save”命令所保存的my_var.mat文件是保存在目录C:\MATLAB6p5\work下。(5)帮助窗口(HelpWindow)。单击工具栏的图标,或选择菜单View|Help,或选择菜单Help|MATLABHelp都能启动帮助窗口。①通过Index选项卡查找log2()函数的用法,在Searchindexfor栏中输入需要查找的词汇“log2”,在左下侧就列出与之最匹配的词汇条目,选择“log2[1]”,右侧的窗口就会显示相应的内容。②也可以通过Search选项卡查找log2()函数的用法。Search选项卡与Index选项卡不同,Index只在专用术语表中查找,而Search搜索的是整个HTML帮助文件。2.MATLAB的数值显示格式设置屏幕显示方式有紧凑(Compact)和松散(Loose)两种,其中Loose为默认方式。a=ones(1,30)formatcompacta数字显示格式有short、long、shorte、longe等,请参照教材的列表练习一遍。formatlongpiformatshortpiformatlongpiformat+pi-pi3.变量的搜索顺序在命令窗口中输入以下指令:pisin(pi);exist('pi')pi=0;exist('pi')piclearpiexist('pi')pi思考题:①3次执行exist('pi')的结果一样吗?如果不一样,试解释为什么?答:不一样,pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clearpi之后所赋的值被清空,因此pi的值又成为3.1416②圆周率pi是系统的默认常量,为什么会被改变为0?答:pi原来是库存函数,但是如果被赋值则系统默认被赋予的值为pi后来的值,但是当执行clearpi之后所赋的值被清空,因此pi的值又成为3.1416实验二MATLAB语言基础一、实验目的基本掌握MATLAB向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。交接字符串的操作。二、实验内容(1)向量的生成和运算。(2)矩阵的创建、引用和运算。(3)多维数组的创建及运算。(4)字符串的操作。三、实验步骤1.向量的生成和运算1)向量的生成直接输入法:A=23456B=[1;2;3;4;5]B=12345冒号生成发:A=1:2:10,B=1:10,C=10:-1:1A=13579B=12345678910C=10987654321函数法:Linspace()是线性等分函数,logspace()是对数等分函数。A=linspace(1,10),B=linspace(1,30,10)A=Columns1through91.00001.09091.18181.27271.36361.45451.54551.63641.7273Columns10through181.81821.90912.00002.09092.18182.27272.36362.45452.5455Columns19through272.63642.72732.81822.90913.00003.09093.18183.27273.3636Columns28through363.45453.54553.63643.72733.81823.90914.00004.09094.1818Columns37through454.27274.36364.45454.54554.63644.72734.81824.90915.0000Columns46through545.09095.18185.27275.36365.45455.54555.63645.72735.8182Columns55through635.90916.00006.09096.18186.27276.36366.45456.54556.6364Columns64through726.72736.81826.90917.00007.09097.18187.27277.36367.4545Columns73through817.54557.63647.72737.81827.90918.00008.09098.18188.2727Columns82through908.36368.45458.54558.63648.72738.81828.90919.00009.0909Columns91through999.18189.27279.36369.45459.54559.63649.72739.81829.9091Column10010.0000B=Columns1through91.00004.22227.444410.666713.888917.111120.333323.555626.7778Column1030.0000A=logspace(0,4,5)A=110100100010000练习:使用logspace()创建1-4的有10个元素的行向量。答案:A=logspace(1,10,4*pi)A=1.0e+010*Columns1through90.00000.00000.00000.00000.00000.00000.00010.00050.0035Columns10through120.02310.15201.00002)向量的运算维数相同的行向量只见可以相加减,维数相同的列向量也可以相加减,标量可以与向量直接相乘除。A=[12345],B=3:7,A=12345B=34567AT=A',BT=B',AT=12345BT=34567E1=A+B,E2=A-BE1=4681012E2=-2-2-2-2-2F=AT-BT,F=-2-2-2-2-2G1=3*A,G2=B/3,G1=3691215G2=1.00001.33331.66672.00002.3333向量的点积与叉积运算。A=ones(1,10);B=(1:10);BT=B';E1=dot(A,B)E1=55E2=A*BTE2=55clearA=1:3,B=3:5,A=123B=345E=cross(A,B)E=-24-22.矩阵的创建、引用和运算1)矩阵的创建和引用矩阵是由nm元素构成的矩阵结构,行向量和列向量是矩阵的特殊形式。直接输入法:A=[123;456]A=123456B=[147258369]B=147258369