第一节 MATLAB 中的矩阵的输入
§1 直接输入
一、直接在工作窗中输入:
A=[2, 4, 6, 8;1 3 5 7; 0 0 0 0;1,0,1,0]
其意义是定义了矩阵
二、如果矩阵中的元素是等步长的,可以用下面的方法
A=[1:0.2:2;1:6;2:2:12]
A=[1:5]'
“'”号在这里表示为转置,而 1:5 中间少了一个循环步长,此时将步长自动取为 1 。
§2 增删改
设已经定义 A=[1 2 3 4 5;10 8 6 4 2]; B=[0 1;1 0]; C=[1 2;2 4],即已定义
A= B= C=
1 2 3 4 5 0 1 1 2
10 8 6 4 2 1 0 2 4
则命令:A=[[A(:,1:4);[C,B]],[0 2 0 4]'] 将 A 定义成:
A= 而 A(:,3)=[]; 将删除 A 的第三列 ,得
1 2 3 4 0 A= 1 2 4 0
10 8 6 4 2 10 8 4 2
1 2 0 1 0 1 2 1 0
2 4 1 0 4 2 4 0 4
§3 命令生成
使用 MATLAB 命令生成矩阵一般使用下面的命令
1 命令 linspace,它有两个格式:
a1=linspace(1,100)
%生成一个从1到100的有100 个元素的向量
a2=linspace(0,1)
%仍然是有 100 个元素但是是从 0 到 1 的向量
a3=linspace(0,-1) %请与上一个向量进行比较
上面是第一种格式 linspace(a,b),它是将 a 到 b 等分成 100份形成的向量。第二种格式 linspace(a,b,n) 中的 n 为一个正整数,表示是从 a 到 b 等分成 n 份后形成的向量。例如
a4=linspace(1,100,11)
%从 1 到 100 但只形成11 个元素的向量
a5=linspace(1,100,10) %自己体会这个命令作用
a6=linspace(0,1,11)' %加上了“'”表示转置
a7=linspace(0,-1,10) %自己体会这个命令作用
2 命令 ones,zeros 分别形成元素全为 1或全为零的矩阵它也有两种格式。请观察它们的作用:
ones(6,3) %生成 6×3 阶元素全为 1 的矩阵
ones(5) %生成 5 阶元素全为 1 的方阵
zeros(3,6) %生成 3×6 阶元素全为零的矩阵
zeros(4) %linspace函数调用的格式为生成四阶元素全为零的方阵
3 命令 diag 生成对角阵及从矩阵的主对角线生成向量,例如:
diag([1 3 5 7]) %生成了以 1 3 5 7 为主对角线的方阵:
ans=
1 0 0 0
0 3 0 0
0 0 5 0
1 0 0 7
相反如果先定义了一个三阶方阵:
A=[1 2 3;4 5 6;7 8 9]
显示:
A=
1 2 3
4 5 6
7 8 9
则命令 a8=diag(A) 将用 A 的主对角线生成新的列向量:
a8=
1
5
9
命令 eye(n) 生成 n 阶单位方阵,即主对角线上元素为 1,其余元素为零的方阵。例如键入:A=eye(5) 将得到:
A=
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
第二节 MATLAB 文件处理
§1 文件编辑
如果要在 MATLAB 的工作窗定义矩阵,则用鼠标点击屏幕左上方的 File 选择项,再从中选择 New 中的M-file 项并且用鼠标点击它,就打开了 MATLAB 文件编辑窗并且可以在此窗中定义 MATLAB 矩阵了(注意对于已有的文件,可以选择 open 来打开它,然后对其进行修改)。在 MATLAB 文件编辑窗中定义的矩阵与工作窗中定义的方法是完全一样。并且可以在MATLAB 文件编辑窗的菜单中使用菜单命令直接运行。
可以在MATLAB中使用菜单中的“File”中的“Set path”将当前工作文件夹定义在你正在工作
的文件夹。
§2 MATLAB工作窗中变量值的保存与调用
MATLAB 工作窗中的变量在退出 MATLAB 工作状态后值不能保存,如果需要保存,可以使用命令 save 将其存储到磁盘上,命令格式有两种:
第一种是用二进制格式来存储。例如先定义三个矩阵:
A1=[0:3;2*ones(4);4:-1:1] ; A2=[1 3 2 4];A3=zeros(3,1);
生成下列矩阵与向量:
键入:
save file1 A1 A2 A3
%用二进制格式以文件名 file1.mat 存储 A1,A2,A3
save file2.m A1 A3 –ascii
%用 ascii 码以文件名 file2.m 存储 A1,A3
我们还要注意:用二进制格式存储的文件连变量名一起存储并可再重新调入时恢复变量的值,而用 ASCII码存储的文件只存储了变量的值,而变量名是没有的。
用二进制格式存储的变量,可用命令 load 调用,调用格式为:
load <磁盘文件名>
例如,前面用 save file1 存储了所有变量 A1,A2,A3,调用时只要键入
load file1 即可。
第三节 MATLAB 中的矩阵运算
§1 矩阵运算命令与通常线性代数命令运算的异同
一、MATLAB 在运行时是以矩阵为单位进行运算的。它通常有两种运算,第一种是矩阵运算,运算时满足线性代数中矩阵运算所规定一切运算法则,如加、减、乘,乘方即幂运算(当然运算要符合规定的条件,例如矩阵 A 与矩阵 B 相乘,必须 A 的列数等于 B的行数),运算符号:
A+B, A-B, A B (注意“*”不能少) A^n
二、不同之处:
1、与通常矩阵运算不同之处在:在线性代数中矩阵不能与数相加减,而在MATLAB的矩阵运算中允许矩阵与数相加减。
2、函数命令可以直接作用到矩阵的每一个元素。
3、线性代数中矩阵没有除法,而MATLAB中有矩阵除法,例如:
输入 A=[1:3;4:6;7:9];b=[14,32,50]';c=A\b
显示: c=
2
0
4
4、函数作用到矩阵的每一个元素,例如如果令 A=[1 1/2 1/3; 1/2 1/4 1/8]*pi,即定义 则
三、MATLAB中除法运算的规定与意义:
1、运算定义:设已经定义好矩阵 A 与矩阵 B,如果矩阵 A 与矩阵B 的行的维数相同,则 MATLAB 中可以用矩阵 A 左除矩阵 B,即可以令:
X=A\B
如果矩阵 A 与矩阵B 的列的维数相同,则 MATLAB 中可以用矩阵 A 右除矩阵 B,即可以
令:
X=B/A
2、矩阵除法的意义
给出线性方程组 AX=B,则 X=A 给出线性方程组的一个解。而 X=B/A 给出了线性方程组 XA=B 的一个解。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论