MATLAB上机指导书Word文档下载推荐.docx
《MATLAB上机指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《MATLAB上机指导书Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。
也可将计算的结果赋给某一个变量,例如输入:
a=1.369^2+sin(7/10*pi)*sqrt(26.48)/2.9(回车)
2.M文件的运行方式
1)文件编辑在MATLAB窗口中单击File菜单依次选择NewM-File,打开M文件输入运行界面,如下图所示。
此时屏幕上会出现所需的窗口,在该窗口中输入程序文件,可以进行调试和运行.与命令行方式相比,M文件方式的优点是可以调试,可重复应用.
2)文件存储单击File菜单,选择Save选项,可将自己所编写的程序存在一个后缀为m的文件中.
3)运行程序在M文件窗口中选择Debug菜单中的run选项,即可运行此M文件;
也可在MATLAB命令窗口中直接输入所要执行的文件名后回车即可.但需要的是该程序文件必须存在MATLAB默认的路径下.用户可以在MATLAB窗口中单击File菜单选择SetPath将要执行的文件所在的路径添加到MATLAB默认的路径序列中.
2、MATLAB基本运算符及表达式
表1-1基本运算符
数学表达式
MATLAB运算符
MATLAB表达式
加
+
a+b
减
-
a-b
乘
*
a*b
除
/或\
a/b或b\a
幂
^
a^b
[说明]
1.所有运算定义在复数域上.对于方根问题,运算只返回处于第一象限的解.
2.MATLAB用左斜杠或右斜杠分别表示“左除”或“右除”运算.对于标量而言,这两者的作用没有区别;
但对矩阵来说,“左除”和“右除”将产生不同的影响.
3.表达式由变量名、运算符和函数名组成.
4.表达式将按与常规相同的优先级自左至右执行运算.
5.优先级的规定是:
指数运算级别最高,乘除运算次之,加减运算级别最低.
6.括号可以改变运算的次序.
3、MATLAB变量命名规则
1.变量名、函数名的字母大小表示不同.
2.变量名的第一个字符必须是英文字母,最多可包含31个字符(英文、数字和下划线).
3.变量名中不得包含空格、标点,但可以包含下划线.
4、数值计算结果的显示格式
MATLAB数值计算结果显示格式的类型列于表1-2中.用户在MATLAB指令窗中,直接输入相应的指令,或者在菜单弹出框中进行选择,都可获得所需的数值计算结果显示格式.
表1-2数据显示格式的控制指令
指令
含义
举例说明
formatshort
通常保证小数点后四位有效,最多不超过7位;
对于大于1000的实数,用5位有效数字的科学记数形式显示
3.14159被显示为3.141590;
3141.59被显示为3.1416e+003
formatlong
15位数字表示
3.14159265358979
Formatshorte
5位科学记数表示
3.1416e+00
formatlonge
15位科学记数表示
3.14159265358979e+00
formatshortg
从formatshort和formatshorte中自动选最佳记述方式
3.1416
formatlongg
从formatlong和formatlonge中自动选最佳记述方式
formatrat
近似有理数表示
355/113
formathex
十六进制表示
400921fb54442d18
1.formatshort显示格式是缺身默认的显示格式.
2.该表中实现的所有格式设置仅在MATLAB的当前执行过程中有效.
5、MATLAB指令行中的标点符号
表1-3MATLAB常用标点的功能
名称
标点
作用
逗号
,
用做要显示计算结果的指令与其后指令之间的分隔;
用做输入量与输入量之间的分隔符;
用做数组元素分隔符
黑点
用做数值表示中的小数点
分号
;
用做不显示计算结果指令的“结尾”标志;
用做不显示计算
结果指令与其后指令的分隔;
用做数组的行间分隔符
冒号
:
用以生成一维数值数组;
用做单下标援引时,表示全部元素
构成的长列;
用做多下标援引时,表示所在维上的全部元素
注释号
%
由它“启首”后的所有物理行部分被看做非执行的注释符
单引号对
‘’
字符串标记符
方括号
[]
输入数组时用;
函数指令输出宗量列表时用
圆括号
()
在数组援引时用;
函数指令输入宗量列表时用
花括号
{}
元胞数组记述符
下连线
_
(为便于阅读)用作一个变量、函数或文件名中的连字符
续行号
…
由三个以上连续黑点构成.它把其下的物理行看作该行的“逻辑”继续,以构成一个“较长”的完整指令
[说明]:
为确保指令正确执行,以上符号一定要在英文状态下输入.因为MATLAB不能识别中文标点.
6、在命令窗口中输入或将下面的语句先保存为M文件再运行
1、x=[0:
0.5:
360]*pi/180;
plot(x,sin(x),x,cos(x));
2、求方程
的全部根。
p=[3,7,9,0,-23];
%建立多项式系数向量
x=roots(p)%求根
3、求积分
clear
quad('
x.*log(1+x)'
0,1)
4、求解线性方程组。
a=[2,-3,1;
8,3,2;
45,1,-9];
b=[4;
2;
17];
x=inv(a)*b
5、求一些特殊量的值
x=1+2*i;
y=3-sqrt(17);
z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))
记录x、y、z的值
6、编程求解水仙花数
7、编程求解1到1000的所有素数
六、实验要求
1.认真预习,并提前做好准备
2.分析各个程序的运行结果,并给出原因
3.在此基础上,认真完成实验报告。
实验二矩阵与数组
1、掌握矩阵与数组主要的建立方法
2、掌握一些矩阵运算的特殊函数
3、掌握矩阵运算的方法
1、掌握矩阵(数组)输入方法
2、矩阵(数组)元素的引用方法
3、矩阵(数组)的运算方法
1、矩阵建立方法
1.直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。
具体方法如下:
将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。
在命令窗口或建立M文件输入
A=[123;
456;
789]
B=[123
345
789]
A==B
运行后察看结果并解释原因
2.利用M文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立一个M文件。
利用M文件建立MYMAT矩阵。
1)启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵(可自己输入一个矩阵)
2)把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。
3)在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。
3.利用特殊矩阵函数产生特殊矩阵
A=zeros(3)
B=ones(3,2)
C=zeros(size(B))
解释A,B,C矩阵的大小及其元素值
4.x=20+(50-20)*rand(5)
y=0.6+sqrt(0.1)*randn(5)
解释x,y的结果
2、矩阵或向量元素的引用
1.下标或序号引用法
A=[1,2,3;
4,5,6];
A(1,2)
A(3)
记录结果并给出说明。
3、矩阵运算
1.矩阵加减运算
假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。
运算规则是:
若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。
如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。
A=[4,-65,-54,0,6;
56,0,67,-45,0]
B=find(A>
4)
记录B的结果,并说出原因。
2、矩阵乘法
假定有两个矩阵A和B,若A为m×
n矩阵,B为n×
p矩阵,则C=A*B为m×
p矩阵。
A=[17,0,1,0,15;
23,5,7,14,16;
4,0,13,0,22;
10,12,19,21,3;
...
11,18,25,2,19];
D=diag(1:
5);
E=D*A
F=A*D
记录E、F结果并解释E、F和A、D之间的关系。
3.矩阵除法
在MATLAB中,有两种矩阵除法运算:
\和/,分别表示左除和右除。
如果A矩阵是非奇异方阵,则A\B和B/A运算可以实现。
A\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。
建立M文件,输入下面程序
A=[12;
34]
B=[23;
45]
C=A/B
D=A\B
记录C、D结果并说明它们和A、B之间的关系
4、已知A=[12;
34],编程求A的特征值、逆矩阵、转置矩阵、秩
5、生成4阶魔方阵,得出矩阵的对角阵,追迹,行列式,并将此魔方阵的第一列乘以2,第二列乘5,第三列乘3,第四列乘7
实验三基本操作命令
1、基本操作命令练习
2、熟悉matlab函数的使用方法
3、掌握基本数学函数和高级数学函数的运算方法
二、实验内容
1、系统函数;
数学运算符;
关系运算符;
逻辑运算符;
位运算符;
集合运算符;
2、基本数学函数;
3、特殊数学函数;
4、矩阵函数。
5、通过练习,掌握20余个常用函数的使用方法。
1、一些常用函数的使用
1.A=fix((90-10+1)*rand(5)+10)
P=rem(A,3)==0
给出P的结果,并给出解释。
2.A=[123;
147;
789];
B(1:
6)=A(:
2:
3)
b=[147];
c=b([1111],:
)
A(2,:
)=b,C=b;
C(3:
4,:
)=A(2:
3,:
)
记录结果,解释各语句的含义。
3.在命令窗口或建立M文件输入
A=zeros(2,5);
A(:
)=-4:
5
L=abs(A)>
3
4.建立M文件,输入
clear;
a=-4:
4
A=reshape(a,3,3)
B=sort(a)
5.建立M文件,输入
a=[3:
2:
11;
linspace(20,21,5);
ones(1,5)]
a(1,1)=
a(3,4)=
a(:
2)=
a(2,:
)=
a(1:
3,3:
5)=
记录结果,并说明原因。
2、在0-10范围,求
的最大值,最小值,平均值
3、计算
实验四高级操作命令
1、掌握高级操作命令
1、数据分析;
2、多项式和信号处理;
3、实验数据的分析,非线性方程的求根,数值积分。
掌握矩阵(数组)输入方法
1.建立M文件并输入下面程序
x=[-43,72,9,16,23,47];
y=max(x)
[z,l]=max(x)
y,z,l的各是什么?
并分析。
2.利用M文件计算
clear
X=randn(2,3);
M=mean(X)
D=std(X)
R=corrcoef(X)
记录X、M、D、R的结果并解释。
3.求多项式
与多项式
的乘积
P1=[1800-10]
P2=[2-13]
P3=conv(P1,P2)
计算P3结果,解释程序求法的原理
4.Jacobi迭代法(求方程组的解)的MATLAB函数文件Jacobi.m如下:
function[y,n]=jacobi(A,b,x0,eps)
ifnargin==3
eps=1.0e-6;
elseifnargin<
error
return
end
D=diag(diag(A));
%求A的对角矩阵
L=-tril(A,-1);
%求A的下三角阵
U=-triu(A,1);
%求A的上三角阵
B=D\(L+U);
f=D\b;
y=B*x0+f;
n=1;
%迭代次数
whilenorm(y-x0)>
=eps
x0=y;
y=B*x0+f;
n=n+1;
end
在命令中调用函数文件Jacobi.m,命令如下:
A=[10,-1,0;
-1,10,-2;
0,-2,10];
b=[9,7,6]'
;
[x,n]=jacobi(A,b,[0,0,0]'
1.0e-6
给出结果并解释
5、在1-10间,绘制曲线
实验五MATLAB的M函数编程
1、掌握MATLAB运算符的使用;
2、练习建立M文件;
3、学会文件的读取方法。
1、数据文件输入与计算结果输出练习。
2、脚本M文件和函数M文件;
局部变量和全局变量。
3、有关打开及关闭文件的命令;
4、读取ASCII文件;
写入ASCII文件;
5、读取二进制文件;
写入二进制文件;
6、程序调试概述;
一般调试技巧。
本实验为综合性涉及性实验,所以不再给出具体的程序分析,而给出要求,请大家,自己设计编程,完成要求
1、根据前面所学到的知识,请自己建立M文件和设计程序,利用Matlab的画图程学画出‘心形线’,要求画出的‘心形线’又大又美观,并且设计你的心形线,顺时针或者逆时针旋转。
2、同一图形窗口分别绘制
3条曲线,t取值0到2,并给坐标轴加上标注、给整个图形加上标题,在图形窗口添加文本字符串、对各曲线分别加以文字说明。