资源描述
MATLAB实验报告一西安邮电大学
资料仅供参考
西安邮电学院
《Matlab》
实验报告
(一)
- 年第 1 学期
专业:
自动化
班级:
自动0903
学号:
姓名:
年9月28日
MATLAB语言实验项目
实验一 熟悉MATLAB集成环境与基础运算
一、实验目的
1. 熟悉启动和退出MATLAB软件的方法、熟悉MATLAB软件的运行环境。
2. 熟悉MATLAB命令窗口的组成。
3. 熟悉MATLAB的基本操作。
4. 掌握建立矩阵的方法。
5. 掌握MATLAB各种表示式的书写规则以及常见函数的使用。
二、实验设备及条件
计算机一台(MATLAB R b的软件环境)。
三、实验原理
1.MATLAB的启动
MATLAB系统的启动有三种常见方法:
1)使用Windows“开始”菜单。
2)运行MATLAB系统启动程序matlab.exe。
3)利用快捷方式。
2.MATLAB系统的退出
要退出MATLAB系统,也有三种常见方法:
1)在MATLAB主窗口File菜单中选择Exit matlab 命令。
2)在MATLAB命令窗口输入Exit或Quit命令。
3)单击MATLAB主窗口的“关闭”按钮。
3.MATLAB帮助窗口
进入帮助窗口能够经过以下三种方法:
1) 单击MATLAB主窗口工具栏中的help按钮。
2) 在命令窗口中输入helpwin、helpdesk或doc。
3) 选择help菜单中的“matlab help”选项。
4.MATLAB帮助命令
1)help命令
在MATLAB命令窗口直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,能够经过help加函数名来显示该函数的帮助说明。
2)lookfor命令
help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的m文件进行关键字搜索,条件比较宽松。
3) 模糊查询
用户只要输入命令的前几个字母,然后按tab键,系统就会列出所有以这几个字母开头的命令。
5.赋值语句
1)变量=表示式
2)表示式
6.矩阵的建立
1)直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分开,不同行的元素之间用分号分开。
2)利用m文件建立矩阵
3)利用冒号表示式建立一个向量 e1:e2:e3
4)利用linspace函数产生行向量 linspace(a,b,n).
四、实验内容
1.练习下面指令:
cd:切换目录,例如:cd . , cd .. , cd 目录
clear:清除内存单元
help:帮助
who:查看内存中存在的单元
whos:查看内存中单元的详细信息
dir:列出当前目录下的文件或文件夹
path:列出安装目录的所有路径
save:将内存中的数据保存在文件中
load:将文件中的数据加载到matlab中
2.建立自己的工作目录MYWORK和MYDATA,并将它们分别加到搜索路径的前面或者后面。
3.求的算术运算结果。
>> a=(12+2*(7-4))/3^2
a = 2
4.先求下列表示式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)
z1=2*sin(85/180)/(1+exp(1)^2)
z1 =0.1084
(2)
>> x=[2,1+2i;-0.45,5];
>> z2=1/2*log(x+sqrt(1+x^2))
z2 =
0.7114 - 0.0253i 0.8968 + 0.3658i
0.2139 + 0.9343i 1.1541 - 0.0044i
(3)
>> x=[2,1+2i;-0.45,5];
>> z2=1/2*log(x+sqrt(1+x^2))
z2 =
0.7114 - 0.0253i 0.8968 + 0.3658i
0.2139 + 0.9343i 1.1541 - 0.0044i
>> a=-3.0:0.1:3.0;
>> z3=(exp(0.3.*a)-exp(-0.3.*a)).*sin(a+0.3)./2+log((a+0.3)./2)
z3 =
Columns 1 through 5
1.1775 + 3.1416i 1.2768 + 3.1416i 1.3511 + 3.1416i 1.4002 + 3.1416i 1.4247 + 3.1416i
Columns 6 through 10
1.4250 + 3.1416i 1.4020 + 3.1416i 1.3568 + 3.1416i 1.2905 + 3.1416i 1.2045 + 3.1416i
Columns 11 through 15
1.1002 + 3.1416i 0.9791 + 3.1416i 0.8427 + 3.1416i 0.6926 + 3.1416i 0.5302 + 3.1416i
Columns 16 through 20
0.3566 + 3.1416i 0.1730 + 3.1416i -0.0200 + 3.1416i -0.2223 + 3.1416i -0.4342 + 3.1416i
Columns 21 through 25
-0.6575 + 3.1416i -0.8953 + 3.1416i -1.1540 + 3.1416i -1.4447 + 3.1416i -1.7902 + 3.1416i
Columns 26 through 30
-2.2428 + 3.1416i -2.9717 + 3.1416i -37.0245 -3.0077 -2.3145
Columns 31 through 35
-1.8971 -1.5861 -1.3287 -1.1022 -0.8948
Columns 36 through 40
-0.7003 -0.5150 -0.3371 -0.1659 -0.0014
Columns 41 through 45
0.1561 0.3056 0.4461 0.5764 0.6952
Columns 46 through 50
0.8010 0.8924 0.9682 1.0270 1.0677
Columns 51 through 55
1.0893 1.0908 1.0717 1.0316 0.9701
Columns 56 through 60
0.8874 0.7838 0.6599 0.5166 0.3551
Column 61
0.1769
(4)
提示:用逻辑表示式求分段函数值。
>> t=0:0.5:2.5;
>>z4=t.*t.*(t>=0&t<1)+(t.*t-1).*(t>=1&t<2)+(t.*t-2.*t+1).*(t>=2&t<3)
z4 =0 0.2500 0 1.2500 1.0000 2.2500
5.利用MATLAB的帮助功能分别查询path、plot2d、min、round函数的功能和用法。
>>help path
>>help plot2d
>>help min
>>help round
6.已知
求下列表示式的值:
l A+6*B和A-B+I(其中I为单位矩阵)
l A*B和A.*B
l A^3和A.^3
l A/B及B\A
l [A,B]和[A([1,3],:);B^2]
>> A=[12,34,-4;34,7,87;3,65,7];
>> B=[1,3,-1;2,0,3;3,-2,7];
>> A+6*B
ans =
18 52 -10
46 7 105
21 53 49
>> I=[1,0,0;0,1,0;0,0,1];
>> A-B+I
ans =
12 31 -3
32 8 84
0 67 1
>> A*B
ans =
68 44 62
309 -72 596
154 -5 241
>> A.*B
ans =
12 102 4
68 0 261
9 -130 49
>> A^3
ans =
37226 233824 48604
247370 149188 600766
78688 454142 118820
>> A.^3
ans =
1728 39304 -64
39304 343 658503
27 274625 343
>> A/B
ans =
16.4000 -13.6000 7.6000
35.8000 -76. 50.
67.0000 -134.0000 68.0000
>> B\A
ans =
109.4000 -131. 322.8000
-53.0000 85.0000 -171.0000
-61.6000 89.8000 -186.
>> [A,B]
ans =
12 34 -4 1 3 -1
34 7 87 2 0 3
3 65 7 3 -2 7
7.设有矩阵A和B
(1) 求它们的乘积C;
(2) 将矩阵C的右下角3*2子矩阵赋给D;
(3) 察看MATLAB工作空间的使用情况。
>> A=[1:5;6:10;11:15;16:20;21:25];
>> B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11];
>> C=A*B
C =
93 150 77
258 335 237
423 520 397
588 705 557
753 890 717
>> D=[C(3,2),C(3,3);C(4,2),C(4,3);C(5,2),C(5,3)]
D =
520 397
705 557
890 717
>> whos
Name Size Bytes Class Attributes
A 5x5 200 double
B 5x3 120 double
C 5x3 120 double
D 3x2 48 double
8.完成下列操作:
(1)求[100,999]之间能被21整除的数的个数。
>>a=[100:999];
>>a=rem(a,21);
>>b=find(a);
>>count=length(b)
>> count_1
count =
857
提示:先利用冒号表示式,再利用find和length函数。
(2)建立一个字符串向量,删除其中的大写字母。
>>a=['adfNBFJjdfk'];
>>k=find(a>='A'&a<='Z');
>>a(k)=[];
>>a
a =
adfjdfk
提示:利用find函数和空矩阵
实验报告小结:经过本次Matlab实验,增强了动手的能力,知道了使用一些简单的函数,明白了.m文件的建立,以及将数据文件保存到本地的磁盘中,以.mat文件为后缀。对Matlab解释执行的方式有了一定的了解,Matlab的高封装性使得它简单易用,成为流行的软件,在多个领域都有广泛的应用,特别是仿真,科学计算的一些领域,Matlab值得深入的学习,在生活中会给我们带来很大的方便。同时在学习方法上也有了一定的提高,有一些的东西必须自学,在没有老师帮助的情况下,去积极主动地解决问题,发现一些新方法,对未来人生的规划也增强的明确的认识。
展开阅读全文