第2章 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]
第二章matlab02数值运算功能1
范 例 3.1416 3.1416e+000
3.14159265358979
format long
15 位数字表示
format long e
15位科学记数表示
format rat 分数近似 format bank 两位小数
3.1415926535897 93e+000 355/113 3.14
MATLAB命令 format hex format +
realmax-系统所能表示的最大正实数: 系统所能表示的最大正实数: 系统所能表示的最大正实数 1.797693134862316e+308 realmin-系统所能表示的最小正实数: 系统所能表示的最小正实数: 系统所能表示的最小正实数 2.225073858507201e-308
7.变量查询和清除函数(变量操作) 变量查询和清除函数(变量操作)
可用load指令调用已生成的 指令调用已生成的mat文件 可用 指令调用已生成的 文件
load data
load data a b
即可恢复保 存过的所有 变量
load filename variables的使用说明 的使用说明
• 将以前用 将以前用save命令保存的变量 命令保存的变量variables从磁 命令保存的变量 从磁 盘文件中调入MATLAB工作空间。 工作空间。 盘文件中调入 工作空间 • 用load 命令调入的变量,其名称为用 命令调入的变量,其名称为用save命 命 令保存时的名称,取值也一样。 令保存时的名称,取值也一样。 • Variables所表示的变量列表中,不能用逗 所表示的变量列表中, 所表示的变量列表中 号,各个不同的变量之间只能用空格来分隔。 各个不同的变量之间只能用空格来分隔。 空格来分隔 • 未列出 未列出variables时,表示将磁盘文件中的 时 所有变量都调入工作空间。 所有变量都调入工作空间。
第二章 Matlab软件的数值计算方法2
3)三角函数、双曲函数及它们的反函数 )三角函数、 只用于数值计算外, 除atan2只用于数值计算外,其余的三角函数(如sin)、 只用于数值计算外 其余的三角函数( )、 双曲函数( 双曲函数(如cosh)以及它们的反函数(如asin, acosh) )以及它们的反函数( ) 在数值计算和符号计算中使用方法都相同。 在数值计算和符号计算中使用方法都相同。 4)指数、对数函数 )指数、 数值、符号计算中,函数sqrt, exp, expm的使用方法 数值、符号计算中,函数 的使用方法 完全相同,至于对数函数,符号计算中只有自然对数log, 完全相同,至于对数函数,符号计算中只有自然对数log, 而没有数值计算中的log2, log10。 而没有数值计算中的 。 5) 复数函数 ) conj, real, imag, abs相同,但无求相角的指令。 相同, 相同 但无求相角的指令。 6) 矩阵代数指令 ) diag, triu, tril, inv, det, rank, rref, null, colspace, poly, expm, eig基本与数值计算相同,只有 基本与数值计算相同, 稍微不同。 基本与数值计算相同 只有svd稍微不同。 稍微不同
1.3 符号表达式中自由变量的确定 findsym可实现对表达式中所有自由符号变量或指定数 可实现对表达式中所有自由符号变量或指定数 目的独立自变量的自动认定。 目的独立自变量的自动认定。 findsym(expr) findsym(expr,n) 【例7】对独立自由符号变量的自动辨认。 】对独立自由符号变量的自动辨认。 syms a b x X Y; k=sym('3'); z=sym('c*sqrt(delta)+y*sin(theta)'); EXPR=a*z*X+(b*x^2+k)*Y; findsym(EXPR)
第2章_MATLAB的基本操作1
MATLAB数据类型
浮点数
浮点数
单精度浮点数(4字节)
双精度浮点数(8字节默认)
转换函数: single(x),double(x)
浮点数与其它类型数据运算表
operand single double int/uint char logical X single single single single single double single double int/uint double double
2. 矩阵拆分
A(i,j) 第i行、第j列元素 第i行的全部元素 第i~i+m行的全部元素
A(i,:)
A(i:i+m,:)
A(i:i+m,k:k+m)
A(i:end,:)
第i~i+m行内第k~k+m列元素 第i行到最后一行的全部元素
(三) 矩阵元素的修改
(1) 直接修改
可用↑键找到所要修改的矩阵,用←移动到需 要修改的矩阵元素上即可修改
使用struct函数产生结构体: struct_name = struct(‘field1’,value1,‘field2’,value2,…..)
MATLAB数据类型
细胞变量(细胞数组)cell
MATLAB从5.0版开始引入了一种新的数据类型 ---细胞(cell),该结构把不同属性的数据纳入 到一个变量中。 普通数组中的每个元素都必须具有相同的属性, 而细胞则没有此要求。 细胞变量的表示方法类似于带有下标的数组, 但这些下标不是用圆括号括起来,而是用大括 号括起来。
char(字符型) logical(逻辑型) cell(单元型) struct(结构)
第2章--MATLAB数据及其运算-习题答案教学内容
第2章--M A T L A B数据及其运算-习题答案第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B.1.2e-5 C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.45.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B >> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.439.下列语句中错误的是()。
BA.x==y==3 B.x=y=3C.x=y==3 D.y=3,x=y10.find(1:2:20>15)的结果是()。
CA.19 20 B.17 19C.9 10 D.8 911.输入字符串时,要用()将字符括起来。
C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。
A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
BA.sqrt(4)+2 B.4 C.2 D.2, 214.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。
MATLAB第二讲__数值计算和符号计算
(4)数值运算中必须先对变量赋值;符号运算无须事先对变 量赋值,但必须先定义,运算结果以标准的符号表达 式形式给出。
Matlab基础应用 21
2.2.2 符号运算中的运算符
(1)基本运算符 符号矩阵:‚+”,‚-”,‚*‛,‚\”, ‚/”, ‚^”, ‚ ’ ” 符号数组:‚.*”,‚./”,‚.\‛,‚.^”, ‚.’ ” (2)关系运算符 运算符只有‚==”,‚~=”。
Matlab基础应用 7
1.3.4 多项式乘除运算(续)
例4: a(x)=x2+2x+3; b(x)=4x2+5x;求c=a(x)*b(x)。 解: >>a=[1 2 3];b=[4 5 0]; >>c=conv(a,b) c= 4 13 22 15 0 >>[d,r]=deconv(c,a) d= 4 5 0 r= 0 0 0 0 0
注意: 方法一只创建了符号表达式,没有创建符号变量; 而方法二既创建了符号表达式,又创建符号变量.
Matlab基础应用 19
2.1.3 创建符号矩阵
使用sym和syms命令创建
例4: A=sym(‘[a,b;c,d]’) A= [ a, b] [ c, d] syms f g h k B=[f,g;h,k] B=
%方法二
Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object f2 1x1 146 sym object x 1x1 126 sym object Grand total is 20 elements using 650 bytes
第二章 MATLAB数值计算
数值
复数 z=a+b*i或z=a+b*j z=a+bi或z=a+bj(当b为标量时) z=r*exp(i*theta) 得出一个复数的实部、虚部、幅值和相角。 a=real(z) %计算实部 b=imag(z) %计算虚部 r=abs(z) %计算幅值 theta=angle(z) %计算相角
变量
矩阵和数组运算
diag(X)产生X矩阵的对角阵 [l,u]=lu(X)方阵分解为一个准下三角方阵和一个上三 角方阵的乘积。l为准下三角阵,必须交换两行才能成 为真的下三角阵。 [q,r]=qr(X) m×n阶矩阵X分解为一个正交方阵q和一个 与X同阶的上三角矩阵r的乘积。方阵q的边长为矩阵X的 n和m中较小者,且其行列式的值为1。 [u,s,v]=svd(X) m×n阶矩阵X分解为三个矩阵的乘积, 其中u,v为n×n阶和m×m阶正交方阵,s为m×n阶的对角 阵,对角线上的元素就是矩阵X的奇异值,其长度为n和 m中的较小者。
第二章
MATLAB数值计算
2.1 变量和数值
数据类型
数据类型包括:数值型、字符串型、元胞型、结构 型等 数值型=双精度型、单精度型和整数类 整数类=无符号类(uint8、uint16、uint32、uint64)和 符号类 (int8、int16、int32、int64)
数值
数据的表达方式 可以用带小数点的形式直接表示 用科学计数法 数值的表示范围是10-309~10309。 以下都是合法的数据表示: -2、5.67、2.56e-56(表示2.56×10^-56)、 4.68e204(表示4.68×10^204)
E1=tril(A) E2=tril(A,1) D=triu(A) E=triu(A,-1)
第二章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 , 分别为
第2章 MATLAB数据及其运算.
8 1 d 3 5
(2)利用空矩阵删除矩阵的元素 a=[ ] a的维数为0。 例:a( 2 , : )= [ ]; 8 1 6 得: 3 5 7 a a= 4 9 2 8 1 6 4 9 2
2.3.5
复数(Com part)和虚部(imaginary part)组 成。 虚数单位用i或j来表示。 6+5i = 6+5j
format bank format rat
2.3 MATLAB矩阵的表示
2.3.1 矩阵 MATLAB中最基本的数据结构是矩阵(matrix)。 1*1的矩阵----标量(scalar): [5] 只有一行或一列的矩阵-----向量(vector): [1 3 5 7]
2 4 6 8
2.4 Matlab数据的运算(Operators ) 运算符(Operators )
+ Addition
*
Subtraction
Multiplication
/
\
Division
Left division
^
Power
2.4.1 算术运算 (1)矩阵加减运算: 两个同维矩阵,才能进行加减运算,对应无素相加减。 一个标量与矩阵相加减时,结果为这个标量与矩阵的 每一个元素相加减。 x=[2,-1,0;3 2 -4]; y=ones(2,3); x-y=? [1,-2,-1;2,1,-5] x+1=? [3,0,1;4,3,-3]
在线性代数中,本没有矩阵除法,它是由逆 矩阵引申来的。 MATLAB中,矩阵求逆(Matrix inverse)的函 数为: Y = inv(X) 方程A*X=B的解为:X=inv(A)*B=A\B, A\B称为A左除B,左除时要求两矩阵行数相等。 方程X*A=B的解为:X=B*inv(A)=B/A, A/B称为A右除B,右除时要求两矩阵列数相等。
第 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.5 向量的点积和叉积运算.
>> A = [4 -2 1];
>> B = [1 -1 3];
>> C=dot(A,B)
%向量A和B的点积
C=
9
>> D = cross(A,B) %向量A和B的叉积
D=
-5 -11 -2
件
篇
澡身浴德 修业及时
澡身浴德 修业及时
2.2 矩阵及其运算
① x(n)
表示向量中的第n个元素
② x(n1:n2)
表示向量中的第n1至n2个元素
例2.3 向量元素的引用、修改和扩展.
>> x=1:2:5
x=
1
3
5
件
篇
数学实验
软
>> x(2)=6
%修改第2个元素为6
x=
1
6
>> x(5)=7
%增加第5个分量,第4个分量没有赋值,自动设为0
x=
1
6
5
0
7
>> x([1,end])
2
.
= ( , , . . . , )
或
1 2
.
.
叫做 n 维向量,向量的第 i 个分量称为 .
件
篇
数学实验
软
2.1.1 向量的创建
MATLAB中向量可以由以下方法创建:
(1)元素输入法
在命令行窗口中直接输入,向量元素用“[ ]”括起来,元素之间用空格、逗号或分
号分隔.用空格和逗号分隔生成行向量,用分号分隔生成列向量.
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 数组及向量运算•由数学知识可知,数组和矩阵有着不同的概念。
2 matlab的数值运算
下次运行matlab时即可用load指
令调用已生成的mat文件。
load —— load data —— load data a b ——
即可恢复保 存过的所有 变量
mat文件是标准的二进制文件,
还可以ASCII码形式保存。
三、矩阵运算
1. 矩阵加、减(+,-)运算
规则:
相加、减的两矩阵必须有相同的行和 列两矩阵对应元素相加减。 允许参与运算的两矩阵之一是标量。 标量与矩阵的所有元素分别进行加 减操作。
二、数据的保存与获取
把matlab工作空间中一些有用的数 据长久保存下来的方法是生成mat数 据文件。 save —— 将工作空间中所有的变 量存到matlab.mat文件中。 默认文件名
save data——将工作空间中所
有的变量存到data.mat文件中。
save data a b ——将工作空间 中a和b变量存到data.mat文件中。
3.conv,convs多项式乘运算
例:a(x)=x2+2x+3; b(x)=4x2+5x+6; c = (x2+2x+3)(4x2+5x+6) a=[1 2 3];b=[4 5 6]; c=conv(a,b)=conv([1 2 3],[4 5 6]) c = 4.00 13.00 28.00 27.00 18.00 p=poly2str(c,'x') p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18
直接修改 可用键找到所要修改的矩阵,用键 移动到要修改的矩阵元素上即可修改。 指令修改 可以用A(,)= 来修改。
MATLAB运算基础(第2章)答案
实验01讲评、参考答案讲评未交实验报告的同学名单数学:6人(11、12级)信科:12-04, 12-22, 13-47批改情况:问题1:不仔细,式子中出错。
问题2:提交的过程不完整。
问题3:使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。
问题4:截屏窗口没有调整大小。
附参考答案:《MATLAB软件》课内实验王平实验01 MATLAB运算基础(第2章MATLAB数据及其运算)一、实验目的1. 熟悉启动和退出MATLAB 的方法。
2. 熟悉MATLAB 命令窗口的组成。
3. 掌握建立矩阵的方法。
4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1. 数学表达式计算先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
1.1 计算三角函数122sin 851z e=+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适当调整窗口大小。
命令窗口中的执行过程:1.2 计算自然对数221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。
应用点乘方) 命令窗口中的执行过程:1.3 求数学表达式的一组值0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
命令窗口中的执行过程:1.4 求分段函数的一组值2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5提示:用逻辑表达式求分段函数值。
命令窗口中的执行过程:1.5 对工作空间的操作接着显示MATLAB当前工作空间的使用情况并保存全部变量提示:用到命令who, whos, save, clear, load,请参考教材相关内容。
第二章 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基础及其应用 第2章 MATLAB数据对象
y=
0.5690 + 1.3980i
2.2 变量及其操作
2.2.1 变量与赋值
3.预定义变量
MATLAB基础与应用教程
2.2 变量及其操作
MATLAB基础与应用教程
2.2.2 变量的管理
1.内存变量的显示与修改
who函数按字母顺序列出当前工作区中的所有变量,whos函 数工作区中按字母顺序列出当前工作区中的所有变量及大小、 类型。
2.2 变量及其操作
MATLAB基础与应用教程
2.2.1 变量与赋值
1.变量命名 在MATLAB中,变量名是以字母开头,后跟字母、数字或下划 线的字符序列,最多63个字符。 变量名区分字母的大小写。 不能使用MATLAB的关键字作为变量名。
2.2 变量及其操作
MATLAB基础与应用教程
2.2.1 变量与赋值
构建二维字符数组可以使用创建数值数组相同的方法matlab基础与应用教程25字符数据及操作251字符向量与字符数组matlab还有许多与字符处理有关的函数matlab基础与应用教程25字符数据及操作例22建立一个字符串向量然后对该向量做如下处理
MATLAB基础与应用教程
第2章 MATLAB数据对象
【本章学习目标】 掌握MATLAB数据对象的特点。 掌握变量的创建与管理。 掌握矩阵的生成、转换与运算。 掌握MATLAB基本的运算规则。
0 -2 -4 -6 -8
2.3 MATLAB数组
MATLAB基础与应用教程
2.3.1 构造数组
2.构造行向量 用linspace函数构建线性等间距的行向量,logspace函数构 建对数等间距的行向量: linspace(a, b, n) logspace(a, b, n) 其中,参数a和b是生成向量的第1个和最后1个元素,选项n 指定向量元素个数。当n省略时,默认生成100个元素。
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的数值计算 —— matlab 具有出色的数值计算能力,占据世界上数值计算软件的主导地位
x=a\b x= 2.00 3.00
2.超定方程组的解
方程 ax=b ,m<n时此时不存在唯一解。 方程解 (a ' a)x=a ' b
x=(a' a)-1 a ' b —— 求逆法 x=a\b —— matlab用最小二乘法找一
个准确地基本解。
例: x1+2x2=1 2x1+3x2=2 3x1+4x2=3
特征多项式一定是n+1维的
特征多项式第一个元素一定是1
例:a=[1 2 3;4 5 6;7 8 0]; p=poly(a)
p =1.00 -6.00 -72.00 -27.00 p是多项式p(x)=x3-6x2-72x-27的
matlab描述方法,我们可用: p1=poly2str(p,‘x’) — 函数文件,显示 数学多项式的形式
matlab函数名必须小写。
3. 矩阵的修改
直接修改 可用键找到所要修改的矩阵,用键
移动到要修改的矩阵元素上即可修改。 指令修改
可以用A(,)= 来修改。
例如
a=[1 2 0;3 0 5;7 8 9]
a =1 2 0
305 789
还可以用函数subs
a(3,3)=0 a =1 2 0
p1 =x^3 - 6 x^2 - 72 x - 27
2.roots —— 求多项式的根
a=[1 2 3;4 5 6;7 8 0];p=poly(a) p=
1.00 -6.00 -72.00 -27.00 r=roots(p) r = 12.12
-5.73 ——显然 r是矩阵a的特征值 -0.39
用除法求的解x是具有最多零元素的 解 是具有最小长度或范数的解,这个 解是基于伪逆pinv求得的。
第2章 MATLAB数据及其运算_习题解答[4页]
第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MA TLAB合法变量名的是()。
DA.合计B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B.1.2e-5 C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
AA.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
BA.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。
DA.所有元素B.第一行元素C.第三行元素D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
AA.a变成行向量B.a变为2行2列C.a变为3行2列D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B>> clear>> x=i*jA.不确定B.-1 C.1D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
DA.34 B.354 C.453D.43 9.下列语句中错误的是()。
BA.x==y==3 B.x=y=3C.x=y==3 D.y=3,x=y10.find(1:2:20>15)的结果是()。
CA.19 20 B.17 19C.9 10 D.8 911.输入字符串时,要用()将字符括起来。
CA.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。
AA.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
BA.sqrt(4)+2 B.4 C.2 D.2,214.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-0.7071 -0.9701 0.3015
D=
-1 0 0
020
002
16
5. 矩阵分解
>> A=[2 -1 3;1 2 1;2 4 3];
>> [L, U]=lu(A) %三角分解
L= 1.0000 0 0 0.5000 0.5000 1.0000 1.0000 1.0000 0
U= 2.0000 -1.0000 3.0000 0 5.0000 0 0 0 -0.5000
17
6. 求解线形方程组
18
2.2 向量
向量是矢量运算的基础
行向量 列向量
19
2.2.1 向量的构造
1.逐个输入
>>a=[1 3 9 10 15 16]
%采用空格和逗号分隔构成行向量
>>b=[1; 3; 9; 10; 15; 16]
%采用分号隔开构成列向量
2.利用冒号表达式“:”生成向量
8
2.1.3 矩阵的算术运算
1. 矩阵的加减运算:+(加)、-(减) 2. 矩阵乘法:*(乘) 3. 矩阵除法:/ (右除)、\ (左除) 4. 矩阵的乘方:^(乘方) 5. 矩阵转置: ' (转置运算符)
9
2.1.4 矩阵的关系运算
关系运算符:
<(小于)、<=(小于或等于)、>(大于) >=(大于或等于)、==(等于)、~=(不等于)。
>> X*Y
%矩阵的逆阵是唯一的
ans =
1.0000 0
0
0
0 1.0000 0
0
00
1.0000 0
00
0
1.0000
15
4. 求特征值和特征向量
>> X=[-2 1 1;0 2 0;-4 1 3];
>> [V D]=eig(X)
V=
-0.7071 -0.2425 0.3015
00
0.9045
6
2.1.2 矩阵下标与子矩阵提取
A(m, n)
提取第m行,第n列元素
A(:, n)
提取第n列元素
A(m, :)
提取第m行元素
A(m1:m2, n1:n2) 提取第m1行到第m2行和第n1列到第n2 列的所有元素
A(m:end, n)
提取从第m行到最末行和第n列的子块
A(:)
-3 6 -3
21
2.3 数组
数组运算方式是一种元素对元素的运算(不按 照线性代数的规则) ;
除了加、减法的与矩阵相同以外,乘、除、幂 的数组运算符都是通过在标准的运算符前面加 一个圆点来生成。
22
数组运算
>> x=[1 2 3; 4 5 6; 7 8 9];
得到一个长列矢量,该矢量的元素按矩 阵的列进行排列
7
例: 修改矩阵A中元素的数值
>>A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]; >>A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0); 则矩阵变为: A=
0234 5778 9 10 11 12 13 14 15 1
>>x=1:2:9
%初值=1,终值=9,步长=2
>>z=1:5
%初值=1,终值=5,默认步长=1
3.利用函数生成向量
>> x=linspace(1, 9, 5)
%初值=1,终值=9,元素数目=5
20
2.2.2 向量的运算
1.点积:dot函数 2.叉积:cross函数
例
>> a = [1 2 3]; >> b = [4 5 6]; >> c = dot(a, b) >> d = cross(a, b) c= 32 d=
关系运算符的运算法则:
关系运算将对两个矩阵的对应元素进行比较。
10
2.1.5 矩阵的逻辑运算
必须是两个同维矩阵或其中一个矩阵为标量才能进行 MATLAB提供了一些逻辑函数
逻辑函 数
all any isempty isequal isreal find
功能
如果所有的元素都是非零值,返回1;否则,返回0。 如果有一个元素为非零值,那么返回1;否则,返回0 判断是否空矩阵 判断两矩阵是否相同 判断是否是实矩阵 返回一个由非零元素的下标组成的向量
4
2.1.1 矩阵的构造
通过直接输入矩阵的元素构造矩阵:
用中括号[ ]把所有矩阵元素括起来 同一行的不同数据元素之间用空格或逗号间隔 用分号(;)指定一行结束 可分成几行进行输入,用回车符代替分号 数据元素可以是表达式,系gt;A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16] >>B=[1,sqrt(25),9,132,6,10,7*2 3+sin(pi),7,11,15,4, abs(-8),12,16]
第2章 MATLAB数值运算
1
本章目标
掌握矩阵、向量、数组和多项式的构造和运算 方法
能够使用常用的几种函数进行一般的数值问题 求解
2
主要内容
2.1 矩阵 2.2 向量 2.3 数组 2.4 多项式
3
2.1 矩阵
MATLAB = matrix(矩阵)+ laboratory(实验室)
0.1940 0.0798 -0.0659 0.0095
0.1274 -0.0835 0.0322 0.0176
-0.2892 0.0084 0.0275 0.0377
>>Y*X
%矩阵与其逆阵相乘结果是单位矩阵
ans =
1.0000 0
0
0
0 1.0000 0
0
00
1.0000 0
00
0
1.0000
11
2.1.6 矩阵函数
det diag eig inv lu Poly Rank Svd
函数
功能
计算矩阵所对应的行列式的值 抽取矩阵对角线元素 求特征值和特征向量 求矩阵的逆阵 三角分解 求特征多项式 求矩阵的秩 奇异值分解
12
1. 求矩阵的行列式的值
>> X=[1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16]; >>det(X) ans = -5464
13
2. 求矩阵的秩
>> X=[1, 2, 3; 2, 3 -5; 4 7 1]; >> rank(X) ans =
2
14
3. 求逆矩阵
>> X=[1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16];
>> Y=inv(X)
Y=
0.2299 0.0908 0.0351 -0.0717