MATLAB数值计算
更新时间:2023-12-08 15:22:01 阅读量: 教育文库 文档下载
第5章 MATLAB数值计算
MATLAB的数学计算=数值计算+符号计算
其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。
注:数值计算有误差。数值计算受到计算机所保留的有效位数的限制,因此每一次运算都会有一定的误差,重复的多次数值计算就可能会造成很大的累积误差。
5.1 矩阵和数组
MATLAB最基本也是最重要的功能就是进行实数或复数矩阵的运算。
矩阵和数组的概念
在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下: ? 标量:是指1×1的矩阵,即为只含一个数的矩阵。 ? 向量:是指1×n或n×1的矩阵,即只有一行或者一列的矩阵。
? 矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0矩阵为空矩阵([])。
? 数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。
5.1.1矩阵输入(前已讲“向量的输入”,相同!)
(1) 矩阵元素应用方括号([])括住;
(2) 每行内的元素间用逗号或空格隔开; (3) 行与行之间用分号或回车键隔开; (4) 元素可以是数值或表达式。
1. 通过显式元素列表输入矩阵
c=[1 2;3 4;5 3*2]
% [ ]表示构成矩阵,分号分隔行,空格分隔元素
c =
1 2 3 4 5 6
用回车键代替分号分隔行:
c=[1 2
3 4 5 6]
1 2 3 4 5 6
1
2. 通过语句生成矩阵
(1) 使用from:step:to方式生成向量
(2) 使用linspace和logspace函数生成向量 3. 由矩阵生成函数产生特殊矩阵
MATLAB提供了很多能够产生特殊矩阵的函数,各函数的功能如表5.2所示。
表5.2 矩阵生成函数
函数名 zeros(m,n) 功能 产生m×n的全0矩阵 ones(m,n) 产生m×n的全1矩阵 rand(m,n) 产生均匀分布的随机矩阵,元素取值范围0.0~1.0。 randn(m,n) 产生正态分布的随机矩阵 magic(N) 产生N阶魔方矩阵(矩阵的行、列和对角线上元素的和相等) eye(m,n) 产生m×n的单位矩阵 eye(3) ans = 1 0 0 0 1 0 0 0 1 magic(3) ans = 8 1 6 3 5 7 4 9 2 randn(2,3) ans = -0.4326 0.1253 -1.1465 -1.6656 0.2877 1.1909 rand(2,3) ones(2,3) ans = 1 1 1 1 1 1 ans = 0.9501 0.6068 0.8913 0.2311 0.4860 0.7621 例子 输入 zeros(2,3) 结果 ans = 0 0 0 0 0 0 注意:
zeros、ones、rand、randn和eye函数当只有一个参数n时,则为n×n的方阵; 当eye(m,n)函数的m和n参数不相等时则单位矩阵会出现全0行或列。 【例5.3】查看eye函数的功能。
X1=eye(2,3)
2
X1 =
1 0 0 0 1 0
X2=eye(3,2)
X2 =
1 0 0 1 0 0
4. 通过MAT数据文件加载矩阵
通过“load”命令或选择菜单“File”→“Import Data”命令加载MAT数据文件来创建矩阵。
5. 在M文件中创建矩阵
M文件实际上是一种包含MATLAB代码的文本文件; 通过在MATLAB命令窗口中运行M文件创建矩阵。
5.1.2矩阵元素和操作
矩阵和多维数组都是由多个元素组成的,每个元素通过下标来标识。
1. 矩阵的下标 (1) 全下标方式
矩阵中的元素可以用全下标方式标识,即由行下标和列下标表示,一个m×n的A矩阵的第i行第j列的元素表示为A (i,j)。
注意:
? 如果在提取矩阵元素值时,矩阵元素的下标行或列(i,j)大于矩阵的大小(m,n),则
MATLAB会提示出错;
? 而在给矩阵元素赋值时,如果行或列(i,j)超出矩阵的大小(m,n),则MATLAB自动
扩充矩阵,扩充部分以0填充。
a=[1 2;3 4;5 6]
a =
1 2 3 4 5 6 a(3,3)
%提取a(3,3)的值
??? Index exceeds matrix dimensions. a(3,3)=9 %给a(3,3) 赋值
a =
1 2 0 3 4 0
3
5 6 9
(2) 单下标方式
先把矩阵的所有列按先左后右的次序连接成“一维长列”,然后对元素位置进行编号。 以m×n的矩阵A为例,若元素A (i,j)则对应的“单下标”为s= (j-1)×m+i。
2. 子矩阵块的产生
子矩阵是从对应矩阵中取出一部分元素构成,用全下标和单下标方式取子矩阵。 (1) 用全下标方式
矩阵a为图5.2所示,则:
? 取行数为1、3,列数为2、3的元素构成子矩阵。
a([1 3],[2 3])
ans =
2 0 6 9
? 取行数为1~3,列数为2~3的元素构成子矩阵,“1:3”表示1、2、3行下标。
a(1:3,2:3)
ans =
2 0 4 0 6 9
? 取所有行数即为1~3,列数为3的元素构成子矩阵,“:”表示所有行或列。
a(:,3)
ans = 0 0 9
? 取行数为1~3,列数为3的元素构成子矩阵,用“end”表示某一维数中的最大值,即3。
a(1:3,end)
ans = 0 0 9
(2) 用单下标方式
取单下标为1、3、2、6的元素构成子矩阵。
a([1 3;2 6])
ans =
1 5 3 6
(3) 逻辑矩阵
子矩阵也可以利用逻辑矩阵来标识;
逻辑矩阵是大小和对应矩阵相同,而元素值为0或者1的矩阵。
4
可以用a(L1,L2)来表示子矩阵,其中L1、L2为逻辑向量,当L1、L2的元素为0则不取该位置元素,反之则取该位置的元素。
【例5.5】利用逻辑矩阵来提取矩阵,其中矩阵a如上图5.2所示。
L1=logical([1 0 1])
%给出逻辑向量l1
l1 =
1 0 1
L2=logical([1 1 0])
%给出逻辑向量l2
l2 =
1 1 0
a(L1,L2)
%取出1、3行且1、2列的元素
ans =
1 2 5 6
【例5.5续】逻辑矩阵可以由矩阵进行逻辑运算得出。
b=a>1
%得出逻辑矩阵b
b =
0 1 0 1 1 0 1 1 1 a(b) %按单下标顺序排成长列
ans = 3 5 2 4 6 9
3. 矩阵的赋值
? 全下标方式:A (i,j)=B,给A矩阵的部分元素赋值则B矩阵的行列数必须等于A矩阵的行列数。
clear a
a(1:2,1:3)=[1 1 1;1 1 1]
%给第一、二行元素赋值为全1
a =
1 1 1 1 1 1
? 单下标方式:A (s)=b,b为向量,元素个数必须等于A矩阵的元素个数。
a(5:6)=[2 3]
%给第5、6元素赋值
a =
1 1 2 1 1 3
5
正在阅读:
MATLAB数值计算12-08
2013年高三二模地理参考答案01-12
全站仪培训11-05
【优质课教案】那一刻,我长大了(部编版小学五年级下册教学设计)04-14
高考历史二轮复习选考题型专题二十六加试题第33、34题研析09-18
水电安装工程施工劳务分包合同08-07
北京市政府网站建设与管理规范05-24
适合自己的心情语录,句句舒心02-23
AEDB-9340-B-02-C中文资料07-23
2010届高三英语上册第二次月考试题501-11
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数值
- 计算
- MATLAB
- 古今民间刺血疗法验方摘录
- 人物描写的作用练习题及答案
- 测量学计算题及答案汇总
- 2015年春季工务系统高速铁路专业知识网络培训思考题 - 图文
- 思想政治工作总结
- 河南省濮阳市范县濮城镇中学八年级语文上册 第16课《大自然的语言》(第1课时)导学案(新版)新 - 图文
- 2013年中考攻略专题8:几何最值问题解法探讨
- 6月19日
- 七年级数学下册第六章频率初步6.2频率的稳定性6.2.2频率的稳定性导学案无答案新版北师大版
- 浅谈宁波市轨道交通工程诚信体系建设的现状和对策
- 2019年河北省邢台市中考数学二模试卷
- 药动学习题
- 临床试验用药品发放的标准操作规程
- 大语文观理念下的初中语文阅读教学思考
- 品茶的读后感
- 金融工程练习题集(第一部分)
- 精神病学教案-总
- 生物材料及制品检验检疫相关法规
- 新目标七下英语unit12第四课时导学案
- 《建筑工程资料管理》课程标准