第2讲 matlb概论与矩阵运算.docx
《第2讲 matlb概论与矩阵运算.docx》由会员分享,可在线阅读,更多相关《第2讲 matlb概论与矩阵运算.docx(13页珍藏版)》请在冰豆网上搜索。
![第2讲 matlb概论与矩阵运算.docx](https://file1.bdocx.com/fileroot1/2023-1/2/689e796e-7dad-4429-939c-e5a7ee5cc3a3/689e796e-7dad-4429-939c-e5a7ee5cc3a31.gif)
第2讲matlb概论与矩阵运算
第二章MATLAB的基本知识
2.1MATLAB的启动及工作窗口简介
(演示)
2.2指令行的输入与基本操作
2.2.1指令行输入举例
【例2.2.1-1】输入矩阵
(1)可用几种方法从键盘输入矩阵A:
①A=[1,2,3;4,5,6;7,8,9]
②A=[1,2,3
4,5,6
7,8,9]
③A=[123
456
789]
(2)按【Enter】键,指令被执行。
(3)在指令执行后,MATLAB指令窗中将显示以下结果:
A=
123
456
789
2.3数据显示格式
【例2.2.1-2】
c=12.5
显示:
c=
12.5000
formatlong,c
显示:
12.5000000000000000(只改变显示形式,并不改变数字大小)
2.4变量与函数
2.4.1变量
变量名必须是不含空格的单个词,命名规则如下:
1)区分大小写;
2)最多不超过19个字符;
3)必须字母打头,之后可跟字母、数字、下画线;
4)不允许使用“,”“;”“、”“.”这些标点符号。
例:
esmu,Esmu,eSMu,my_abc
2.4.2几个特殊变量
2.4.3注释和标点
1)%为注释符号;
例:
键入
X=4%第一次赋值
2)多条命令可用逗号或分号隔开;
例:
键入
x=4;y=5,f=9【Enter】
显示:
y=
5
f=
9
“;”---不显示结果
“,”---显示结果
.2.4.4数学函数
常用函数:
命令
说明
sin(x)
正弦
cos(x)
余弦
exp(x)
指数函数ex
log(x)
自然对数
tan(x)
正切
sqrt(x)
平方根
…
…
…
…
2.5MAT文件及变量(矩阵)的保存、提取、查询、清除
MAT数据格式是MATLAB的数据存储标准格式,可以用MAT文件保存矩阵和变量。
【例3.4-1】
(1)输入:
A=[1,2,3;4,5,6;7,8,9];
B=5
savemy_matAB;
(2)退出MATLAB,再进入,输入:
loadmy_mat
A
显示结果:
A=
123
456
780
输入:
B
显示结果:
B=
5
(1)分别输入:
who、whos,则显示当前工作内存中的变量名或变量的详细信息。
(2)输入:
clear,再输入:
whos,则变量被从工作内存中清除。
2.6命令文件(M文件)
MATLAB有两种常用的工作方式:
一种是交互式的指令行操作方式,另一种是M文件的编程工作方式。
M文件有两种形式:
命令文件(ScriptFile)和函数文件(FunctionFile)。
这两种文件的扩展名相同,均为M.。
这里先通过例题来说明M文件的建立与执行过程。
【例2.4-1】建立对图形镂空处理程序M文件,并在工作窗口中运行。
(1)在工作窗口File菜单种选择New菜单项中的M-file子项,出现M文件编辑-调试窗口。
(2)在M文件编辑-调试窗口中输入以下程序段:
%利用“非数”NaN,对图形进行镂空处理
P=peaks(30);%高斯分布矩阵函数
P(18:
20,9:
15)=NaN;%镂空
surfc(P);%画曲面及等高线图
(3)在M文件编辑-调试窗口中选File菜单的Save菜单项,出现文件保存对话框,
(4)在文件保存对话框中选定目录,填入文件名(例如:
EXAM1),文件类型选*.m型,之后按“保存”按钮。
(5)在工作窗口中键入存过盘的M文件名(例如:
EXAM1),出现以下运行结果:
说明:
(1)也可以在工作窗口File菜单种选择Run-ScriptFile菜单项,在对话框中找到M文件后运行。
(2)%为注释符。
第三章矩阵及其运算
3.1矩阵的创建
3.1.1直接输入法创建矩阵
【例3.1.1-1】由键盘输入:
A=[1,2,3;4,5,6;7,8,9]或A=[123后显示结果:
456
789]
A=
123
456
789
【例3.1.1-2】由键盘输入:
B=[-1.3sqrt(3)(1+2+3)*4/5];
再键入B回车检查,显示结果:
B=
-1.30001.73214.8000
3.1.2利用M文件创建矩阵
【例3.1.2-1】
(1)在M文件编辑窗口内输入以下内容,并将文件保存为exam_a.m。
A=[123
456
789]
(2)在MATLAB工作窗内键入:
exam_a,生成变量A,包含上面的矩阵内容。
3.1.3用冒号生成法创建向量
创建格式:
a:
inc:
b
表示产生从a到b、步长为inc的一系列值。
【例3.1.3-1】由键盘输入:
X=1:
0.5:
3
显示结果:
1.0001.5002.0002.5003.000
3.1.4利用函数创建矩阵
MATLAB中提供了一些函数可以创建常用和特殊的矩阵,以下给出一些常用的基本矩阵:
eye单位矩阵
zeros零矩阵
ones1矩阵
rand均匀分布随机数矩阵
linspace线性间隔向量
meshgrid3维绘图用数组
…
【例3.1.4-1】由键盘输入:
x=linspace(1,3,5)
显示结果:
1.0001.5002.0002.5003.000
【例3.1.4-2】由键盘输入:
A=rand(2,2)
A=
0.95010.6068
0.23110.4860
【例3.1.4-3】生成区间[10,15]内均匀分布的3阶随机矩阵。
m=10;
n=15;
x=m+(n-m)*rand(3);
3.1.5利用矩阵编辑器创建、修改矩阵
先建立一个变量,之后点工具条中矩阵编辑器图表按钮,进入矩阵编辑修改该矩阵变量。
3.2矩阵的修改
3.2.1部分扩充
格式:
D=[A;B C]
【例3.2-1】
输入:
A=[1234;5678];
B=eye
(2);
C=zeros
(2);
D=[A;BC];
显示结果:
D=
1234
5678
1000
0100
输入:
A=[1,2,3;4,5,6;7,8,9];R=[10,11,12];
A=[A;R]
显示结果:
A=
123
456
789
101112
输入:
A=A(1:
3,:
)显示结果:
A=
123
456
789
输入:
A=A(1:
2,1:
2)显示结果:
A=
12
45
输入:
S=[7;8];A=[A,S]显示结果:
A=
127
458
说明:
①以上操作中方括号括起来的是矩阵元素,圆括号括起来的是矩阵元素序号。
②如果下标位置只有一个“:
”表示取对应的所有行或列。
3.3子矩阵及矩阵元素的访问与修改
【例3.3-1】输入:
A=[1,2,3;4,5,6;7,8,9];A(3,3)=0
显示结果:
A=
123
456
780
输入:
B=A(2,2)
显示结果:
B=
5
输入:
C=A(2:
3,1:
2)
显示结果:
C=
45
78
输入:
D=A(2:
3,[1,3])
显示结果:
D=
46
70
说明:
构成子矩阵元素的行(列)号连续时使用“:
”,不连续时将指定的行(列)号用“,”或空格隔开放在“[]”中。
【例3.3-2】输入:
A=[1,2,3;4,5,6;7,8,9];
A(:
[1,3])=[]
显示结果:
A=2
5
8
说明:
赋值号“=”左面的“[]”表示空矩阵,可以用它从一个矩阵中去掉一部分元素,使原矩阵维数减少。
3.5矩阵运算
3.5.1矩阵的加、减
【*例3.5.1-1】输入:
a=[1,2;3,4];b=[5,6:
7,8];c=a+b
显示结果:
c=68
1012
【*例3.5.1-2】输入:
a=[1,2;3,4];b=a-2
显示结果:
b=-10
12
3.5.2矩阵的乘、除
【*例3.5.2-1】矩阵与矩阵运乘算
输入:
a=[1,2,1;2,1,2;1,2,1];b=ones(3);c=a*b
显示结果:
c=444
555
444
【*例3.5.2-2】数与矩阵运乘算
输入:
a=[1,2;3,4];b=2;c=a*b
显示结果:
c=
24
68
【*例3.5.2-3】矩阵与矩阵的点乘
输入:
a=[1,1,2,1;2,1,1,2;1,2,3,3];b=[2,1,3,2;1,2,1,2;2,1,3,3];c=a.*b
显示结果:
c=2162
2214
2299
【*例3.5.2-4】矩阵的乘方
输入:
a=[1,1,2;2,1,2;1,2,3];b=a^2
显示结果:
c=[5610
6712
8915]
【*例3.5.2-5】矩阵点乘方
输入:
a=[1,1,2;2,1,2;1,2,3];b=a.^2
显示结果:
c=[114
414
149]
【*例3.5.2-6】矩阵左除
输入:
a=[1,1,2;2,1,2;1,2,3];b=[123]’;x=a\b
显示结果:
x=
1
4
-2
【*例3.5.2-7】用x=inv(a)*b代替左除运算结果相同。
Inv(a)—求矩阵a的逆矩阵
【*例3.5.2-8】矩阵右除
输入:
a=[1,1,2;2,1,2;1,2,3];b=a/(2*a)
显示结果:
b=
0.500
00.50
000.5
【*例3.5.2-9】用b=a*inv(2*a)代替右除运算结果相同。
例3.5.2-6】矩阵的点右除
输入:
a=[1,1,2;2,1,2;1,2,3];b=a./(2*a)
显示结果:
b=
0.50.50.5
0.50.50.5
0.50.50.5
【*例3.5.2-7】矩阵的点乘、点右除、点左除
a=[123
456
789]
b=[222
222
222]
c1=a.*b
c2=a./b
c3=a.\b
【*例3.5.2-8】1矩阵及矩阵的乘法
1.a=[123
456
789]
b=[1
2
3]
c=a*b
c1=a*ones(3)
c2=ones(3)*a
【*例3.5.2-9】求下列方程组的解
A=[5,6,0,0;1,5,6,0;0,1,5,6;0,0,1,5]
b=[1,0,2,0]
x=A\b’
3.5.3矩阵的转置
【*例3.5.1-1】
A=zeros(2,3);
A(:
)=1:
6%全元素赋值法
显示结果:
A=135
246
A=A’
A=
12
34
56