实验一 matlab的开发环境与基本运算.docx
《实验一 matlab的开发环境与基本运算.docx》由会员分享,可在线阅读,更多相关《实验一 matlab的开发环境与基本运算.docx(17页珍藏版)》请在冰豆网上搜索。
![实验一 matlab的开发环境与基本运算.docx](https://file1.bdocx.com/fileroot1/2023-1/30/f2d661f5-bfec-4cf0-bdff-c6c6bf4bbd15/f2d661f5-bfec-4cf0-bdff-c6c6bf4bbd151.gif)
实验一matlab的开发环境与基本运算
实验一matlab的开发环境与基本运算
一、实验学时
4学时(课2学时,课外2学时)
二、实验类型
验证性实验
三、实验目的
1、熟悉matlab的开发环境
2、掌握矩阵、变量、表达式的各种运算
四、所需设备及软件
1、安装了windowsxp/win7/win8/win10的计算机
2、matlab开发工具
五、实验基本原理
1、熟悉MATLAB环境:
MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器。
2、掌握MATLAB常用命令
表1MATLAB常用命令
clc
清除命令窗口中容
clear
清除工作空间中变量
help
对所选函数的功能、调用格式及相关函数给出说明
3、MATLAB变量与运算符
1)变量命名规则
2)MATLAB的各种常用运算符
表2MATLAB算术运算符表3MATLAB关系运算符
操作符
功能说明
操作符
功能说明
+
加
\
矩阵左除
-
减
.\
数组左除
*
矩阵乘
/
矩阵右除
.*
数组乘
./
数组右除
^
矩阵乘方
'
矩阵转置
.^
数组乘方
.'
数组转置
操作符
功能说明
==
等于
~=
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
符号
功能说明示例
符号
功能说明示例
:
1:
1:
4;1:
2:
11
;
分隔行
,
分隔列
()
%
注释
[]
构成向量、矩阵
{}
构成单元数组
=
用于赋值
表4MATLAB逻辑运算符表5MATLAB特殊运算
逻辑运算符
逻辑运算
说明
&
And
逻辑与
|
Or
逻辑或
~
Not
逻辑非
Xor
逻辑异或
4、MATLAB的一维、二维数组的寻访(约定大写字母为矩阵)
表6子数组访问与赋值常用的相关指令格式
5、matlab的基本运算
指令
含义
指令
含义
A=a
把标量a赋值给A的每个元素
a+A
标量a分别与A元素之和
a-A
标量a分别与A元素之差
a.*A
标量a分别与A元素之积
a*A
标量a分别与A每个元素之积
A.^n
A的每个元素自乘n次
A^n
A为方阵,自乘n次
A.*B
对应元素相乘
A*B
维相同,矩阵相乘
6、matlab的常用函数
指令
含义
指令
含义
Exp(A)
以自然数e为底,分别以A的元素为指数,求幂
log(A)
对A的各元素求对数
Sqrt(A)
对A的各元素求平方根
Diag(A)
A矩阵的对角线元素
Rank
矩阵的秩
Det
方阵的行列式值
Ones
产生全1的数组或矩阵
Zeros
产生全0的数组或矩阵
Rand
产生均匀分布的随机数组或矩阵
Randn
产生正态分布的随机数组
Size
返回指定矩阵的行数和列数
Rot90
矩阵逆时针旋转90度
Factor
因式分解
Expand
展开表达式
六、实验容
1、建立一个以学号命名的文件夹;将该文件夹添加到matlab的路径管理器中
2、启动matlab,熟悉命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器
3、学习使用help命令
4、使用窗口命令:
clc、close、closeall、clear,了解其功能和作用,观察各个窗口[commandwindow、commandhistory、workspace]的变化结果。
要求用文字说明。
5、练习“五”中各运算符、函数的应用。
注意观察运算结果。
在实验报告中必须完成以下容。
(1)矩阵运算
,
求下列表达式的值:
1)A+3==B和A-B+I(单位矩阵)
2)A*B和A.*B
3)A^4和A.^4
4)A/B和B/A
5)[A,B]和[A([1,3],:
);B^3]
(2)另一矩阵运算
A=
B=
1)计算它们的乘积C
2)矩阵C右下角3*2子矩阵赋值给D
3)查看matlab工作空间的使用情况
(3)创建一个二维数组A(4×8)。
查询数组A第4行、第5列的元素;查询数组A第6行的所有元素;查询数组A第8列的所有元素。
(4)生成下列矩阵,取出方框的数组元素。
(5)随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°的命令。
(6)使用load命令装载数据文件data.mat,使用size命令返回矩阵的行数和列数;使用help命令查看max,min,sum的用法,并运用三个函数进行运算。
(7)对于
,如果
,
,求解X。
(8)因式分解:
(1)
;
(2)f=x9-1
(9)展开表达式f=(x+1)5和f=sin(x+y)
(10)求[100,999]之间能被31整除的数的个数。
提示:
先利用冒号表达式,再利用find和length函数。
(11)其他练习(学生自己设计):
主要是针对前面的练习中没有用到“五”的运算符和函数部分需要自己设计进行练习。
七、实验结果
1)将“六”中每个容认真完成以后,结果复制到这部分。
2)提交实验报告,命名“实验一+学号+”
5.
(1)
1).A+3=B
>>A=[12,34,-4;34,7,87;3,65,7;]
A=
1234-4
34787
3657
>>B=[1,3,-7;2,0,3;3,-2,7;]
B=
13-7
203
3-27
>>A+3==B
ans=
000
000
000
A-B+I(单位矩阵)
A-B+[1,1,1;1,1,1;1,1,1;]
ans=
12324
33885
1681
2).
A*B
ans=
6844-10
309-72392
154-5223
A.*B
ans=
1210228
680261
9-13049
3)。
A^4
ans=
8542540606171220534012
98431304850468616195238
167415441357768640027342
A.^4
ans=
207361336336256
133********57289761
81178506252401
4)。
A/B
ans=
-4.315843.3684-23.4737
-9.421148.1579-17.6316
-17.631698.7368-58.9474
B/A
ans=
0.2772-0.0603-0.0924
0.06170.0403-0.0366
0.02050.0855-0.0507
5)[A,B]和[A([1,3],:
);B^3]
[A,B]
ans=
1234-413-7
34787203
36573-27
[A([1,3],:
);B^3]
ans=
1234-4
3657
-12152-180
3219-28
7616-1
(2)
1)计算它们的乘积C
A=[1:
5;6:
10;11:
15;16:
20;21:
25;]
A=
12345
678910
1112131415
1617181920
2122232425
>>B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11;]
B=
3016
17-69
023-4
970
41311
C=A*B
C=
9315077
258335237
423520397
588705557
753890717
2)。
D=C(3:
5,2:
3)
D=
520397
705557
890717
3)。
(3)创建一个二维数组A(4×8)。
查询数组A第4行、第5列的元素;查询数组A第1行的所有元素;查询数组A第2列的所有元素。
A=rand(4,8)
A=
0.81470.63240.95750.95720.42180.65570.67870.6555
0.90580.09750.96490.48540.91570.03570.75770.1712
0.12700.27850.15760.80030.79220.84910.74310.7060
0.91340.54690.97060.14190.95950.93400.39220.0318
查询4行5列
A(4,5)
ans=
0.9595
查询数组A第1行的所有元素;
A(1,:
)
ans=
0.81470.63240.95750.95720.42180.65570.67870.6555
查询数组A第2列的所有元素。
A(:
2)
ans=
0.6324
0.0975
0.2785
0.5469
(4)生成下列矩阵,取出方框的数组元素。
A=[1:
5;10,9,8,7,6;11:
15;16:
20;21:
25;]
A=
12345
109876
1112131415
1617181920
2122232425
A(2,2:
3)
ans=
98
A(2:
4,4)
ans=
7
14
19
A(4:
5,1:
3)
ans=
161718
212223
(5)随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°的命令。
A=rand(2,6)
A=
0.81470.12700.63240.27850.95750.1576
0.90580.91340.09750.54690.96490.9706
rot90(A)
ans=
0.15760.9706
0.95750.9649
0.27850.5469
0.63240.0975
0.12700.9134
0.81470.9058
(6)使用load命令装载数据文件data.mat,使用size命令返回矩阵的行数和列数;使用help命令查看max,min,sum的用法,并运用三个函数进行运算。
A=rand(3,6)
A=
0.81470.91340.27850.96490.95720.1419
0.90580.63240.54690.15760.48540.4218
0.12700.09750.95750.97060.80030.9157
>>loaddata.mat
size(A)
ans=
36
sum(A)
ans=
2.40741.81882.17961.21891.01480.9668min(A);
min(A)
ans=
0.65570.03570.67870.17120.03180.0462
>>max(A)
ans=
0.95950.93400.75770.65550.70600.8235
(7)对于
,如果
,
,求解X。
x=A\B是方程A*X=B的解,而X=B/A是方程X*A=B的解。
注意:
(1)左除A\B必须保证矩阵A、B的行数相等;右除(/):
A、B两矩阵的列数相等。
(2)A可逆
X=A\B
>>A=[4,9,2;7,6,4;3,5,7;]
A=
492
764
357
>>B=[37;26;28;]
B=
37
26
28
X=A\B
X=
-0.5118
4.0427
1.3318
(8)因式分解:
(1)
;
(2)f=x9-1
factor(表达式)因式分解
(1)
>>symsx
>>p=(x^4-5*x^3+5*x^2+5*x-6)
p=
x^4-5*x^3+5*x^2+5*x-6
>>factor(p)
ans=
(x-1)*(x-2)*(x-3)*(x+1)
(2)
>>symsx
>>f=x^9-1
f=
x^9-1
>>factor(f)
ans=
(x-1)*(x^2+x+1)*(x^6+x^3+1)
(9)展开表达式f=(x+1)5和f=sin(x+y)
expand(表达式)展开多项式
(1).
>>symsx
>>f=(x+1)^5
f=
(x+1)^5
>>p=expand(f)
p=
x^5+5*x^4+10*x^3+10*x^2+5*x+1
(2).
>>symsx
>>symsy
>>f=sin(x+y)
f=
sin(x+y)
>>p=expand(f)
p=
cos(x)*sin(y)+cos(y)*sin(x)
(10)求[100,999]之间能被21整除的数的个数。
提示:
先利用冒号表达式,再利用find和length函数。
>>a=100:
999
>>b=rem(a,21)==0
>>c=find(b)
c=
Columns1through13
627486990111132153174195216237258
Columns14through26
279300321342363384405426447468489510531
Columns27through39
552573594615636657678699720741762783804
Columns40through43
825846867888
>>d=length(c)
d=
43