实验一 Matlab基本操作及运算.docx
- 文档编号:26637638
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:18
- 大小:526.07KB
实验一 Matlab基本操作及运算.docx
《实验一 Matlab基本操作及运算.docx》由会员分享,可在线阅读,更多相关《实验一 Matlab基本操作及运算.docx(18页珍藏版)》请在冰豆网上搜索。
实验一Matlab基本操作及运算
实验一Matlab基本操作及运算
一、实验目的:
1.熟悉MATLAB基本操作
2.掌握矩阵、变量、表达式的各种基本运算
二、实验基本知识:
1.熟悉MATLAB环境
熟悉MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。
2.掌握MATLAB常用命令
clc
清除命令窗口中内容
clear
清除工作空间中变量
help
对所选函数的功能、调用格式及相关函数给出说明
lookfor
查找具有某种功能的函数但却不知道该函数的准确名称
who
查询工作空间中的变量信息
3.MATLAB变量与运算符
变量命名规则如下:
(1)变量名可以由英语字母、数字和下划线组成
(2)变量名应以英文字母开头
(3)长度不大于31个
(4)区分大小写
MATLAB中设置了一些特殊的变量与常量,列于下表。
表1MATLAB的特殊变量与常量
变量名
功能说明
变量名
功能说明
ANS
默认变量名,以应答
最近一次操作运算结果
realmin
最小的正实数
i或j
虚数单位
INF(inf)
无穷大
pi
圆周率
NAN(nan)
不定值(0/0)
eps
浮点数的相对误差
nargin
函数实际输入参数个数
realmax
最大的正实数
nargout
函数实际输出参数个数
MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符
表2MATLAB算术运算符
操作符
功能说明
操作符
功能说明
+
加
\
矩阵左除
-
减
.\
数组左除
*
矩阵乘
/
矩阵右除
.*
数组乘
./
数组右除
^
矩阵乘方
'
矩阵转置
.^
数组乘方
.'
数组转置
表3MATLAB关系运算符
操作符
功能说明
==
等于
~=
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
表4MATLAB逻辑运算符
逻辑运算符
逻辑运算
说明
&
And
逻辑与
|
Or
逻辑或
~
Not
逻辑非
Xor
逻辑异或
表5MATLAB特殊运算
符号
功能说明示例
符号
功能说明示例
:
1:
1:
4;1:
2:
11
.
;
分隔行
..
,
分隔列
…
()
%
注释
[]
构成向量、矩阵
!
调用操作系统命令
{}
构成单元数组
=
用于赋值
4.MATLAB的一维、二维数组的访问
表6子数组访问与赋值常用的相关指令格式
指令格式
指令功能
A(r,c)
数组A中r指定行、c指定列之元素组成的子数组
A(r,:
)
数组A中r指定行对应的所有列之元素组成的子数组
A(:
c)
数组A中c指定列对应的所有行之元素组成的子数组
A(:
)
数组A中各列元素首尾相连组成的“一维长列”子数组
A(i)
"一维长列"子数组中的第i个元素
A(r,c)=Sa
数组A中r指定行、c指定列之元素组成的子数组的赋值
A(:
)=D(:
)
数组全元素赋值,保持A的行宽、列长不变,A、D两组元素
总合应相同
5.MATLAB的基本运算
表7两种运算指令形式和实质内涵的异同表
数组运算
矩阵运算
指令
含义
指令
含义
A.'
非共轭转置
A’
共轭转置
A=s
把标量s赋给A的每个元素
s+B
标量s分别与B元素之和
s-B,B-s
标量s分别与B元素之差
s.*A
标量s分别与A元素之积
s*A
标量s分别与A每个元素之积
s./B,B.\s
标量s分别被B的元素除
S*inv(B)
B阵的逆乘s
A.^n
A的每个元素自乘n次
A^n
A阵为方阵,自乘n次
A.^p
对A各元素分别求非整数幂
A^p
方阵A的非整数乘方
A+B
对应元素相加
A+B
矩阵相加
A-B
对应元素相减
A-B
矩阵相减
A.*B
对应元素相乘
A*B
内维相同矩阵相乘
A./B
A的元素别B的对应元素除
A/B
A右除B
B.\A
与上相同
B\A
A左除B
exp(A)
以自然数e为底,分别以A的元素为指数,求幂
expm(A)
A的矩阵指数函数
log(A)
对A的各元素求对数
logm(A)
A的矩阵对数函数
sqrt(A)
对A的各元素求平方根
sqrtm(A)
A的矩阵平方根函数
6.MATLAB的常用函数
表8标准数组生成函数
指令
含义
指令
含义
diag
产生对角形数组(对高维不适用)
rand
产生均匀分布随机数组
eye
产生单位数组(对高维不适用)
randn
产生正态分布随机数组
magic
产生魔方数组(对高维不适用)
zeros
产生全0数组
ones
产生全1数组
size()
返回指定矩阵的行数和列数
表9数组操作函数
指令
含义
diag
提取对角线元素,或生成对角阵
flipud
以数组“水平中线”为对称轴,交换上下对称位置上的数组元素
fliplr
以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素
reshape
在总元素数不变的前提下,改变数组的“行数、列数”
rot90
矩阵逆时针旋转90度
det
方阵的行列式值
rank
矩阵的秩
inv
矩阵求逆
eig
矩阵的特征值
’
矩阵转置
7.多项式运算
poly——产生特征多项式系数向量
roots——求多项式的根
p=poly2str(c,‘x’)—(将特征多项式系数向量c转换为以习惯方式显示是多项式)
conv,convs——多项式乘运算
deconv——多项式除运算
polyder(p)——求p的微分
polyder(a,b)——求多项式a,b乘积的微分
[p,q]=polyder(p1,p2)——求解多项式p1/p2微分的有理分式
poly(p,A)——按数组运算规则求多项式p在自变量A的值
polym(p,A)——按矩阵运算规则求多项式p在自变量A的值
三、实验内容
1、新建一个文件夹(自己的名字命名)
2、启动MATLAB,将该文件夹添加到MATLAB路径管理器中。
方法如下:
3、保存,关闭对话框(要求抓取自己实验的图,插入到自己的实验报告中)
4、学习使用help命令,例如在命令窗口输入helpeye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)
5、使用clc、clear,观察commandwindow、commandhistory和workspace等窗口的变化结果。
、
1>执行clc后,commandwindow内容被清空,commandhistory多出一行clc,workspace无变化
2>执行clear后,commandwindow内容不变,commandhistory多出一行clear,workspace无变化
6、假设x=3,y=4,用Matlab计算下列表达式:
(1)
=576
(2)
=1(3)
=0.4654(4)
=-0.7297
>>x=3;y=4;z=(x^2*y^3)/(x-y)^2
z=
576
>>x=3;y=4;z=(4*x)/(3*y)
z=
1
>>x=3;y=4;z=4/x*pi*x^(-2)
z=
0.4654
>>x=3;y=4;z=x^3/(x^3-y^x)
z=
-0.7297
7、求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)
=0.2375
z1=2*sin(85/180*pi)/(1+exp
(2))
z1=
0.2375
(2)
=
>>x=[2,1+2i;-0.45,5]
x=
2.00001.0000+2.0000i
-0.45005.0000
>>z2=1/2*log(x+sqrt(1+x^2))
z2=
0.7114-0.0253i0.8968+0.3658i
0.2139+0.9343i1.1541-0.0044i
8、练习使用MATLAB的基本运算符、数组访问指令、标准数组生成函数和数组操作函数。
(1)输入helprand,然后随机生成一个2×6的数组,观察commandwindow、commandhistory和workspace等窗口的变化结果。
(2)分别输入clc、clear,了解其功能和作用。
输入clc时候,commandwindow里的内容被清空
输入clear时候,workspace的变量被清除了
(3)输入C=1:
2:
20,则C(i)表示什么?
其中i=1,2,3,…,10。
从1到20中,每相邻两个数相差2.即C(i+1)-C(i)=2
C(i)表示C数组中第i个元素,C=135791113151719
(4)输入A=[715;256;315],B=[111;222;333],在命令窗口中执行下列表达式,记录输出结果并说明其含义:
输入A=[715;256;315]
输出一个3行3列的矩阵
A=
715
256
315
输入B=[111;222;333]
输出一个3行3列的矩阵
B=
111
222
333
(5)二维数组的创建和访问,创建一个二维数组(4×8)A,
查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。
clc;
A=[12345678;56789043;34567890;78906412]
A(2,3)
A(2,:
)
A(:
6)
(6)使用表8列出的常用函数来创建二维矩阵(可通过help方法,查看实例)。
clc;
A=[12;34;56;78]
A=
12
34
56
78
9、下面的语句用于画出函数
在[0,10]区间的值
x=0:
0.1:
10;
y=2*exp(-0.2*x);
plot(x,y)
用Matlab编辑器创建一个m文件,把上述语句写入这个m文件并命名为“test1.m”,保存在当前路径中,然后在命令窗中键入test1,观察结果和运行程序后工作空间的变化
。
10、多项式运算
(1)求多项式
的根
clc;
p=[1,0,-2,-4]
roots(p)
(2)已知A=[1.2350.9;51.756;3901;1234],
求矩阵A的特征多项式;
clc;
A=[1.2350.9;51.756;3901;1234]
B=poly(A)
ps=poly2str(B,'x’)
11、完成下列操作:
求[100,999]之间能被21整除的数的个数。
clc;
m=0;
forn=100:
999
ifn/21==round(n/21)
m=m+1;
k(m)=n;
else
end
end
k,m
实验报告提交格式:
1、实验题目
2、实验目的
3、实验内容(包括运行的结果或截图)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 Matlab基本操作及运算 实验 Matlab 基本 操作 运算