第一章 MATLAB矩阵运算与数组运算
更新时间:2023-06-10 19:22:01 阅读量: 实用文档 文档下载
- 第一章夺子推荐度:
- 相关推荐
第一章 MATLAB矩阵运算与数组运算
第一章 矩阵运算与数组运算
MATLAB中最基本的数据对象就是数组或矩阵,标量可看作是1*1 的矩阵,向量可看作是l*n或n*l的矩阵.一维数组是向量,二维数组便是矩 阵,还有三维甚至更高维的数组。标量运算是数学的基础,然而,当需要对多个 数执行同样的运算时,采用数组或矩阵运算将非常简洁和方便.
1.4.1 创建矩阵
1.直接定义 例子
键入:
A=[1 2 3;4 5 6]
输出:
A=
1 2 3
4 5 6
这里A为一个2行3列的数组或矩阵.空格或逗号用于分隔某一行的元素,分号表示开始新的一行.
键入:
A(2,3)=0 %将第2行,第3列的元素置为0.
输出:
A=
1 2 3
4 5 0
2.一维数组的简单构造
前面我们通过键人矩阵或数组中的每个元素来输人一个矩阵或数组,当数组中的元素有成百上千时,怎么办呢?对于一维数组有两种简单的输人格式。 例如,
X=0:0.1:1 %从0到l,增量为0.1.
X=linspace(0,pi,11) %11 个从 0到pi的等间隔数, 在MATLAB中这两种创建数组的方式是最常见的.
上述数组创建形式所得到的数组的元素之间是线性分隔的特殊情况,当需要对数分隔的数组时,MATLAB提供了函数logspace.
格式:x=logspace(first,last,n)
创建从10的first次方开始,到10的last次方结束,有n个元素的对数分隔行向量x.
有时所需的数组不具有易于描述的线性或对数分隔关系,这时使用数组编址和表达式结合的功能可避免每次一个地输人数组元素. 例子
键入:
a=1:5; b=1:2:9;c=[b a]
输出:
第一章 MATLAB矩阵运算与数组运算
1 3 5 7 8 1 2 3 4 5
创建的数组c,由b中元素和a中元素构成.又如,
键入:
d=[a(1:2:5)1 0 1]
输出:
d=
1 3 5 1 0 1
上述所创建的数组都是行向量,如何创建列向量呢?可使用转置算子(’) 把行向量变成列向量.如
键入:
a=1:4;%表示从1到4,增量为1的行向量
b=a’ %表示向量的转置
输出:
b=
1
2
3
4
有两种转置的符号:
l)当数组是复数时,(’)产生的是复数共轭转置;
2) (.’)只对数组转置,但不进行共轭.
3.一维数组的操作
例子
键入:
x=[0.1*pi.2*pi.3*pi.4*pi.5*pi.6*pi.7*pi.8*pi.9*pi pi]
y=sin(x)
输出:
y=
Columns 1 through 7
0 0.3090 0.5878 0.8090 0.9511 1.0000 0.9511
Columns 8 through 11
0.8090 0.5878 0.3090 0.0000
在 MATLAB中,数组元素用下标访问,如 y(2)是y的第2个元素.例如, 键入:
y(3) %表示y的第3个元素
输出:
ans=
0.5878
为了同时访问一块元素,MATLAB用冒号来表示.
键入:
x(1:5)
输出:
第一章 MATLAB矩阵运算与数组运算
0 0.3124 0.6283 0.9425 1.2566
键人:
y(3:-1:1)
输出:
ans=
0.5878 0.3090 0
3:-1:1表示从3开始减1计数,到1为止.又如
键入:
x(2:2:7)
输出:
ans=
0.3142 0.9425 1.5708
2:2:7表示从2开始加2计数,到7为止.再如
键人:
y([8 2 9 1])
输出:
ans=
0.8090 0.3090 0.5878 0
这里是按照数组[8 2 9 1]提供的次序来提取y数组中的元素
4.矩阵的剪裁与拼接
从一个矩阵中取出若干行(列)构成新矩阵称为剪裁,冒号“:”是非常重要的剪裁工具。
例子
键入:
A=[1 2 3;4 5 6;7 8 9];
A(3,:) %A的第3行
输出:
ans=
7 8 9
键入:
A(:,l) % A的第 1列
输出:
ans=
1
4
7
键入:
B=A(2:3:,) %A的第2,3行
输出:
B=
4 5 6
7 8 9
第一章 MATLAB矩阵运算与数组运算
键人:
C=A(1:2,[1 3]) % A的第l,2行,第1,3 列
输出:
C=
1 3
4 6
还有A(1:2:3,3:-1:1)想想将输出什么?
将几个矩阵接在一起称为拼接,左右拼接行数要相同,上下拼接列数要相同.例如,
键入:
D=[C,zeros(2,1)]
输出:
D=
1 3 0
4 6 0
键入:
E=[D ; eye(2),ones(2,l)]
输出:
E=
1 3 0
4 6 0
1 0 1
0 1 l
提示:
A(:) 逐列提取A中的所有元素作为一个列向量.
A(I) 把A看作列向量则:X提取其中第i个元素.
A(r,c) 提取A中,由索引向量r定义的行,和由索引向量c定义的列所构成的A的子数组.
A(r,:) 提取A中,由索引向量r定义的行,和全部列所构成的A的子数组. A(:,c) 提取A中,由全部行,和由索引向量c定义的列所构成的A的子数组.
1.4.2 数组运算
1.标量一数组运算
标量与数组的加、减、乘、除和点乘方(.^)是对数组的每个元素进行运算,得到同样大小的数组. 例子
键入:
a=l:5;3*a-5
输出:
ans=-2 1 4 7 10
键入:
a.^2
输出:
ans=1 4 9 16 25
第一章 MATLAB矩阵运算与数组运算
2.数组-数组运算
当两个数组具有相同大小时,加、减、点乘(.*),点除(./).和点乘方运算(.^)是按元素对元素方式进行的.例如,
键入:
g=[1 2 3;5 6 7;8 9 10];
h= [1 1 1;2 2 2;3 3 3];
g.*h
输出:
ans=
1 2 3
10 12 14
24 27 30
提示:
设 a=[a1 a2 a3],b=[b1 b2 b3],c=标量
标量加法 a+c=[a1+c a2+c a3+c];
标量乘法 a*c=[a1*c a2*c a3*c];
数组加法 a+b=[a1+b1 a2+b2 a3+b3];
数组乘法 a.*b=[a1*b1 a2*b2 a3*b3];
数组右除 a./b=[a1/b1 a2/b2 a3/b3];
数组左除 a.\b=[b1/a1 b2/a2 b3/a3];
数组求幂 a.^c=[a1^c a2^c a3^c];
c.^a=c^a1 c^a2 c^a3];
a.^b=[a1^b1 a2^b2 a3^b3];
l.4.3 矩阵的运算
MATLAB提供了下列矩阵运算
+ 加法; - 减法;’转置运算;* 乘法;^ 乘幂;\ 左除;/ 右除
除除法外其他运算都与线性代数中定义的一样.这里只介绍一下除法运算. 设A是可逆矩阵
1)AX=B的解是A左除B,即X=A\B,意为用A-1左乘以B.
2)XA=B的解是A右除B,即X=B/A,意为用A-1右乘以B.
注意:
1)当 A为方阵,p>1为整数时,A^p表示 A自乘 p次;
2)当 A和P均为矩阵时,不能计算A^P.
1.4.4 函数
1.常用的数学函数
单变量数学函数的自变量可以是数组,此时,输出的是各元素的函数值构成的同规格数组. 例子
输人:
a=[1 2 3;4 5 6];sin(a)
输出:
ans =
0.8415 0.9093 0.1411
第一章 MATLAB矩阵运算与数组运算
-0.7568 -0.9589 -0.2794
MATLAB中的常用数学函数有
三角函数:正弦sin(x),双曲正弦sinh(x),反正弦asin(x),反双曲正弦asinh(x),余弦cos(x),正切tan(x),余切cot(x),正割sec(x),余割csc(x)等. 指数函数:exp(x),自然对数log10(x),以 2为底的对数log2(x),平方根sqrt(x)等.
整值函数:朝零方向取整fix(x),朝- 方向取整floor(x),朝+ 方向取整ceil(x),四舍五人到最接近的整数round(x),符号函数sign
(x)等.
其他数学函数:绝对值或复数的幅值abs(x)等
2.数组特征及矩阵操作函数
size(A) 返回一个二元素向量,第一个元素为A的行数,第二个元素为A的列数
size(A,1) 返回 A的行数
siZE(A,2) 返回 A的列数
length(A) 返回max(size(A))
flipud(A) 矩阵作上下翻转
fliplr(A) 矩阵作左右翻转
diag(A) 提取A的对角元素,返回列向量
diag(v) 以向量v作对角元素创建对角矩阵
最大值 max,最小值min,求和sum,求平均值mean,按升序排列sort等函数,只有当它们作用于向量时才有意义.它们也可作用于矩阵,此时产生一个行向量,行向量的每个元素是函数作用于矩阵相应列向量的结果. 例子
键人:
a=[-4.5,5,9,7,-2.8,3.5,9.5,5.4,7.3];
min(a),[m,im]=min(a),[M,iM]=max(a),[ra,ir]=sort(a)
输出:
ans=
-4.5000
m=
-4.5000
im=
1
M=
9.5000
iM=
6
ra=
-4.5000 -2.8000 3.5000 5.4000 7.0000 7.3000
9.0000 9.5000
ir=
1 4 5 7 3 8 2 6
第一章 MATLAB矩阵运算与数组运算
3.矩阵函数
d=eig(A),[v,d]=eig(A ) 特征值与特征向量
det(A) 行列式计算
inv(A) 矩阵的逆
orth(A) 正交化。
poly(A) 特征多项式
rank(A) 矩阵的秩
trace(A) 矩阵的迹(对角元素之和) zeros(m,n) m行n列的零矩阵
ones(m,n) m行n列的全1矩阵
eye(n) n阶单位矩阵
rand(m,n) m行n列的均匀分布随机数矩阵 randn(m,n) m行n列的正态分布随机数矩阵 做:利用帮助了解函数max,min,sum,mean,sort,length, 矩阵函数read,size的功能和用法.
正在阅读:
第一章 MATLAB矩阵运算与数组运算06-10
2017电大《基础会计》期末复习资料(名词解释、选择题)02-21
六年级上语文期末试题-全能练考-鄂教版(无答案)【小学学科网】06-03
工厂节能技术案例汇总11-04
英语对话----能源危机08-16
各种运输方式运输成本的比较分析06-09
全日制硕士专业学位研究生教育课程体系的独立性与实践性问题_张乐平07-28
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 运算
- 数组
- 矩阵
- MATLAB
- 小升初作文复习方法 一
- 【化学】3.3.1《高分子材料和复合材料》教案(苏教版选修1)
- 办公室什么画风水好,办公室挂山水画怎么样
- 朗文新派少儿英语入门级第9单元知识点
- 为什么眼药水中会添加“防腐剂”?
- 如何发挥班组管理在安全生产中的作用会议记录
- 辞职信 辞职报告范文
- 中级会计职称报考条件
- 电缆故障测试系统
- 土木工程施工质量控制措施_1
- CRH3动车组牵引逆变器设计及其PWM控制算法分析
- 2013高考作文总复习
- 国家电网公司2009新版安规题库(变电部分)附答案
- 【泰和金银网】黄金投资话术
- 清华大学2006年环境工程原理期末试卷(反应工程原理部分)
- 党风廉政建设自我剖析材料
- 六年级语文调研试卷(一)
- 县卫生局2010年爱国卫生月活动工作总结
- 海格电气选型手册Type-Selection-Sheet-2011.04
- (2013版本)贫困生认定所需材料及申请助学贷款材料准备须知