第二章 MATLAB的数值运算
第2章__MATLAB矩阵及其运算
3.利用冒号表达式建立一个向量(增量赋值) .利用冒号表达式建立一个向量(增量赋值) 冒号表达式可以产生一个行向量,标准格式是: 冒号表达式可以产生一个行向量,标准格式是: x=e1:e2:e3 其中e1为初始值 为初始值, 为步长 为步长, 为终止值 为终止值。 其中 为初始值,e2为步长,e3为终止值。
2、矩阵变量的性质 、 矩阵变量的维数可以用size( )函数获得: 函数获得: 矩阵变量的维数可以用 函数获得 例: 矩阵标识符为[ , 矩阵标识符为 ],如 果是1*1矩阵,则可以 矩阵, 果是 矩阵 省略矩阵标识符; 省略矩阵标识符; 矩阵变量的各行之间 用分号隔开, 用分号隔开,列之间 用逗号或空格隔开;
计算表达式的值,并显示计算结果。 例2-1 计算表达式的值,并显示计算结果。 在MATLAB命令窗口输入命令: 命令窗口输入命令: 命令窗口输入命令 x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y)) 其中pi和 都是 都是MATLAB预先定义的变量, 预先定义的变量, 其中 和i都是 预先定义的变量 分别代表代表圆周率π和虚数单位。 分别代表代表圆周率 和虚数单位。 和虚数单位 输出结果是: 输出结果是: z= -0.3488 + 0.3286i
2.1.1 变量与赋值语句
在matlab中,变量定义为矩阵是最基本的变量定 中 义之一,因此, 义之一,因此,matlab语言的运算是基于矩阵的 语言的运算是基于矩阵的 运算。 运算。
1.变量命名 .
变量名是以字母开头, 在MATLAB 中,变量名是以字母开头,后接字 母、数字或下划线的字符序列。在MATLAB中, 数字或下划线的字符序列。 中 变量名区分字母的大小写, 变量名区分字母的大小写,且自定义的变量名最 好不要和matlab中的专用变量及函数同名。 中的专用变量及函数同名。 好不要和 中的专用变量及函数同名 A=3; a=3; _q=4; a_1=5; B=[1 2;3 4]
MATLAB数值计算
自然对数〔以e为底〕
常用对数〔以10为底〕
12
2.2 矩阵和数组
2.2.1 矩阵的赋值 2.2.2 向量的生成 2.2.3 矩阵元素 2.2.4 复数表示
13
2.2.1 矩阵的赋值
(1). 直接输入法创立矩阵
矩阵的全部元素必需放在方括号“[]”内;
矩阵元素之间必需用逗号“,”或空格隔开;
30
〔2〕.矩阵的赋值
全下标方式:A(i,j)=B给A矩阵的局部元素赋值 则B矩阵的行列数必需等于A矩阵的行列数。
A(1:2,1:3)=[1 1 1;1 1 1] A=1 1 1 6 2
1 1147 7 5715 0 3454 23 13 6 0 3
31
单下标方式:A(s)=b,b为向量,元素个数必需等 于A矩阵的元素个数。
44
〔6〕. 矩阵的翻转
矩阵的翻转及对角化操作函数
命令
说明
flipud(A) 矩阵作上下翻转
fliplr(A) rot90(A)
矩阵作左右翻转 矩阵逆时针翻转90°
diag(A) 提取矩阵A的对角元素,返回列向量
diag(V) 以列向量V作对角元素创建对角矩阵
tril(A)
提取矩阵A的下三角矩阵
triu(A)
61
关系运算的规章
当参与运算的矩阵是两同维矩阵A和B时, 关系运算的结果是将矩阵A 和B 下标一样的对 应元素逐一进展关系比较,假设关系成立则比 较结果值为“1”,假设关系不成立则比较结 果值为“0”。也即关系运算的结果是生成一 个与A 和B 维数一样的矩阵,其元素值为“0” 或“1”。 算术运算比关系运算具有更高的优先权。
取值 用于结果的缺省变量名 圆周率 计算机的最小数,当和1相加就产生一个比1大的数 浮点运算数 无穷大,如1/0 不定量,如0/0
(完整word版)含答案《MATLAB实用教程》
第二章 MATLAB 语言及应用实验项目实验一 MATLAB 数值计算三、实验内容与步骤1.创建矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a(1(2)用(3)用(42.矩阵的运算(1)利用矩阵除法解线性方程组。
⎪⎪⎩⎪⎪⎨⎧=+++=-+-=+++=+-12224732258232432143214321421x x x x x x x x x x x x x x x 将方程表示为AX=B ,计算X=A\B 。
(2)利用矩阵的基本运算求解矩阵方程。
已知矩阵A 和B 满足关系式A -1BA=6A+BA ,计算矩阵B 。
其中⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=7/10004/10003/1A ,Ps: format rata=[1/3 0 0;0 1/4 0;0 0 1/7];b=inv(a)*inv(inv(a)-eye(3))*6*a(3)计算矩阵的特征值和特征向量。
已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=1104152021X ,计算其特征值和特征向量。
(4)Page:322利用数学函数进行矩阵运算。
已知传递函数G(s)=1/(2s+1),计算幅频特性Lw=-20lg(1)2(2w )和相频特性Fw=-arctan(2w),w 的范围为[0.01,10],按对数均匀分布。
3.多项式的运算(1)多项式的运算。
已知表达式G(x)=(x-4)(x+5)(x 2-6x+9),展开多项式形式,并计算当x 在[0,20]内变化时G(x)的值,计算出G(x)=0的根。
Page 324(2)多项式的拟合与插值。
将多项式G(x)=x 4-5x 3-17x 2+129x-180,当x 在[0,20]多项式的值上下加上随机数的偏差构成y1,对y1进行拟合。
对G(x)和y1分别进行插值,计算在5.5处的值。
Page 325 四、思考练习题1.使用logspace 函数创建0~4π的行向量,有20个元素,查看其元素分布情况。
Ps: logspace(log10(0),log10(4*pi),20) (2) sort(c,2) %顺序排列 3.1多项式1)f(x)=2x 2+3x+5x+8用向量表示该多项式,并计算f(10)值. 2)根据多项式的根[-0.5 -3+4i -3-4i]创建多项式。
MATLAB语言课件 第2讲 MATLAB语言的数值运算共47页
主要用途:使命令输入更简单化(没有输入参数也没有输 出参数)
当用户需要重复输入许多相同的命令时,可将它们放在一 个命令文件中,每次只要输入文件名,即可得相同的运行结果。
实质是将用户在 MATLAB 命令窗口中输入的一串命 令用另外一个名称来代替。 ( 2 )函数文件
程序的基本组成 %说明部分 清除命令(可选) 定义变量(局部变量和全局变量) 按照顺序行执行的命令语句 控制语句开始 控制语句体 控制语句结束 其他命令(如绘图等)
2.1 基本语法结构
2.1.1 变量与赋值语句
1、变量 变量命名规则
(1)必须以字母开头; (2)可以由字母、数字和下划线混合组成; (3)变量长度应不大于31个; (4)字母区分大小写。
2.1.5 程序控制语句 为编写结构化的程序提供了必不可少的条件,可提
高程序的效率和可读性 1、 for循环语句:用来执行循环次数已知的情况 调用格式:
for x=初值:步长:终值 循环体
end
其中:变量 x 称为循环变量,初值、终值和步长可以是标 量,也可以是表达式。当循环语句开始执行时, x 的值被 赋为和初值相同的内容,每执行一次循环体的内容, x 的 值就会按照步长的大小来改变,如果步长为正数,每执行 一次就增加一个步长,否则减小一个步长,一直到变量的 值大于或者小于终值,for语句循环结束,继续执行结束语 句下面的命令。
2.1.3 运算符 Matlab的运算符可分为三类:算术运算符、关系
运算符和逻辑运算符。其中算术运算符的优先级最 高,其次是关系运算符,最后是逻辑运算符。下面 将分别介绍这三类运算符和逻辑函数。
1. 算术运算符 按照运算符的优先级可把算术运算符分为五级。 2. 关系运算符 关系运算符对于程序的流程控制非常有用,在 MATLAB的循环和条件控制中经常使用。
MATLAB语言2
矩阵的抽取
上/下三角阵的抽取
tril(A,k)取A阵第k条对角线下面的部分(含第k条对角 线),其余位置补零 tril(A,0)= tril(A) triu(A,k)取A阵第k条对角线上面的部分(含第k条对角 线),其余位置补零 triu(A,0)= tril(A)
2011年3月23日11时5分
向量的生成
2011年3月23日11时5分
向量的基本运算
加减数乘 直接加减 x+1 x点乘y x’*y dot(x,y) 叉乘,有方向的向量 I j k X1 x2 x3 y1 y2 y3 crossx(x,y)
2011年3月23日11时5分
2011年3月23日11时5分
51
33
33
52
字符串与数组之间的转换
字符串/数组
s=‘hi mat’ double(s)=?
ans = 104
105
32
109
97
116
2011年3月23日11时5分
字符串与字符数组
字符串操作命令
Strcat 连接串 Strvcat 垂直连接串trcmp 比较串 Upper 转换串为大写 Lower转换串为大写 Deblank 移去串尾 串尾空格 串尾
0.00058/21 0.058/21 0.58/21 58/21 587/21 5870/21 58700/21 2.7619e-005 0.0028 0.0276 2.7619 27.9524 279.5238 2.7952e+003 2.7619e-005 2.7619e-003 2.7619e-002 2.7619e+000 2.7952e+001 2.7952e+002 2.7952e+003
MATLAB基础教程第2章
第二章 数组、矩阵及其运算
2.1 数组的创建和寻访
例2-2 一维数组的生成与访问
命令:X=rand(1,5) 命令:X(3) 命令:X([1 2 5]) 命令:X(1:3) 命令:X(3:end) 命令:X(3:-1:1) 命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.2 矩阵的运算
例2-6 矩阵的乘法(接着上面的例子) A*B 3*A
注意:矩阵相乘时要求A的列数等于B的行数
第二章 数组、矩阵及其运算
2.2 矩阵的运算
A/B(矩阵右除)表示的是方程X*B=A的解 A\B(矩阵左除)表示的是方程A*X=B的解
例2-7 矩阵的除法( 见教材P.23)
第二章 数组、矩阵及其运算
2.3 数组的运算
1、数组的基本运算
例2-8 ( 见教材P.25)
第二章 数组、矩阵及其运算
2.3 数组的运算
数组运算和矩阵运算指令对照表
数组运算 指令 A.’ A=s A+s,A-s s.*A s./A,A.\s A.^n A+B,A-B A.*B A./B B.\A 含义 非共轭转置,相当于conj(A’) 把标量s赋给A中每个元素 标量s分别于A的元素之和(差) 标量s分别于A的元素之积 S分别被A的元素除 A的每个元素自乘n次 对应元素相加(减) 对应元素相加(乘) A的元素被B的对应元素相除 (与上相同) A^n A+B,A-B A*B A /B B\A 方阵A自乘n次 矩阵和(差) 同内维矩阵相乘 A右除B A左除B S*A 标量s分别于A的元素之积 A’ 指令 共轭转置 矩阵运算 含义
第二章 数组、矩阵及其运算
第二章matlab02数值运算功能2
2.4.3矩阵的关系和逻辑运算 矩阵的关系和逻辑运算
1.矩阵的关系运算符:<, >, <=, >=, = =, ~= 矩阵的关系运算符: 矩阵的关系运算符 • 矩阵之间的每个元素进行比较,运算结果 矩阵之间的每个元素进行比较, 为与原矩阵大小一样的由0 为与原矩阵大小一样的由0和1组成的矩阵 注意:1=<a<=2错误 注意: 错误 例: 1<=a<=2正确 = 正确
• •
§2.4 矩阵的运算
矩阵的数学运算 矩阵的点(数组 运算 矩阵的点 数组)运算 数组 矩阵的关系和逻辑运算
2.4.1矩阵的数学运算 矩阵的数学运算
矩阵运算符 含义 A’ 矩阵转置 A+B 矩阵相加 A-B 矩阵相减 A*B 矩阵相乘 A/B 矩阵相除(右除) 矩阵相除(右除) B\A 矩阵相除(左除) 矩阵相除(左除) A^n A阵的 n次幂 阵的 次幂
x X = y z
10 B = 5 −1
要解上述的联立方程式, 要解上述的联立方程式,可利用矩阵左除 \ 做运 时要求A、 的行数相等 相等。 算,即:X=A\B, 左除时要求 、B的行数相等。 , 左除时要求
如果将原方程式改写成 X*A=B,且令 X, A 和 B , 分别为
MATLAB数值计算教程
MATLAB数值计算教程第一章:MATLAB入门1.1 MATLAB简介MATLAB(Matrix Laboratory)是一款强大的数值计算软件,广泛用于工程、科学和金融领域。
它的特点是简单易用、高效快速,并且拥有丰富的工具箱和函数库。
1.2 MATLAB环境搭建要使用MATLAB进行数值计算,首先需要安装MATLAB软件,并进行必要的配置。
通过官方网站下载安装程序,根据提示进行安装即可。
安装完成后,打开MATLAB环境,即可开始使用。
1.3 MATLAB基本操作在MATLAB环境中,可以通过命令行窗口输入和执行命令,也可以使用脚本文件进行批量处理。
常用的基本操作包括变量赋值、算术运算、函数调用等。
例如,使用"="符号赋值变量,使用"+"、"-"、"*"、"/"等符号进行算术运算。
第二章:向量和矩阵操作2.1 向量操作在MATLAB中,向量是一种特殊的矩阵,可以通过一组有序的元素构成。
向量可以进行基本的算术运算,如加法、减法、乘法、除法,还可以进行向量的点积、叉积等操作。
可以使用内置函数和运算符来实现。
2.2 矩阵操作矩阵是MATLAB中最常用的数据结构之一,使用矩阵可以进行多个向量的组合和运算。
可以进行矩阵的加法、减法、乘法、除法等操作,也可以进行矩阵的转置、求逆、求特征值等操作。
MATLAB提供了大量的函数和工具箱来支持矩阵的操作。
第三章:数值计算方法3.1 数值积分数值积分是一种用数值方法计算定积分的方法。
在MATLAB 中,可以使用内置函数来进行数值积分,如trapz函数和quad函数。
也可以使用Simpson法则、复合辛普森法等方法实现数值积分。
3.2 数值微分数值微分是一种用数值方法计算导数的方法。
在MATLAB中,可以使用内置函数进行数值微分,如diff函数和gradient函数。
第二章 MATLAB的数值计算(修改版)
2.2.3 矩阵的基本运算
矩阵的乘(*)运算
规则: A矩阵的列数必须等于B矩阵的行数 标量可与任何矩阵相乘。 例如: a=[1 2 3;4 5 6;7 8 0];b=[1;2;3];c=a*b c =14 32 23
2.2.3 矩阵的基本运算
矩阵的除运算 矩阵除的运算在线性代数中没有,有矩阵逆的运算,在matlab中有两种 矩阵除运算即左除和右除 左除‚\”: 相当于Ax=B的解,x=A-1B。 右除‚/”:相当于xA=B的解,x=BA-1 此外,矩阵也可和常数进行除运算,此时常数只能作为除数
方法二 冒号生成 基本格式:x=x1:step:x2 x=x1:x2 比如: D = 4:0.5:9 E = 5:9
2.1.3 向量的运算
与数的运算 比如: A = 0:9; B = A-1 C = A*2 点积运算 指两个向量在其中一个向量方向上的投影的乘积。 dot(a,b) a,b必须同维 比如: A = 0:3; B = 1:4; C = dot(A,B)
注意:MATLAB函数名必须小写
2.2.2 矩阵的修改
方法一:直接修改 可用键找到所要修改的矩阵,用键移动到要修改的矩阵元素上即 可修改。 方法二: 指令修改 可以用A(,)= 来修改。 比如: 对于A=[1 2 3;4 9 6;7 8 9],若将其中的9修改为5,则可以通过上述的两 种方法: 法一不用介绍; 方法二可使用A(2,2)=5来修改
特征多项式的特点:
(1)特征多项式一定是n+1维的 (2)特征多项式第一个元素一定是1
根据多项式对应的全部根可建立其特征多项式: poly —— 产生特征多项式系数向量
已知一个多项式的全部根X求多项式系数的函数是poly(X),该函数返回以X为 全部根的一个多项式P,当X是一个长度为m的向量时,P是一个长度为m+1的 向量。
第2章 MATLAB的基本操作-数值运算
3
13
2 关系运算
运
算
符
号
运
算
符
号
大于
等于
>
==
小于
不等于
<
~=
大于等于
>=
小于等于
<=
14
关系运算的结果类型为逻辑量 (0, 1)
>> x=2; >> x>3 ans = 0 >> x<=2 ans = 1
15
3 逻辑运算
逻辑运算符用于将关系表达式或逻辑量连接起来, 构成较复杂的逻辑表达式。逻辑表达式的值也是 逻辑量。
27
3变换矩阵结构的命令
对已输入矩阵结构作某种变换,即不改变矩阵中元素的总 数和各元素的取值,仅使其位置发生变换。 flipud(A):矩阵A上下翻转 fliplr(A):矩阵A左右翻转 rot90(A,k):A沿逆时针旋转K个90° rot90(A): A沿逆时针旋转90° reshape(A,m,n):输出一个M*N的矩阵,它有矩阵A的 K个元素重新排列构成的矩阵,重排 前后各元素在矩阵中的序号不变。
29
5建立大矩阵
大矩阵可由方括号中的小矩阵或向量建立起来。 A=1 2 3 4 5 6 7 8 9 则A(7)=3, A(3,2)=8, A(2,:)=4 5 6第2行, A(:,2)第2列 [m,n]=size(A),m,n分别为行数和列数
第 2 章 matlab数值计算第一次课
河南理工大学测绘学院
§2.1 特殊矩阵的生成
eye函数的调用格式: ●eye(n) %生成n × n阶单位矩阵 ● eye(m,n) 或eye([m,n]) %生成m× n阶单位阵 ● eye(size(A)) %生成与A同阶的单位阵 ones函数的调用格式: ●ones(m):产生m × m阶的全1矩阵。 ●ones(m,n)或zeros([m,n]) :产生m × n全1矩阵。当 m = n时,等同于zeros(m)。 ● zeros(m,n,p,…): 生成m × n ×p ×…阶的全1阵或 数组。
MATLAB提供了求魔方矩阵的函数magic(n),其
功能是生成一个n阶魔方阵。
河南理工大学测绘学院
§2.1 特殊矩阵的生成
【例2.3】将101~125等25个数填入一个5行5列的表格中, 使其每行、每列及对角线的和均为565。
一个5阶魔方矩阵的每行、每列及对角线的和均为65, 对其每个元素都加100后这些和变为565。完成其功能的命 令如下: M=100+magic(5)
rand(‘state’,J) %对整数J,重置生成器到第J个状态 rand(‘state’,sum(100*lock))%每次重置到不同状态 注:randn函数的调用格式同rand
河南理工大学测绘学院
§2.1 特殊矩阵的生成
【例2.2】建立随机矩阵: (1)在区间[10, 30]内均匀分布的4阶随机矩阵。 (2)均值为0.6、方差为0.1的4阶正态分布随机矩阵。 产生(0,1)区间均匀分布随机矩阵使用rand函数,假 设得到了一组满足(0,1)区间均匀分布的随机数xi,则 若想得到在任意[a, b]区间上均匀分布的随机数,只需 用yi = a + (b − a)xi计算即可。产生均值为0、方差 为1的标准正态分布随机矩阵使用randn函数,假设已经 得到了一组标准正态分布随机数xi,如果想更一般地得 到均值为μ 、方差为σ 2的随机数,可yi = μ + σ xi 计算出来。
第2章 MATLAB数值计算
第2章 MATLAB数值计算MATLAB的数学计算=数值计算+符号计算其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。
2.1 变量和数据2.1.1数据类型数据类型包括:数值型、字符串型、元胞型、结构型等数值型=双精度型、单精度型和整数类整数类=无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、int64)。
2.1.2数据1. 数据的表达方式▪可以用带小数点的形式直接表示▪用科学计数法▪数值的表示范围是10-309~10309。
以下都是合法的数据表示:-2、5.67、2.56e-56(表示2.56×10-56)、4.68e204(表示4.68×10204)2. 矩阵和数组的概念在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下:▪标量:是指1×1的矩阵,即为只含一个数的矩阵。
▪向量:是指1×n或n×1的矩阵,即只有一行或者一列的矩阵。
▪矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0矩阵为空矩阵([])。
▪数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。
3. 复数复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。
复数运算不需要特殊处理,可以直接进行。
复数可以有几种表示:z=a+b*i或z=a+b*jz=a+bi 或z=a+bj(当b 为标量时) z=r*exp(i*theta)● 得出一个复数的实部、虚部、幅值和相角。
a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角 说明:复数z 的实部a=r*cos(θ); 复数z 的虚部b=r*sin(θ); 复数z 的幅值22b a r +=;复数z 的相角theta=arctg(b/a),以弧度为单位。
Matlab(R2009a版)-第2讲 数值运算
MATLAB2009从入门到精通课程主要内容•第1章MATLAB简介•第2章数值运算•第3章单元数组和结构•第4章字符串•第5章符号运算•第6章MATLAB绘图基础•第7章程序设计•第8章计算方法的MATLAB实现•第9章优化设计•第10章SIMULINK仿真初探第2章数值运算•本章将介绍MATLAB2009的数值计算功能,首先讲述MATLAB中的运算符,然后讲述包括MATLAB的向量、矩阵和数组,并介绍他们之间的运算。
此外,还介绍了一些特殊的矩阵数据结构。
另外,还对MATLAB中的多项式的运算以及多项式拟合作了详细介绍。
2.1 MATLAB中的变量•MATLAB中的变量必须以字母打头,之后可以是任意字母、数字或下划线,变量名区分字母大小写,变量名不超过19个字符,默认变量名为ans。
除此之外还包含一些特殊的变量。
•who命令能够显示变量的信息;•whos命令能够显示变量的详细信息。
•matlab中同样支持复数变量,表示方法为a=m+ni(j)。
当n是表达式时,n与i(j)之间必须要加乘号。
另外也可以用complex(x,y)来产生复数。
•在循环程序段中一般不把i和j作为变量名称,以免生成数据时发生误解。
•>> a=1+2i• a =• 1.0000 + 2.0000i •>> b=1+3*i• b =• 1.0000 + 3.0000i•>> a=sin(2)+cos(2)*i• a =•0.9093 -0.4161i•>> b=sin(2)+cos(3)i•??? b=sin(2)+cos(3)i•|•Error: Unexpected MATLAB expression.•>> x=sin(2);•>> y=cos(3);•>> a=complex(x,y)• a =•0.9093 -0.9900i•>> b=complex(x)• b =•0.9093•>> a=i+2i• a =•0 + 3.0000i •>> b=i+2*i • b =•0 + 3.0000i•>> i=5;•>> a=i+2i• a =• 5.0000 + 2.0000i •>> b=i+2*i• b =•15•>> i=5;•>> a=5+i • a =•10•>> b=5+1*i • b =•10•>> i=5;•>> a=5+2i• a =• 5.0000 + 2.0000i •>> a=5+2*i• a =•152.2 MATLAB的数值运算基础2.3 数组及向量运算•由数学知识可知,数组和矩阵有着不同的概念。
02第二章MATLAB语言的数值运算
③ eye生成单位距阵
A=eye (n) 生成n×n单位矩阵。
A=eye (m,n)或者A=eye ([m,n]) 生成m×n的单位矩阵。 B=eye (size(A)) 生成和矩阵A大小相等的单位矩阵。
④ rand生成均匀分布的随机矩阵
A=rand (n) 生成n×n随机矩阵。 A=rand (m,n)或者A=rand ([m,n]) 生成m×n的随机矩阵。 A=rand (m,n,p,…)或者A=rand ([m n p …]) 生成m×n×p×…的随机矩阵。 B=rand (size(A)) 生成和矩阵A大小相等的随机矩阵。
2014-6-20 17
2.1.3 矩阵的运算
3、矩阵的乘方,A是一个方阵,P是正整
数,则A^P表示A自乘P次 4、矩阵的转置A’,I行j列与j行I列元素互 换 5、求逆矩阵,用函数A-1=inv(A) 6、求特征值,用函数eig(A) 7、求特征多项式,用函数poly() 8、求方阵的行列式,用函数det()
2014-6-20
27
2.1.6 矩阵函数
函 数
det diag eig inv
功 能
计算矩阵所对应的行列式的值 抽取矩阵对角线元素 求特征值和特征向量 求矩阵的逆阵
lu
Poly Rank Svd
2014-6-20
三角分解
求特征多项式 求矩阵的秩 奇异值分解
28
1.求矩阵的行列式的值
>> X=[1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16]; >>det(X) ans = -5464
18
2014-6-20
基本矩阵运算
第二章 MATLAB基础知识
2.2 数组及其运算
例 ascii_a=double(a) %将字符转换为相应的双精度值 ascii_a = Columns 1 through 13 84 104 105 115 32 105 115 32 97 110 32 101 120 Columns 14 through 19 97 109 112 108 101 46 例 char(ascii_a) %将双精度值转换为字符 ans = This is an example. 例 w=find(a>=‘a’&a<=‘z’); %查找所有小写字母的位置 ascii_a(w)=ascii_a(w)-32; %将小写字母ascii值转换为大写 char(ascii_a) %将双精度值转换为字符 ans = THIS IS AN EXAMPLE.
2.2 数组及其运算
2.2.2 数组的运算
运算 加 运算符 + 表达式 a+b
减 乘 除 幂 点乘 点除 点幂
*
/或\ ^ .* ./或.\ .^
a-b a*b
a/b或a\b a^b a .* b a ./ b或a.\b a.^b
2.2 数组及其运算
例 a=3 14 7 1 4 9 3 6 10 b=2 8 3 2 10 0 11 2 7 a+b ans= 5 22 10 3 14 9 14 8 17
2.2 数组及其运算
高维数组的创建
直接通过“全下标”元素赋值方式创建高维数组; 由若干个同样大小的低维数组组合成高维数组; 由函数ones、zeros、rand、randn直接创建标准
高维数组;
借助cat、repmat、reshape等函数构造高维数组。
Am
第二章MATLAB数值计算dai
15
a=logspace(n1,n2,n)
在对数空间上,行向量的值从10n1到10n2,数据个数为n, 缺省n为50。这个指令为建立对数频域轴坐标提供了方 便。 例: 》a=logspace(1,3,3) a= 10 100 1000
16
特殊矩阵的生成
单位矩阵 eye(n) %生成n维单位阵 eye(m,n) %生成m×n的单位阵 eye([m,n]) %生成m×n的单位阵 eye(size(A)) %生成与A矩阵同样大小的单位阵 全1矩阵 ones(n) ones(m,n) ones([m,n]) ones(size(A)) 全0矩阵 zeros(n) zeros(m,n) zeros([m,n]) zeros(size(A))
b= 50x2 struct array with fields: number name height test
%构造50×2结构体矩阵
二年级第43个学生的有关信息的填写 >> b(43,2).number=50+43; >> b(43,2).name='李四'; >> b(43,2).height=178; >> b(43,2).test=[83 80 78;97 80 72;69 88 80;87 99 100];
随机矩阵 rand(n) rand(m,n) rand([m,n]) rand(size(A)) 生成的随机矩阵的各个元素值在0和1之间均匀随机分布。 randn(n)产生均值为0,方差为1的正态分布的随机矩阵。
17
建立随机矩阵: (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随 机矩阵。 命令如下:
第二章 MATLAB的数值运算
+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方) 其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。
B、logspace用来生成对数等分向量 (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。
(3) 若参与逻辑运算的是两个同维矩阵,那么运算将 对矩阵相同位置上的元素按标量规则逐个进行。最 终运算结果是一个与原矩阵同维的矩阵,其元素由 1或0组成。
(4) 若参与逻辑运算的一个是标量,一个是矩阵,那 么运算将在标量与矩阵中的每个元素之间按标量规 则逐个进行。最终运算结果是一个与矩阵同维的矩 阵,其元素由1或0组成。
布随机矩阵。
例 分别建立3×3、3×2和与矩阵A同样大小的 零矩阵。
例 建立随机矩阵:
(1) 在区间[20,50]内均匀分布的5阶随机矩阵。
❖ 3. 从外部数据文件调入矩阵
在MATLAB中,还可以从外部文件读入数据 生成矩阵。这些文件可以是存储MATLAB已 经生成的二进制文件,还可以是包含数值数 据的文本文件。在文本文件中,数据必须排 成一个矩形表,数据之间用空格分隔。文件 的每行仅包含矩阵的每一行,并且每行的元 素个数必须相等。
第二章 MATLAB的数值运算
❖ 2.1 变量与数据操作 ❖ 2.2 MATLAB矩阵和数组 ❖ 2.3 MATLAB的运算 ❖ 2.4 矩阵分析 ❖ 2.5 字符串
§2.1 变量与数据操作
❖ 标量:是指1×1的矩阵,即为只含一个数的矩阵。 ❖ 向量:是指1×n或n×1的矩阵,即只有一行或者一
MATLAB的数值运算
➢ A为方阵,V=diag(A)提取A的对角元素 构成向量V。
➢ 随机矩阵:rand(m,n) m×n的均匀分布
3.利用冒号表达式建立向量
e1: e2: e3
a=[1:2:10]
a=
初始值 :步长: 终止值
13579
linspace(a,b,n)
49
72
90
85 133 172
矩阵的点除
例: a=[1 2 3];b=[4 5 6]; c1=a.\b; c2=b./a c1 = 4.0000 2.5000 2.0000
c2 = 4.0000 2.5000 2.0000
a./b=b.\a —— 给出a,b对应元素间的商. a.\b=b./a a./b=b.\a — 都是a的元素被b的对应元素除 a.\b=b./a — 都是a的元素被b的对应元素除
第三节 多项式运算
一、多项式的建立与表示方法
多项式 → 一个行向量
元素按多项式降幂排列
f(x)=anxn+an-1xn-1+……+a0
p=[an an-1 …… a1 a0]
x4 12x3 0x2 25x 116 p=[1 -12 0 25 116]
roots 多项式等于0的根,列向量
polynomial 已知多项式等于0的根,求 出相应多项式
第二章 MATLAB的数值运算
第一节 基本语法结构
一、变量与赋值
1.变量
命名 字母+任意字母(数字、下划线) 规则 字母的大小写、标点符号
存储
变量操作 命令窗口
命令、变量值
调用
数学第二章matlab数值运算功能
05 Matlab数值运算的优化 技巧
减少计算误差的方法
避免除法运算
在Matlab中,除法运算可能导致浮点数精度问题。为了避免这种 情况,可以使用乘法代替除法。
使用高精度数据类型
Matlab提供了多种数据类型,如双精度(double)和单精度 (single)。选择合适的数据类型可以提高计算精度。
Matlab在求解常微分方程时可以 自动调整步长,以提高计算精度 和效率。
04 数值运算在科学计算中的 应用
在物理模拟Leabharlann 的应用数值模拟通过数值方法求解物理方程,如 偏微分方程、常微分方程等,可 以模拟物理现象,如流体动力学、 电磁场等。
粒子模拟
对于粒子系统,如气体分子、液 体分子等,可以通过数值方法模 拟粒子的运动轨迹和相互作用, 从而研究系统的宏观性质。
02
Matlab可以计算矩阵的特征值和特征向量,用于分析矩阵的性
质和特征。
方程求解
03
Matlab提供了求解线性方程组和非线性方程组的函数,如
`x=Ab`和`fzero`等。
数值微积分运算
数值积分
Matlab提供了多种数值积分函数,如`quad`和 `quadl`等,可用于计算定积分和不定积分。
数值微分
特征值和特征向量
Matlab可以计算矩阵的特征值和特征向量,用于分析矩阵的性 质和特征。
数值常微分方程求解
欧拉法
01
02
03
龙格-库塔法
自适应步长控制
Matlab提供了欧拉法求解常微分 方程的函数,如`ode45`等。
Matlab也提供了多种龙格-库塔 法求解常微分方程的函数,如 `ode23`和`ode15s`等。
第二章_MATLAB的数值运算
2.2 矩阵运算
2.2.1 矩阵变量赋值方法 1.直接赋值 直接赋值 >> a=[1 1+2i;2+i exp(1)] a= 1.0000 1.0000 + 2.0000i 2.0000 + 1.0000i 2.7183 2.增量赋值 增量赋值 格式: 初值 增值: 初值: 格式:x=初值:增值:终值 >> x=1:0.1:1.2 x= 1.0000 1.1000 1.2000 增量缺省时默认为1 增量缺省时默认为
数据的显示格式
2.1.4 变量精度 MATLAB中一律使用双精度数 中一律使用双精度数 可用format命令设置数据的显示格式 可用 命令设置数据的显示格式 format只是影响结果的显示,不影响计算与存储。 只是影响结果的显示, 只是影响结果的显示 不影响计算与存储。 format (short):短格式(5位定点数) 位定点数) :短格式( 位定点数 format long:长格式(15位定点数 ) :长格式( 位定点数 format short e:短格式 方式 :短格式e方式 format long e:长格式 方式 :长格式e方式 format bank:2位十进制 99.12(银行货币形式) : 位十进制 (银行货币形式) format hex:十六进制格式 :
2.1 基本语法结构
>> A=[1 2;3 4;5 6]; >> size(A) ans = 3 2 矩阵用“ 作为标识符 作为标识符, 矩阵可省略“ 。 矩阵用“[]”作为标识符,1*1矩阵可省略“[]”。矩阵 矩阵可省略 的 行元素之间用空格或“ 分隔,各行之间用“ 分隔。 行元素之间用空格或“,”分隔,各行之间用“;”分隔。 如: >> A=[1 2;3 4;5 6] %或A=[1,2;3,4;5,6] 或 A= 1 3 5 2 4 6
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.3.3 逻辑运算 MATLAB提供了3种逻辑运算符:&(与and)、 |(或or)和~(非not)。
逻辑运算的运算法则为: (1) 在逻辑运算中,确认非零元素为真,用1表示,零 元素为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么,a&b a,b全为非零时,运算结果为1,否则为0。a|b a,b 中只要有一个非零,运算结果为1。~a 当a是零时, 运算结果为1;当a非零时,运算结果为0。 (3) 若参与逻辑运算的是两个同维矩阵,那么运算将 对矩阵相同位置上的元素按标量规则逐个进行。最 终运算结果是一个与原矩阵同维的矩阵,其元素由 1或0组成。
clear命令用于删除MATLAB工作空间中的变量。 who和whos这两个命令用于显示在MATLAB 工作空间中已经驻留的变量名清单。who命 令只显示出驻留变量的名称,whos在给出变 量名的同时,还给出它们的大小、所占字节 数及数据类型等信息。
2.1.3 MATLAB常用数学函数
函数使用说明: (1) 三角函数以弧度为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、 字符串的ASCII码值。 (3) 用于取整的函数有fix、floor、ceil、 round,要注意它们的区别。
第二章 MATLAB的数值运算
2.1 变量与数据操作 2.2 MATLAB矩阵和数组 2.3 MATLAB的运算 2.4 矩阵分析 2.5 字符串
§2.1 变量与数据操作
Байду номын сангаас
标量:是指1×1的矩阵,即为只含一个数的矩阵。 向量:是指1×n或n×1的矩阵,即只有一行或者一 列的矩阵。 矩阵:是一个矩形的数组,即二维数组,其中向量 和标量都是矩阵的特例,0×0矩阵为空矩阵([ ])。 数组:是指n维的数组,为矩阵的延伸,其中矩阵 和向量都是数组的特例。
2.2.3 矩阵的基本操作 1.矩阵元素提取与修改 A、使用全下标索引 T(i,j)-i和j分别表示索引或提取元素在矩阵 中的行数和列数 B、采用矩阵元素的序号 矩阵元素的序号就是相应元素在内存中的排列 顺序。在MATLAB中,矩阵元素按列存储, 先第一列,再第二列,依次类推。
2.矩阵拆分 ① A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表 示A矩阵第i行的全部元素;A(i,j)表示取A矩阵 第i行、第j列的元素。 ② A(i:i+m,:)表示取A矩阵第i~i+m行的全部元 素;A(:,k:k+m)表示取A矩阵第k~k+m列的全 部元素,A(i:i+m,k:k+m)表示取A矩阵第i~ i+m行内,并在第k~k+m列中的所有元素 。
2.4.2 矩阵的转置与旋转 1.矩阵的转置 转置运算符是单撇号(‘)。 2.矩阵的旋转 利用函数rot90(A,k)将矩阵A旋转90º 的k倍,当k为1时 可省略。 3.矩阵的左右翻转 对矩阵实施左右翻转是将原矩阵的第一列和最后一列 调换,第二列和倒数第二列调换,…,依次类推。 MATLAB对矩阵A实施左右翻转的函数是fliplr(A)。 4.矩阵的上下翻转 MATLAB对矩阵A实施上下翻转的函数是flipud(A)。
2.1.1变量与赋值 1、变量的命名规则 A.变量名必须是不含空格的单个单词; B.变量名区分大小写; C. 变量名最多不超过63个字符; D.变量名必须以字母打头,之后可以是任意 字母、数字或下划线,变量名中不允许使用 标点符号。
2 特殊变量
特殊变量 ans pi eps flops inf NaN或nan i或 j nargin nargout realmin realmax 取值 运算结果的默认变量名 圆周率π 计算机的最小数 浮点运算数 无穷大,如1/0 非数,如0/0、∞/∞、0×∞ i=j= 函数的输入变量数目 函数的输出变量数目 最小的可用正实数 最大的可用正实数
2.三角阵 (1) 上三角矩阵 求矩阵A的上三角阵的MATLAB函数是triu(A)。 triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵 A的第k条对角线以上的元素。例如,提取矩阵A的 第2条对角线以上的元素,形成新的矩阵B。 (2) 下三角矩阵 在MATLAB中,提取矩阵A的下三角矩阵的函数是 tril(A)和tril(A,k),其用法与提取上三角矩阵的函数 triu(A)和triu(A,k)完全相同。
4.利用M文件中的函数生成矩阵 对于比较大且比较复杂的矩阵,可以为它专门 建立一个M文件。M文件是一种包含MATLAB 代码的文本文件,这种文件的扩展名是“.m”。 它包含的内容就是在MATLAB命令行键入矩 阵生成的命令。 举例。
2.2.2 数组、向量的建立与保存 1、一维、二维数组的建立 在MATLAB中数组可以看成是行向量,即只 有一列的矩阵。前面介绍的所有矩阵的建立 方法对于一、二维数组同样适用,这里不再 过多介绍
§2.3 MATLAB运算
2.3.1算术运算 1.矩阵运算 在MATLAB的系统中提供了一些矩阵运算符。 +(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘 方)
注意: A、矩阵的加法和减法运算中,参与运算的矩阵维数 必须相同 B、矩阵乘法运算中乘号左边的矩阵列数必须和乘号 右边的矩阵行数必须相同 C、矩阵除法中,一定要注意区分矩阵的左除(\)和右 除(/)的区别。如果A矩阵是非奇异方阵,则A\B和 B/A运算可以实现 。A\B等效于A的逆左乘B矩阵, 也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩 阵,也就是B*inv(A)。 对于矩阵运算,一般A\B≠B/A。 D、对于矩阵的乘方运算A^x,要求A为方阵,x为标 量。
举例。
§2.2 MATLAB矩阵和数组
2.2.1矩阵的创建与保存 矩阵的创建可以通过一下几种形式创建 以直接形式列出元素形式输入 通过语句和函数产生 从外部文件导入 建立在M文件中
1.直接输入法 最简单的建立矩阵的方法是从键盘直接输 入矩阵的元素。具体方法如下:将矩阵的元 素用方括号括起来,按矩阵行的顺序输入各 元素,同一行的各元素之间用空格或逗号分 隔,不同行的元素之间用分号分隔
2.数组运算 数组的运算符为 +(加)、-(减)、.*(乘)、./(右除)、.\(左 除)、.^(乘方) (1) 数组对标量的加、减、乘、除运算就是对数 组的每个元素分别施加运算。 (2)数组对数组的运算 在MATLAB中,当两个数组具有相同的维数时, 加减乘除运算是元素对元素的方式进行的。
注意 A、数组的加法、减法和矩阵的运算符是相同 的都是“+”和“-”。 B、数组的乘除运算和矩阵是完全不同的,运 算符为(.*)和点除(./)。运算符的点号不能少, 否则将不按数组的运算规则进行。 C、注意区分数组的左除和右除。它们的关系 如下:a./b=b.\a D、数组的幂运算符号为“.^”,用来表示数组 元素对元素的幂运算
(4) 若参与逻辑运算的一个是标量,一个是矩阵,那 么运算将在标量与矩阵中的每个元素之间按标量规 则逐个进行。最终运算结果是一个与矩阵同维的矩 阵,其元素由1或0组成。 (5) 逻辑非是单目运算符,也服从矩阵运算规则。 例 产生5阶随机方阵A,其元素为[10,90]区间的随机 整数,然后判断A的元素是否能被3整除。
几种运算的优先级比较 在算术、关系、逻辑运算中,算术运算优先级最高, 逻辑运算优先级最低。 '(矩阵转置)、^(矩阵幂)和.'(数组转置)、.^(数组幂) ~(逻辑非) *(乘)、/(左除)、\(右除)和.*(点乘)、./(点左 除)、.\(点右除) +、-(加减) : (冒号) <、<=、>、>=、~= &(逻辑与) |(逻辑或)
关系运算的运算法则 (1) 当两个比较量是标量时,直接比较两数的大小。 若关系成立,关系表达式结果为1,否则为0。 (2) 当参与比较的量是两个维数相同的矩阵时,比较 是对两矩阵相同位置的元素按标量关系运算规则逐 个进行,并给出元素比较结果。最终的关系运算的 结果是一个维数与原矩阵相同的矩阵,它的元素由 0或1组成。 (3) 当参与比较的一个是标量,而另一个是矩阵时, 则把标量与矩阵的每一个元素按标量关系运算规则 逐个比较,并给出元素比较结果。最终的关系运算 的结果是一个维数与原矩阵相同的矩阵,它的元素 由0或1组成。
3.赋值语句 (1) 变量=表达式 (2) 表达式 其中表达式是用运算符将有关运算量连接起来 的式子,其结果是一个矩阵。
例 建立变量和赋值 x=1+2i; y=3-sqrt(17); 其中pi和i都是MATLAB预先定义的变量,分 别代表代表圆周率π和虚数单位。
2.1.2 内存变量的管理 MATLAB工作空间窗口专门用于内存变量的管 理。在工作空间窗口中可以显示所有内存变 量的属性。当选中某些变量后,再单击 Delete按钮,就能删除这些变量。当选中某 些变量后,再单击Open按钮,将进入变量编 辑器。通过变量编辑器可以直接观察变量中 的具体元素,也可修改变量中的具体元素。
§2.4 矩阵分析
2.4.1 对角阵与三角阵 1.对角阵 (1) 提取矩阵的对角线元素 设A为m×n矩阵,diag(A)函数用于提取矩阵A主对角 线元素,产生一个具有min(m,n)个元素的列向量。 diag(A)函数还有一种形式diag(A,k),其功能是提取第 k条对角线的元素。
(2) 构造对角矩阵 设V为具有m个元素的向量,diag(V)将产生一 个m×m对角矩阵,其主对角线元素即为向量 V的元素。
(2) 向量的叉积运算 在MATLAB中,向量的叉积由函数“cross”实 现。cross的调用格式如下: C=cross(A,B)表示返回向量A与B的叉积,即 C=A×B。需要说明的是,向量A与B向量必 须是3个元素的向量。
2.3.2 关系运算 MATLAB提供了6种关系运算符:<(小于Lt)、 <=(小于或等于Le)、>(大于Gt)、>=(大于或 等于Ge)、==(等于eq)、~=(不等于Ne)。