实验课需要我们干什么?一、实验课前的知识点预习。二、准备实验课演练的例题。三、实验课后的知识的总结。MATLAB实验一MATLAB软件环境以及环境设置一、实验目标1.熟悉MATLAB软件的运行环境以及界面构成。2.熟悉MATLAB环境中命令窗口的基本操作。3.熟悉变量的相关操作,熟悉变量的存储与读取操作。4.熟悉MATLAB环境设置(包括搜索路径和工作空间等设置)。5.学会应用帮助导航浏览器获得所需信息,通过MATLAB帮助,自学需要的知识。6.熟悉MATLAB中基本运算函数。二、实验内容及要求1.运行MATLAB软件,观察MATLAB的界面组成。并了解各个部分的功能。掌握多个窗口的在软件环境中的布局等操作。(标题栏+菜单栏+工具栏+命令窗口+历史命令窗口+当前目录窗口+工作空间)。2.命令窗口主要用于进行MATLAB的各种命令操作。在该窗口中,可以运行MATLAB的指令、函数、表达式以及显示除了图形外的所有运行结果。3.命令历史窗口主要保存所有运行过的命令。4.改变currentdirectory,在当前目录下完成save和load命令。5.在工作空间中在工作空间中对变量进行各种操作。6.查找和设置搜索路径,并且测试。7.变量的赋值以及引用。8.MATLAB基本运算函数的演练。三、实验步骤(略)四、训练习题1.书上所有例题和课后习题。2.ppt上的所有例题以及学生演练习题。五、测试习题1.精度计算的问题。看如下的代码,分析:x=0;forn=1:82x=x+0.01endx==0.82什么结果,请解释。x=0;forn=1:82x=x+1endx==82什么结果,请解释。MATLAB实验二MATLAB编程基础(上)一、实验目标1.熟悉一维数组二维数组的创建和引用。2.熟悉字符数组的创建和相关函数。3.了解struct数组和cell数组的创建和引用。4.熟悉算术、关系和逻辑运算符的使用。5.熟悉各种运算函数。二、实验内容及要求1.创建一维数组并采用各种形式引用。2.创建二维数组并采用各种形式引用。3.创建字符数组,调用字符数组相关函数。(1)通过下标引用字符串中元素。(2)取子串。(3)倒排字符串。(4)计算字符串中字符的个数(5)字符串中大小写转换(6)查找字符串中出现子串的位置4.创建struct数组和cell数组,采用各种形式引用。5.算术、关系和逻辑运算符操作单个数、一维和二维数组。(1)+、-、*、/、\、^(2).*、./、.\、.^(3)、、=、=、==、~=(4)&、|、~、xor(5)all、any、exsit、find、isequal、isnumric、isempty、bitand、bitor、bitxor、bitcmp、&&、||三、实验步骤(略)四、训练习题1.计算结果如下:stats=1.0e+007*0.0000,但数据格式能改成普通的吗?就是0.0123这种形式,请问matlab怎么改变数据格式?2.在MATLAB中,怎么样对数据四舍五入?比如矩阵中的数据[0.109172,0,236751,0,976736],我想得到这样的结果[0.10917,0,23675,0,97674],请问用什么命令?3.为什么3+4&2的运算结果等于1而不是4?4.eval(expression);是执行其参数中包含的expressionmatlab语句。例如:把August1.mat到August3.mat加载到MATLABworkspace:ford=1:3s=['loadAugust'int2str(d)'.mat']eval(s)end以下是被执行的s语句:s=loadAugust1.mats=loadAugust2.mats=loadAugust3.mat问题:为何s=['loadAugust'int2str(d)'.mat']的函数int2str(d)前后需要两个空格?5.解决找不到目录的问题方法一:在matlab中输入editpathdef.m命令,然后打开了pathdef文件,将其中的相关目录注释掉然后保存,即可。方法二:也可以不打开pathdef.m文件,而直接用rmpath命令把pathdef.m中的相关找不到的目录去掉,然后用savepath保存。rmpath的用法可参考帮助文件。6.阅读并编写下列代码:%读懂下列代码的前8行。1.%阅读下面的程序,分析和理解如何进行分段函数的绘制。2.%本例演示的是削顶整流正弦半波的计算和图形绘制。3.%要求根据y值的不同进行分段,然后绘制出一样的图形。4.t=linspace(0,3*pi,500);y=sin(t);5.z1=((tpi)|(t2*pi)).*y;%36.w=(tpi/3&t2*pi/3)+(t7*pi/3&t8*pi/3);7.w_n=~w;8.z2=w*sin(pi/3)+w_n.*z1;9.plot(t,z2,'-b'),axis([010-11])7.阅读并编写下列代码:%读懂下列代码的前12行1.%阅读下面的程序,理解num2str和char的功能,2.%掌握如何在MATLAB计算生成的图形上标出图名和最大值的点坐标的方法。3.clear4.a=2;5.w=3;6.t=0:0.01:10;7.y=exp(-a*t).*sin(w*t);8.[y_max,i_max]=max(y);%y_max是y中的最大值,对应的位置是i_max9.t_text=['t=',num2str(t(i_max))];10.y_text=['y=',num2str(y_max)];11.max_text=char('maximum',t_text,y_text);12.tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)'];13.plot(t,zeros(size(t)),'k')14.holdon15.plot(t,y,'b')16.plot(t(i_max),y_max,'r.','MarkerSize',20)%MarkseSize设置点的大小17.text(t(i_max)+0.3,y_max+0.05,max_text)18.title(tit),xlabel('t'),ylabel('y'),holdoff8.已知矩阵A维度6x5;代表6个学生5门成绩,求每门成绩均大于90的学生。9.演练下列代码:10.完成下列运算:11.运行下列代码,说出各行的运行结果:12.五、测试习题MATLAB实验三MATLAB编程基础(下)一、实验目标1.熟悉MATLAB三大程序结构。2.熟悉与函数相关的知识。3.熟悉.m文件的编写和调试。二、实验内容及要求1.熟悉MATLAB三大程序结构。(顺序,分支、循环)练习if,switchcase,while-end,for-end语句。2.熟悉break、continue、return和try-catch的使用。3.熟悉与函数相关的知识。(主函数、子函数、私有函数、匿名函数、嵌套函数、重载函数)4.观察变量的作用域(全局变量和局部变量),参数的按值传递,参数的按地址传递方式以及参数可调性。5.熟悉.m文件的编写。(命令文件和函数文件的编写)6.对于写好的.m文件,进行简单的调试。(设置断点,单步执行,观察变量的值)三、实验步骤(略)四、训练习题1.编写一个M函数文件,对于任意输入的向量x,可以计算下列分段函数值构成的向量。2.matlab中有没有函数,找出两个数值数组中相同的项,比如func([126912],[291223])=[2912].如果有,请找到并调用,如果没有,请自己编写一个。3.编写任意M文件,用于测试主函数能否调用子函数?测试子函数是否能调用主函数?测试子函数是否能调用其他子函数?将该文件放入private目录,看是否能被其父目录的M文件调用?4.编写函数文件myfunc.m,任意输入一个正整数,如果是偶数,用2除,如果是奇数,用3乘再加1,反复这个过程,直到所得到的数为1,将依次得到的这个数列返回(数列中包括输入的正整数)。5.输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符,则输出其对应的数值;若为其他字符,则原样输出。五、测试习题MATLAB实验四小测试一、实验目标小测试,考察掌握m文件的编写能力。二、测试习题1.编写函数文件myfunc.m,任意输入一个正整数,如果是偶数,用2除,如果是奇数,用3乘再加1,反复这个过程,直到所得到的数为1,将依次得到的这个数列返回(数列中包括输入的正整数)。2.编写函数文件charFunc.m输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符,则输出其对应的数值;若为其他字符,则原样输出。3.编写一个矩阵相加函数matadd.m,使其具体的调用格式为A=matadd(A1,A2,…,An),要求该函数能接受可变多个矩阵进行加法运算。MATLAB实验五矩阵和多项式运算一、实验目标1.矩阵的初等运算。2.矩阵的关系和逻辑运算。3.掌握多项式的构造和运算方法。4.能使用常用函数进行简单问题求解。二、实验内容及要求1.熟悉矩阵的构造,修改和变维。2.熟悉矩阵元素的变换(取整,有理数,求模等)以及特殊矩阵的生成(空矩阵,单位阵,全1,全0,魔方阵,两种随机阵等)。3.矩阵的基本运算(+-*/^)和特殊运算(秩、迹等)。4.矩阵的关系和逻辑运算。5.多项式的构造和运算。三、实验步骤(略)四、训练习题1.自己演练所有书上的例题以及课后练习题。2.3.4.多项式题目5.五、测试习题