MATLAB的数值计算第3章

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章 MATLAB的数值计算
? 矩阵的构建 ? 矩阵元素 ? 矩阵运算 ? 矩阵的关系运算和逻辑运算 ? 多项式运算
3.1 矩阵的构建
3.1.1 直接输入创建矩阵
创建矩阵最简单的方法就是直接输入矩阵元素,输 入格式有以下的要求:
?整个矩阵以“ [ ]”作为首尾;
?行与行之间用分号“ ;”或回车键分隔; ?每行中的元素用“ ,”或空格分隔; ?矩阵中的元素可以是数字或者表达式; ?如果矩阵中没有元素,这样的矩阵称为空阵( Empty Matrix )。
(用[ ]表示)。
>> a=rand(3,4)
a=
>> eye(3) ans =
100 010 001
>> zeros(3) ans =
000 000 000 >> a=magic(3) a= 816 357 492
>> eye(3,4) ans =
1000 0100 0010
>> ones(3,4) ans =
1111 1111 1111 >> diag(a) ans = 8 5 2
3.2.2 子矩阵
1. 全下标表示
(1)a([i j], [k l]):行数为 i、j,列数为k、l的元素构
成子矩阵 (2)a(i:j, k:l) :取行数为 i~j,列数为 k~l的元素构成 的子矩阵 (3)a(i:j, :) :取行数为 i~j,所有列的元素构成的子矩 阵 (4)a(end, k:j) :取行数最大值,列数为 k~j 的元素构 成的子矩阵 2. 单下标表示
1 8 15 7 14 16
>> a(1:2,:)
ans =
17 24 1 8 15
23 5 7 14 16
>> a(end,1:2)
ans =
11 18
>> a([1 3;4 5])(
取单下标
为1、2、3、5的元素构
成子矩阵 )
ans =
17 4
10 11
3.2.3 矩阵元素的删除
删除矩阵元素可以简单的将该元素赋值为空矩阵
【例1】矩阵的分行输入 A=[1, 2, 3 4, 5, 6 7, 8, 9]
显示结果如下: A= 123 456 789
【例 2】命令窗口中输入
》a=1; b=2; c=3; 》x=[5 b c; a*b a+c c/b] x=
5.000 2.000 3.000 2.000 4.000 1.500 》y=[2 4 ;5 3 6 8]
a([i j; k l]:) 取单下标为 i、j、k、l的元素构成子矩阵。
>> a=magic(5) a=
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
>> a([1 2],[3 4])
ans = 18 7 14
>> a(1:2,3:5) ans =
eye(m,n) zeros(m,n) ones(m,n) rand(m,n) randn(m,n)
diag(x)
产生单位矩阵 产生元素全为0的矩阵 产生元素全为1的矩阵 产生均匀分布的随机元素矩阵,范围 0~1 产生正态分布的随机元素矩阵 产生矩阵x的对角阵
说明:当eye、zeros、ones、rand 、randn 函数 只有一个参数n时,则产生n×n的方阵。
c= 12341357
>> d=[a 9 10]
d= 1 2 3 4 9 10
2. linspace 函数 linspace(a,b,n) 差值 =(b-a)/(n-1) >> a=linspace(0,1,4) a=
0 0.3333 0.6667 1.0000 初值=0,终值=1,元素个数 =4 3. logspace 函数 logspace(a,b,n) 公比 =10^((b-a)/(n-1)) >> logspace(0,2,5) ans =
1.0000 3.1623 10.0000 31.6228 100.0000 初值=100,终值 =102,元素个数 =5,公比=100.5
3.1.4 从外部的数据文件中导入矩阵
3.2 矩阵的元素
3.2.1 矩阵元素的下标表示
1. 全下标表示 一个m×n矩阵A的第i行,第j列元素表示为 A(i,j),
的矩阵, MATLAB 创建数组可用以下特殊命令:
1. 冒号生成法( 初值:步长:终值 )
>> 0:0.4:2 ans =
0 0.4000 0.8000 1.2000 1.6000 2.0000 初值=0,终值=2,步长=0.4,步长若省略,默认间隔 1
>> a=1:4;b=1:2:7;
>> c=[a b]
2. 单下标表示 将矩阵的所有列按从左到右的顺序接成“一维长
列”,然后对元素进行编号。一个 m×n矩阵A的元素 A(i,j) 对应的下标为 (j-1)*m+i 。
>> a=[1 2 3;4 5 6];
>> a(1,2) ans =
2 >> a(3) ans =
2
>> a(5)=10 a=
1 2 10 456
即由行下标和列下标表示,行列数从 1开始。 注意 :当给元素赋值时,如果超出矩阵范围,则自动扩 充矩阵;当取值时,若超出矩阵范围,则提示错误。
>ห้องสมุดไป่ตู้ a=[1 2;3 4];
>> a(1,2)=9; >> a(2,3)=8; >> a a=
190 348
>> a(2,4) ??? Index exceeds matrix dimensions.
y= 245 368
>> a=[1 2 3;4 5 6;7 8 9]
a= 123 456 789
>> b=[1 sin(pi/6) sqrt(9) 3+5 6 0] b=
1.0000 0.5000 3.0000 8.0000 6.0000 0
3.1.2 利用内部函数产生矩阵
1. 利用内部函数可以很容易生成一些常见的特殊矩 阵,常用函数如下:
例如: 》eye(2,3) ans=
100 010 》zeros(2 ,3) ans= 000 000 》ones(2 ,3) ans= 111 111
》eye(2) ans=
10 01 》zeros(2) ans= 00 00 》ones(2) ans= 11 11
3.1.3 数组的构建
在MATLAB 中数组可以看作行向量,即只有一行
相关文档
最新文档