MATLAB实验.doc_第1页
MATLAB实验.doc_第2页
MATLAB实验.doc_第3页
MATLAB实验.doc_第4页
MATLAB实验.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 MATLAB集成环境使用与基本操作命令练习一 实验目的熟悉MATLAB语言编程环境;熟悉MATLAB语言命令二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。1.1 基本规则1.1.1 一般MATLAB命令格式为 输出参数1,输出参数2,=(命令名)(输入参数1,输入参数2,) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。 1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。1.1.3 可用、键来重现已输入的数据或命令。用、键来移动光标进行修改。1.1.4 所有MATLAB命令都用小写字母。大写字母和小写字母分别表示不同的变量。1.1.5 常用预定义变量,如pi 、Inf、NaN、ans1.1.6 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用“;”分开。如 MATLAB书写格式为A=1 2 3 ;4 5 6 ;7 8 9 在MATLABZ中运行如下程序可得到A矩阵 a=1 2 3;4 5 6;7 8 9 a = 1 2 3 4 5 6 7 8 91.1.7 需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。 运行下面两种格式可以看出它们的区别:a=1 2 3;4 5 6;7 8 9 a=1 2 3;4 5 6;7 8 9;a= 1 2 3 不显示结果 4 5 6 7 8 91.1.8 当输入语句过长需要换行时,应加上“”后再回车,则可续行输入。1.2 文件管理常用命令1.2.1 帮助(HELP)命令 MATLAB有很多命令,因此很不容易记忆。使用HELP命令可以得到有关命令的屏幕帮助信息。如 在MATLAB环境下直接运行HELP命令就会在屏幕上给出MATLAB的基本命令以及相关的工具箱软件命令(请自行验证)。 而下面的格式可以得到指定命令的帮助信息,和详细说明。 help 命令名 1.2.2 save 命令该命令存储定义的变量或演算结果,也可以用来存储指定的变量。 命令格式为 save 文件名 变量名表 -append -ascii 1.2.3 what 命令 该命令可以在当目录下显示MATLAB文件和MAT数据文件1.2.4 dir 命令 显示当前目录下的所有文件.1.2.5 clear命令 如果输入 clear a b c ,则表示清除工作空间中指定变量a,b,c;如果仅仅输入clear命令,则清除整个工作空间。 1.3 矩阵运算 MATLAB具有强大的矩阵运算功能,这里我们只作简单介绍.1.3.1 在MATLAB中表示一个矢量要用方括号, 而列矢量的输入只需在行矢量输入格式基础上加转置符“”即可。 如 x=1 2 3;4 5 6 x = 1 2 3 4 5 6 而 x=1 2 3;4 5 6 (加转置符) x = 1 4 2 5 3 61.3.2 下面三条命令可以产生一个行矢量1 a=linspace(x,y,n) 2 a=logspace(x,y,n) 3 a=x:n:y第一条命令可以在线性空间产生一个值在x至y之间间隔点数为n的行矢量(一组数据)。其行矢量的起始值是x, 终值为y, 点数为n。第二条命令可以在对数空间产生一个值在10x至 10y之间等间隔的行矢量(一组数据)。第三条命令产生x至y步长为n的行矢量。但是, 三个命令之间存在差别,下面的例子可以说明这一点。 例1 x=logspace(0,5,6) x = 1 10 100 1000 10000 100000 例2 x=linspace(0,10,11) x = 0 1 2 3 4 5 6 7 8 9 10 例3 x=0:1:10 x = 0 1 2 3 4 5 6 7 8 9 10 通过上面三个例子可以看出例一, 例二中n代表选取的点数。而在例三 中n则表示步长. 注意它们的区别。1.3.3 矩阵的加, 减, 乘, 除等, 和其它语言书写一样。 但要注意的是在运算 符前面加有“.”则表示是数组运算,为对应元素的相应操作。 例4 请注意下面的不同情况. a=1 2;3 4; b=2 2;2 2;c=a*b c=a.*b c = c = 6 6 2 4 14 14 6 8 c=a/b c=a./b c = c = 1.0e+015 * 0.5000 1.0000 -2.2518 2.2518 1.5000 2.0000 -2.2518 2.25181.4 常见数学函数函 数 名数 学 计 算 功 能函 数 名数 学 计 算 功 能abs(x)实数的绝对值或复数的幅值floor(x)对x朝-方向取整acos(x)反余弦arcsingcd(m,n)求正整数m和n的最大公约数acosh(x)反双曲余弦arccoshimag(x)求复数x的虚部angle(x)在四象限内求复数 x 的相角lcm(m,n)求正整数m和n的最小公倍数asin(x)反正弦arcsinlog(x)自然对数(以为底数)asinh(x)反双曲正弦arcsinhlog10(x)常用对数(以10为底数)atan(x)反正切arctanreal(x)求复数x的实部atan2(x,y)在四象限内求反正切rem(m,n)求正整数m和n的m/n之余数atanh(x)反双曲正切arctanhround(x)对x四舍五入到最接近的整数ceil(x)对x朝+方向取整sign(x)符号函数:求出x的符号conj(x)求复数x的共轭复数sin(x)正弦sincos(x)余弦cossinh(x)反双曲正弦sinhcosh(x)双曲余弦coshsqrt(x)求实数x的平方根:exp(x)指数函数 tan(x)正切tanfix(x)对x朝原点方向取整tanh(x)双曲正切tanh例5:输入 x=-4.85 -2.3 -0.2 1.3 4.56 6.75,则: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) = -5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 71.5 关系及逻辑运算 1.5.1 关系运算允许常量(或矩阵中的元素与元素) 之间的比较. 如果比较结果为真,则答案为1, 否则为0. 常用的关系运算符如下: 大于 , = 等于 = 大于等于, = 不等于对于复数”=” 和”=” 既比较实部也比较虚部, 而其它运算仅比较实部。例6 比较 a=5:1:15 与 b=1 2 8 8 7 10 12 11 13 14 15 中的对应元素 是否相同,则运行下面程序a=5:1:15;b=1 2 8 8 7 10 12 11 13 14 15;y=a=b y = 0 0 0 1 0 1 0 0 1 1 1 1.5.2 MATLAB有三个逻辑运算符. & 逻辑与 | 逻辑或 逻辑非在矩阵运算中,以上命令是将两个矩阵中的对应元素进行运算, 得到的结 果是具有同样元素的矩阵。例7 分别对下面两个矩阵进行逻辑运算. X=0 1;1 0; Y=0 0;1 0; X&Y ans = 0 0 1 0 X|Y ans = 0 1 1 0 X ans = 1 0 0 1 MATLAB在进行混合运算时, 其顺序为: 算术运算 关系比较 逻辑运算例8 计算 x&y+xy 时, 程序首先执行x+y运算, 然后将相加结果与y比较, 最后将比较结果和x作与运算,运行结果如下。 x=0 1;1 0; y=0 0;1 0; x&y+xy ans = 0 1 1 0四 实验内容和步骤熟悉MATLAB语言编程环境。在这一环境中,系统提供了许多编写,调试和执行MATLAB程序的便利工具。熟悉变量、MATLAB基本数学函数使用,矩阵操作练习,主要包括矩阵的建立,算数运算,逻辑运算和关系运算。(一)熟悉Matlab的运行环境以及HELP命令,运行demo命令,观看matlab所具有的功能。(二)验证例题中所有操作。(三)完成以下各题,将步骤命令写入实验报告,并在机器上运行结果验证。1输入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,在命令窗口中执行下列表达式,掌握其含义:A(2, 3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A2 A.2 B/A B./A2输入C=1:2:20,则C(i)表示什么?其中i=1,2,3,10;3查找已创建变量的信息,删除无用的变量;4输入以下程序,察看结果,如果出错给出处理方法并验证。(1)a=magic(3);b=243; (2)a=magic(3);b=243;save myvar a b; save myvar a b ascii;clear; pause;clear;load myvar; load myvar ascii;whoa,b5求下列表达式的值。(1) (2),其中a=3.5,b=5,c=-9.8。五 写出实验总结报告 实验二 MATLAB中的数值计算与程序设计一 实验目的: 完成MATLAB下数据分析与程序设计有关问题的练习。学习脚本文件的编写,数值输入,数组计算,程序调试等;练习利用MATLAB编程序解决基本数学问题。学习全局和局部变量的使用,流程控制结构,函数编写及其调试。二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理1. 常用运算命令运算命令名 功能angle求复数的角min求最小值max求最大值sum求和roots求多项式的根poly由多项式的根求多项式的系数polyval求给定点多项式的值polyder多项式求导 例1 求a=S3+2S2+3S+4根. a=1 2 3 4; roots(a) ans = -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i 或 roots(1 2 3 4) ans = -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i 例2 已知某多项式的根如下 -1.6506 -0.1747 + 1.5469i -0.1747 - 1.5469i 求该多项式. poly(-1.6506,-0.1747+1.5469i,-0.1747 - 1.5469i) ans = 1.0000 2.0000 3.0001 4.0001 即所求多项式为 S3+2S2+3S+4 .2. 无条件循环当需要无条件重复执行某些命令时,可以使用for循环:for 循环变量t=表达式1 : 达式2 : 表达式3 语句体end说明:表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。例3: 例4:矩阵输入程序生成34阶的Hiltber矩阵。 m=input(矩阵行数:m=); for i=1 : 3 n= input(矩阵列数:n=); for j=1 : 4 for i=1:m H(i,j)=1/(i+j-1); for j=1:n end disp(输入第,num2str(i),行,第,num2str(j),end 列元素) A(i, j) = input ( ) end end 3. 条件循环1) if-else-then语句if-else-then语句的常使用三种形式为:(1) if 逻辑表达式 (3) if 逻辑表达式1 语句体 语句体1end elseif 逻辑表达式2 语句体2(2) if 逻辑表达式1 elseif 逻辑表达式3 语句体1 else else 语句体2 语句体nend end 2) while循环语句while循环的一般使用形式为:while 表达式 语句体end例4:用迭代法计算多项式方程= 0的一个实根。 解:x0=3;r=1;n=0;while r 1e-5 x1=x0; x0=3+5/x1.2; r=abs(x0-x1); n=n+1;end,x0,n运行结果为:x0 = 3.4260n = 94. 分支结构若需要对不同的情形执行不同的操作,可用switch 分支语句:switch 表达式(标量或字符串) case 值1 语句体1 case 值2 语句体2 otherwise 语句体nend说明:当表达式不是“case”所列值时,执行otherwise语句体。5. 建立M文件将多个可执行的系统命令,用文本编辑器编辑后并存放在后缀为 .m 的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!),即可依次执行该文件中的多个命令。这个后缀为.m的文件,也称为Matlab的脚本文件(Script File)。注意:文件存放路径必须在Matlab能搜索的范围内。6. 建立函数文件对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。1格式:function 输出变量列表=fun_name(输入变量列表) 用户自定义的函数体2函数文件名为:fun_name,注意:保存时文件名与函数名最好相同;3存储路径:最好在系统的搜索路径上。4. 调用方法:输出参量=fun_name (输入变量)例5:计算s = n!,在文本编辑器中输入:function s=pp(n);s=1;for i=1:n s=s*i;ends;在MATLAB命令窗口中输入:s=pp(5) 结果为: s = 120四 实验内容和步骤(一)验证例题中的操作。(二)完成以下各题,将答案写入实验报告,并在机器上运行结果验证。1编写程序,计算1+3+5+7+(2n+1)的值(用input语句输入n 值)。2编写分段函数 的函数文件,存放于文件ff.m中,并求,的值。3. 编写一个函数文件求三个数的最大值。 五 写出实验总结报告实验三 MATLAB图形系统一 实验目的学会用MATLAB语言绘图二 实验仪器和设备装有MATLAB6.0以上计算机一台三 实验原理 1、 plot 该命令在线性坐标系下绘制y对应于x的轨迹。若其中之一为矩阵则该命令将对应于矩阵的行或者列绘制一簇曲线。该命令也可以在同一坐标轴下绘制多条曲线。例1 运行程序 t=0:1:10; x1=t; plot(x1)可在图形窗口得到下面图形: 例2 x=0:0.5:7; y=sin(x); y1=2*x; y2=3*x; plot(y,x,y1,x,y2,x)从上面的例子可以看出, 如果要在同一坐标轴下绘制多条曲线, 可用如下格式: plot(x1,y1,x2,y2.xn,yn) % 对应于不同矢量时 其中x1,y1.xn,yn是对应的关系。2、 log log 在两个对数(标准对数)坐标间绘制图形。 3、 semilogx 或semilogy 在x轴或y轴为对数坐标, 而另一轴为线性轴的空间绘制图形。4、polar 在极坐标空间绘制图形。5、 grid 在图形中加栅格。6、 subplot (r,c,p) 该命令将屏幕分成r*c个窗口,p表示在第几个窗口. 同时绘制多个图形窗口时,绘图语句间应用逗号分开。 例3 下面的程序产生四个窗口,且分别绘制相应图形. t=0:0.01:2*pi; y=sin(t); x=cos(t); subplot(221),plot(t,y),grid,subplot(222),plot(t,x),grid,subplot(223),polar(t,y),subplot(224),polar(t,x)从上面的程序可以看出,subplot语句中的r,c,p可以不用逗号分开。 上面程序执行后得到如下图形:7、 gtext 该命令用于鼠标定位的文字注释. 执行完绘图命令后再执行gtext(说明文字) 命令, 就可在屏幕上得到一个光标, 然后,用鼠标选择说明文字的位置。例4 t=0:1:10; x1=2*t; x2=0.5*t; plot(x1,t,x2,t); gtext(x=2t); gtext(x=0.5t) 8、 如果需要同时在不同窗口绘制图形, 可用figure语句来完成。 例5 t=0:1:10; x1=2*t; x2=3*t; figure,plot(x1),figure,plot(x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论