第2章 matlab数值计算功能共84页文档

合集下载

第2章 MATLAB 数值计算功能

第2章 MATLAB 数值计算功能

3 线性等分向量的生成
●功能函数为linspace,
●其调用格式有两种:
一是 linspace(x1,x2,n) % 把 [x1,x2] 分为n-1等分; 二是 linspace(x1,x2) % 把 [x1,x2] 分为100-1等分。
4 对数等分向量的生成
●功能函数为logspace,
●其调用格式有两种:
第2章 MATLAB 数值计算功能
2.1 MATLAB的数据类型 主要包括五种数据类型: ●数字 ●字符串 ●矩阵(数组) ●单元型数据 ●结构型数据
2.1.1 变量与常量
(1)变量 特点:不要求事先说明,不要求指 定变量类型(根据赋值和操作来确 定变量类型)。若变量已存在,将 由新值代旧值,新类型代替旧类 型。 遵循的规则: ●变量区分大小写; ●变量名长度不超过31位,之 后字符被忽略;
A = [1,2,3; 4,5,6; 7,8,9] A= 1 4 7 2 5 8 3 6 9 a=[1 2 456 7 8 9] a= 1 4 7 3 2 5 8 3 6 9
2 创建M文件输入大矩阵; 3 直接从数据获取系统得到。
1 矩阵的加和减 c=a+b
a=[1 2 3;2 3 4; 3 4 5]; c= 2 3 4 4 5 6 6 7 8
8 矩阵的指数运算 exp(A)和 expm(A) expm1(A) expm2(A) expm3(A) 注意:有m表示矩阵运算,无m表示元素 运算;expm的计算结果与expm1相 同,几个函数的计算是有差别的,但 差别很小。 9 矩阵的对数运算 log(b) 和 logm(b) 10 矩阵的开方运算 sqrt(b)和 sqrtm(b) 注意:有m表示矩阵运算,无m表示元素 运算

第2章-MATLAB数值计算.

第2章-MATLAB数值计算.
>> a=[1 2;3 4;5 6] a= 1 2 3 4 5 6 >> a(3,3) ??? Index exceeds matrix dimensions >> a(3,3)=9 a= 1 2 0 3 4 0 5 6 9
%提取a(3,3)的值 %给a(3,3) 赋值
(2)单下标方式。矩阵元素也可以用“单下标”标志,就是先把矩阵的所有 列按先左后右的次序连接成“一维长列”,然后对元素位置进行编号。以mn的矩 阵A为例,若元素A(i,j)则对应的“单下标”为s=(j1) mi。矩阵A的元素下标如 图2.2所示。
2.子矩阵块的产生方式 MATLAB利用矩阵下标可以产生子矩阵。对于a(i,j),如果i和j是向量而不是标 量,则将获得指定矩阵的子矩阵块。子矩阵是从对应矩阵中取出一部分元素构成 的,如图2.3所示,分别用全下标和单下标方式取子矩阵。
(1)用全下标方式。矩阵A如图2.3所示,使用以下几种方式都可以构成子矩 阵。 ① a([1 3],[2 3]):取行数为1、3,列数为2、3的元素构成子矩阵。 ans = 2 0 6 9 ② a(1:3,2:3):取行数为1~3,列数为2~3的元素构成子矩阵,“1:3”表示1、 2、3行下标。 ans = 2 0 4 0 6 9
3.5000
4.0000
%空矩阵
%两行向量构成矩阵
(2)使用linspace和logspace函数生成向量。 ① linspace用来生成线性等分向量。与“from:step:to”方式不同的是,它直接 给出元素的个数从而得出各个元素的值。 语法: linspace(a,b,n) 说明:a、b、n 3个参数分别表示开始值、结束值和元素个数。生成从a到b之 间线性分布的n个元素的行向量,n如果省略则默认值为100。 ② logspace用来生成对数等分向量,它和linspace一样直接给出元素的个数从 而得出各个元素的值。在画Bode图等应用中,需要使用logspace命令生成对数等间 隔的数据。 语法: logspace (a,b,n) 说明:a、b、n 3个参数分别表示开始值、结束值和数据个数,n如果省略则默 认值为50。生成从10a到10b之间按对数等分的n个元素的行向量。

第二章matlab02数值运算功能1

第二章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时,表示将磁盘文件中的 时 所有变量都调入工作空间。 所有变量都调入工作空间。

第2章 MATLAB的基本数值计算

第2章 MATLAB的基本数值计算

d=[-1;0;2];f=pi*d f = -3.1416 0 6.2832
(4)矩阵除法 运算包括正斜杠和反斜杠两种。 左除: A\B=A-1B, A为方矩阵 右除: A/B=AB-1,B为方矩阵
矩阵的左除(\)
对于矩阵A和B,A\B表示矩阵A左除矩阵B,其计算 结果与A的逆与B相乘相似。 但MATLAB所用的算法不同。事实上,A\B是方程 AX=B的解,当方程是欠定或超定时,A\B对应的是 最小二乘解。
第2章 MATLAB的语言的主要构成
§2-1 数值和变量
§2-1 数值和变量
一、数据类型 MATLAB的数据类型主要有:数值型、 字符串型、元胞型、结构型等,其中数值 型有双精度型、单精度型和整数类。
§2-1 数值和变量
二、数值
MATLAB的数值采用十进制表示,可用带小 数点的形式直接表示,也可用科学计数法, eps为相对精度位数,数值的表示范围 为 10309 ~ 10
(5)数据的保存与获取
把matlab工作空间中一些有用的数据长 久保存下来的方法是生成mat数据文件。 save —— 将工作空间中所有的变量 存到matlab.mat文件中。 默认文件名
save data——将工作空间中所有的变量存到
data.mat文件中。
save data a b ——将工作空间中a和b变量存
返回
%A为实数阵 %B为虚数阵
(2)矩阵转置 >> A=[1 2 3;4 5 6] A=
1 2 3 4 5 6
>>A'
ans= 1 4 2 5 3 6
(3)矩阵的乘法(*) 两个矩阵A、B能进行乘法运算的前提是A的列数要 与B的行数相等。若A为m×n的矩阵, B为n×p的 矩阵,则所得结果为一个m×p的矩阵。(克莱姆

matlab第2章 数值计算

matlab第2章 数值计算

i或j
虚数单位,表示 1 =0.0000 + 1.0000i
NaN或nan
表示不定数,非数值型,如0/0
realmin realmax
可用的最小正实数值,最小浮点数,21022 =2.2251e-308
可用的最大正实数值最大浮点数, 21022=4.4942e+307
2.1.2 变量与基本函数
1.变量
B=[1 3 6 8 10 13. 17 19 21]; save xyz A B
首页
这样就将数组A、B保存在文件名为xyz的数据文件,即xyz.mat文件。
3.利用Workspace菜单保存数组
若Workspace内存变量中已有数组A、B,可使用菜单栏 中的“File”→“Save Workspace As”对话框来进行操 作。
>> x(2)=0
x=
2 0 3 16 1 27 39 4 48
>> x(a)=10
x=
2 0 3 10 1 10 10
4
10 。 首页
2.2.4 数组排序及维数
1.数组排序
格式
sort(x)
%将数组x中的元素按升序排列
sort(x,'ascend') %将数组x中的元素按升序排列
sort(x,'descend') %将数组x中的元素按降序排列
含义
a+b a.*b a./b a.\b a.^k
对应元素相加
a-b 对应元素相减
对应元素相乘
a的元素被b的 对应元素相除 b的元素被a的 对应元素相除 a的每个元素的og(a)
标量k与b中每 一个元素相乘
标量k被b中每 一个元素相除

第二章matlab02数值运算功能2

第二章matlab02数值运算功能2
a*b ans = 25 55 85 a.*b 37 85 133 46 109 172 ans = 2 4 49 8 15 72 18 3应元素间的商 给出a,b对应元素间的商 对应元素间的商. a.\b=b./a a./b=b.\a — 都是 的元素除以 的对应元素 都是a的元素除以 的元素除以b的对应元素 a.\b=b./a — 都是 的元素除以 的对应元素 都是b的元素除以 的元素除以a的对应元素
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数值计算第⼆章 MATLAB 数值运算学习⽬标:掌握矩阵的构造和运算⽅法,能够使⽤常⽤的⼏种函数进⾏简单的问题求解。

本章重点难点:利⽤Matlab 软件学习数据的操作,包括矩阵的⽣成、数组运算数据分析和统计分析函数、矩阵运算多项式运算、代数⽅程求解、函数的极值问题求解、函数的微积分问题求解、数据插值运算。

MATLAB ⽀持线性代数所定义的全部矩阵运算。

⽤户可通过MATLAB ⽅便的处理线性代数的运算,可以很容易完成原来复杂、费时的运算⼯作。

作为MATLAB 本⾝,它最初的⽬的也是为了解决矩阵问题⽽开发的,甚⾄连英⽂名称都是matrix (矩阵)和laboratory (实验室)两个英⽂单词缩写的组合。

了解了这⼀点,对MATLAB 将矩阵作为基本的操作对象的做法就很容易理解了。

实际上,通过⼀定的转化⽅法,都可以将⼀般的数学计算转化成相应的矩阵运算来处理。

例如,前⾯讲到的标量就可以看作是只有⼀⾏⼀列的矩阵,列向量是只有⼀列的矩阵,⾏向量是只有⼀⾏的矩阵。

矩阵是MATLAB 的基本运算单元,该单元是定义在复数域上的,系统会根据⽤户的输⼊⾃动设置,运算期间会⾃动调整矩阵的维数,事先不需要⽤户定义矩阵的维数。

2.1 变量及其赋值2.1.1 基本概念在MATLAB 中,经常使⽤到标量、向量、矩阵和数组,其定义分别如下: 1)标量:是指11?的矩阵,即只含有⼀个数的矩阵。

2)向量:是指n ?1或1?n 的矩阵,即只有⼀⾏或⼀列的矩阵。

3)矩阵:是⼀个矩形的数组,即⼆维数组,其中向量和标量都是矩阵的特例,00?矩阵为空矩阵([ ])。

4)数组:是指n 维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。

2.1.2 基本运算使⽤matlab 进⾏数学式的计算就像⽤计算器进⾏数字运算⼀样简便。

在MATLAB 下进⾏基本数学运算,只需将运算式直接打⼊系统提⽰符号(>>)之后,并按⼊Enter 键即可,这是命令⾏⽅式。

MATLAB课件第二章 MATLAB语言的数值计算

MATLAB课件第二章 MATLAB语言的数值计算

2.1.3 变量精度
在matlab中,变量的精度问题不需要设 定,一律使用双精度,但是我们可以通过 format命令或者更改preferences中的 Numericformat项来更改数据的显示格式. 命令格式为:format short
2.1.4 永久变量
Matlab语言设置了一些永久变量 eps,pi,Inf,NaN,i,j,nargin,nargout, realmax,realmin (1)这些变量不能被clear清除; (2)这些变量不响应who和whos; (3)nargin,nargout为函数变量; (4)pi,i,j,realmax,realmin为机器常数变 量; (5)Inf 为无穷变量,NaN为非数变量.
2、矩阵乘()运算规则:
A矩阵的列数必须等于B矩阵的行数;
标量可与任何矩阵相乘。
除算) .^ 点乘方(用于矩阵点运算) ./ 点除(用于矩阵点运算) kron 张量积 ‘ 矩阵转置 inv 矩阵求逆 fliplr 矩阵左右翻转 flipud 矩阵上下翻转 rot90 矩阵逆时针方向旋转90度
线性代数方程组的表达式为AX = B或者 XA = B,由于矩阵维数的不同,方程组解 的形式也不同,设解向量X为n×1维的,系 数矩阵A的维数为m×n维的,系数矩阵B 的维数为n×1维的;那么方程组的解可以 分为以下三类: m=n,为恰定方程,可求得唯一解; m>n,为超定方程,求最小二乘解,多 于一组解; m<n,为欠定方程,解无实际意义,解 中至多有m个非零元素。
例2.27 已知矩阵a,求特征多项式与特征根。
3、多项式计算 我们可以利用polyval函数来计算出多项 式在指定点处的值,例如:
4、卷积和反卷积(多项式乘法与除法) 例如:求a(x)=x^3+2x^2+3x+4和 b(x)=x^3+4x^2+9x+16的乘积c(x);

第2章MATLAB数值计算

第2章MATLAB数值计算

4. 矩阵和数组的数学函数
MATLAB中exp、sqrt、sin、cos等数学函数可以 直接使用在数组上,这些运算是分别对数组的每个 元素进行运算。 expm、sqrtm、logm等数学函数用于矩阵运算。

比较:sqrt、sqrtm
5. 关系操作和逻辑操作
(1) 关系运算(relational operators) 关系操作符有:<、<=、>、>=、 = =(等于) 、 ~=(不等于)。
2.3 多项式(polynomial)
多项式按降幂排列为: p(x)=anxn+an-1xn-1+…+a1x+a0 用行向量表示为:p=[an an-1… a1 a0] 即把多项式的各项系数按降幂次序排放成行向量 ,如果多项式中缺某幂次项,则用零代替该幂次项 的系数。 例如: x3+21x2+20x >> p1=[1 21 20 0]
(2) 逻辑运算(Logical Operators) 逻辑操作符有: &(and) 、 |(or) 、 ~(not) 和 &&( 先 决 与 ) 、|| (先决或) 。
6. 运算符优先级
在MATLAB中各种运算符的优先级如下:
'(矩阵转置)、^(矩阵幂)和.'(数组转置)、.^( 数组幂) ~(逻辑非) *(乘)、/(右除)、\( 左除)和.*(点乘)、./(点右除)、.\(点左除) + 、-(加减): (冒号) <、<=、>、>=、~= &( 逻辑与) |(逻辑或) &&(先决与) ||(先 决或)
5. 生 成 大 矩 阵 (Concatenating Matrices) 可以通过方括号“[]”实现将小矩阵生成一 个较大的矩阵。 例:[a;a] 与[a,a]的区别

MATLAB 02

MATLAB 02
1)在同一结构型数组里,不同的元素可以赋以不同类型的 值; 2)结构型数组赋值时,也可以只对部分元素赋值,末赋值 的元素将被赋以空矩阵,并可以随时对该数组加以修改或添 加; 3)当结构型变量元素多于一个时,键入变量名将不能完全 显示各元素相应的值,而只能反应该结构数组的属性结构。
数字变量
义 举 例 说 明 314.159被显示为314.1590 3141.59被显示为3.1416e+003 3.14159265358979 3.1416e+00 3.14159265358979e+00 3.1416 3.14159265358979 355/113 40092fb54442d18 + 3.14
如: >> s(3) ans=t >> s2=[‘matlab’] s2=matlab
字符串
2.字符数组的生成 字符数组的生成
函数 char 可以用来生成字符数组(或矩阵)。
如: >> s3=char(‘s’,’y’,’m’,’b’,’o’,’l’,’i’,’c’); s3’ % “ ’ ”的作用是将字符数组显示为行变量 ans=symbolic
4. MATLAB的帮助系统 的帮助系统
主要介绍了命令窗口查询帮助,即help Lookfor命令的使 用以及其它的一些查询方式,和联机演示系统的查询.
5. MATLAB的搜索路径与扩展 的搜索路径与扩展
主要介绍了搜索路径的几种方式和建立扩展MATLAB的 搜索路径的方法.
目 录 2.1 MATLA的数据类型 2.2向量及其运算 2.3矩阵及其运算 2.4数组及其运算 2.5多项式运算
例如:>> C={1:4,A,B} C=[1*4double] >> C{3}{3} ans=abcd [2*2double] {1*3 cell}

第二章 MATLAB的数值运算

第二章 MATLAB的数值运算
A、linspace用来生成线性等分向量, findstr(x,x1):寻找在某个长字符串x中的子字符串x1,返回其起始位置。
+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方) 其中表达式是用运算符将有关运算量连接起来的式子,其结果是一个矩阵。
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数值计算功能

第二章 Matlab数值计算功能

2013-7-8
Matlab编程及应用
14
2.3 矩阵及其运算
矩阵的生成 1.直接输入小矩阵3 1 2
例:表示矩阵a= 4 5 6
7 8 9
>>a=[1 2 3; 4 5 6; 7 8 9] 1.矩阵大小可不预先定义 2.行元素用空格或逗号格开 行之间用分号或回车符分开 3.输入矩阵要以”[]”为标识
Matlab编程及应用 19
2013-7-8
2.3 矩阵及其运算
以eig函数为例,使用Matlab的help系统
>>help eig
EIG Eigenvalues and eigenvectors. E = EIG(X) is a vector containing the eigenvalues of a square matrix X. [V,D] = EIG(X) produces a diagonal matrix D of eigenvalues and a full matrix V whose columns are the corresponding eigenvectors so that X*V = V*D.
y=linspace(x1,x2,n) >>y=linspace(1,100,6) y=1.0000 20.8000 40.6000 80.2000 2013-7-8 Matlab编程及应用 100.0000
13
2.2 向量及其运算
练习:给出下列向量的生成代码 1. a=[1 2 3 4 5 6 7 8 9 10 11 12]; 2. a=[12 10 8 6 4 2]; 3. a=[6 1 4 3 8 7]T;
i j eps inf nan pi realmax realmin

数学第二章matlab数值运算功能

数学第二章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的数值运算

第二章_MATLAB的数值运算
>>1/0 Warning: Divide by zero. ans = Inf >>0/0 Warning: Divide by zero. ans = NaN
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

Matlab第2章数值计算功能

Matlab第2章数值计算功能
第二章、数值计算功能
1. MATLAB的数据类型 2. 向量及其运算 3. 矩阵及其运算 4. 数组及其运算 5. 多项式运算
1. 变量和表达式
MATLAB命令的通常形式为: 变量=表达式
MATLAB执行表达式并将执行结果显示于 命令后,同时存于变量中供以后使用。 如果变量名和“=”省略,则名为ans的变 量将自动建立。
int2str 整数转换为串
mat2str 数值矩阵转换为串
num2str 数值转换为串
字符串操作函数
指令 char ( s1, s2, …) blanks ( n ) deblank( s ) eval ( s ) eval ( s1, sc ) feval ( f, x, y, … ) ischar ( s ) isletter ( s ) isspace ( s ) strcat (s1, s2, …) strcmp (s1, s2)
Str =Exm03_2.m is an example!
利用串转换函数创建字符串
常用的有:int2str , num2str , mat2str
int2str : 整数数组转换成字符串,非整数四舍五入。
num2str : 非整数数组转换成字符串。
mat2str : 数值数组转换成字符串。a1/a2/a3-均为字符串 区别:
setstr 把ASCII码译成串
str2num 串转换成数值
hex2num 十六进制串转换成浮点数
指令
含义
base2dec bin2dec hex2dec dec2base dec2bin dec2hex
base , bin , hex 与 dec 之间的转换 base: 任意进制串 bin: 二进制串 hex: 十六进制串 dec: 十进制整数

第2章 MATLAB数值运算功能

第2章 MATLAB数值运算功能

mat文件是标准的二进制文件,还 可以ASCII码形式保存。
2.用matlab函数创建矩阵
空矩阵 [ ] — matlab允许输入空阵,当 一项操作无结果时,返回空阵。 eye (n,m)—— 单位矩阵 zeros(n,m) ——全部元素都为0的矩阵 ones (n,m)——全部元素都为1的矩阵 rand(n,m) ——均匀分布随机矩阵 randn(n,m)——正态分布随机矩阵
4、矩阵的操作---提取元素
单个元素 a(i,j) 把第i行提取出来 b=a(i,:) 把第j列提取出来 b=a(:,j) 把第a1到a2行,第b1到第b2列元素提取 b=a(a1:a2,b1:b2)
5. 矩阵的维数 (size)
m=size(A,1); 行数 n=size(A,2); 列数 [m,n]=size(A)
2.2 MATLAB运算符
1.算术运算符
运算符 名称 + * .* ^ 加 减 矩阵乘 数组乘 乘方 指令示例 A+B A-B A*B A.*B A^B 说明
同维:对应元素相加;其中一个为标量,则另一矩阵的所 有元素都加上该标量 同维:对应元素相减;其中一个为标量,。。。 符合矩阵乘法的定义 对应元素相乘 当A,B均为标量时,表示A的B次方幂;A为方阵,B为正 整数时,表示矩阵A的B次乘积;A为方阵,B为负整数时, 表示A的逆矩阵的|B|次方幂;当A,B均为矩阵时,无定义。
幻灯片 107
例2-2
a=[1 2]; b=[3 4]; c=[a;b]; d=[a,b];
特例:向量生成(用:)
a=1:5 相当于 a=[1 2 3 4 5]; a=1:0.2:2 相当与 a=[1 1.2 1.4 1.6 1.8 2.0] Linspace()函数 用于创建指定长度 的等距向量 a=linspace(-6,6,4) 产生-6,6之间等间 距的4个点 a=[-6 -2 2 6]

第二章 MATLAB 数据及其运算

第二章  MATLAB 数据及其运算
201,202,203,204,205,206,207,208,209; 301,302,303,304,305,306,307,308,309];
– (2) 把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。 – (3) 在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动 建立一个名为MYMAT的矩阵,可供以后使用。
三要素:
– 矩阵标识符: [] – 元素分隔符: 逗号” ,”或空格 – 行间分隔符:分号”;”或回车符
» 注意:所有标点符号都是英文状态符号

A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1] A = [16,3,2,13; 5,10,11,8; 9,6,7,12; 4,15,14,1] A = [16,3,2,13 5,10,11,8 9,6,7,12 4,15,14,1]
也可以利用File菜单:Save Workspace As/Import Data
11
数据的输出格式
MATLAB用十进制数表示一个常数,具体可采用两种表 示方法
– 日常记数法:3.14159 – 科学记数法:1.78029e2
在一般情况下,MATLAB内部每一个数据元素都是用双 精度数来表示和存储的。 数据输出时用户可以用format命令设置或改变数据输出格 式。 format命令的格式为: format 格式符 其中格式符决定数据的输出格式
显然,序号(Index)与下标(Subscript )是一一对应的,其 相互转换关系可利用sub2ind和ind2sub函数求得。
19
矩阵拆分
方法一:利用冒号表达式获得子矩阵
– 回忆——冒号表达式
» 冒号表达式是Matlab中很有用的表达式,在向量生成,矩阵拆分等很多方面都是特别 重要的。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2、由函数创建和修改矩阵:
MATLAB提供用于创建某些特殊矩阵的函数
A=[ ] 创建空矩阵 注意空矩阵与零矩阵的差别
常用创建矩阵函数
zeros(m,n) 元素全为零的mn阶矩阵 ones(m,n) 元素全为 1 的mn矩阵 rand(m,n) 元素为在[0,1]上均匀分布的mn随机矩阵 randn(m,n) 元素为标准正态分布的mn随机矩阵
3.续行标志(…) 当一条语句或矩阵太长,一行显示不下时,可用
续行标志…,另起一行继续完成该条语句的书写。
2.1.3 矩阵及其元素的赋值
矩阵是 MATLAB 进行数据处理的基本单元,MATLAB 的大部分运算都是在矩阵的意义上进行的,矩阵运算也 是 MATLAB 最重要的运算。赋值就是把数赋予代表常 量或变量的标识符。 MATLAB中的变量或常量都代表 矩阵,标量应看作是1×1阶的矩阵。
t=初值:增量:终值
其中 “增量”是可以省略的,省略时,默认的增量步 长为1。增量也可以是负值,但此时,初值应该大于终 值。
例如:x=1:5; y=0:pi/4用函数linspace和logspace创建向量:
linspace 函数,创建指定长度的等距向量 t=linspace(初值d1,终值d2,点数n)
>> C(:,:,3)=ones(2,3)*3
C(:,:,1) =
111
111
C(:,:,2) = 222 222
同样的方法还可以创建4维… 等更高维的数组。
C(:,:,3) =
333
333
3. 由ones、zeros等函数直接创建
2.1.4 向量的生成
在MATLAB中数组可以看成是行向量,即只有一行或 一列的矩阵。前面介绍的所有矩阵的建立和保存的方 法,对向量同样适用,这里不再重复。同时,介绍 matlab中创建向量的特殊命令。 1.利用冒号“:”创建等差数列:
00 00 A(:,:,2) = 00 01
>> B(2,5,:)=1:3 B(:,:,1) =
00000 00001 B(:,:,2) = 00000 00002 B(:,:,3) = 00000 00003
2.由若干个同样大小的低维数组合成
>> C=ones(2,3);
>> C(:,:,2)=ones(2,3)*2;
意义为:在线性空间上,行矢量的值从d1到d2,数 据个数n,缺省时n为100。
例:k=linspace(-pi,pi,4) logspace 函数,创建对数等距的向量
y=logspace(d1,d2) y=logspace(d1,d2,N) 意义为:从10的d1次幂到d2次幂之间按等比级数等分 为N个点,N缺省时,默认为50。
2.1.2、 MATLAB 的语句
1.百分号(注释符)% 与其它程序语言一样,为了方便其他人及日
后自己对程序的阅读,增加程序的可读性,需要 在MATLAB文件中加入注释。注释行必须以%号 开始,执行文件时,%号后面的语句不予执行。 2.逗号和分号
在赋值语句中,逗号(空格)用在同一行中各 元素之间,分号用在行与行之间。多条语句放在一 行,用逗号分开表示要求显示结果,由分号分开表 示不要求显示结果。
例如输入语句
显示的结果为:
a=[1 2 3;4 5 6;7 8 9]
a= 123 456 789
矩阵里的元素也可以用表达式代替,例如输入
X=[-1.3,sqrt(3),(1+2+3)/5*4]
显示结果
矩阵里的元素还可以是
X=
复数,复数用内定变量
-1.3000 1.7321 4.8000 i,j表示
矩阵的创建可以通过以下几种形式: (1)直接列出元素形式; (2)通过语句和函数产生; (3)从外部文件装入; (4)建立在M文件中。
1、直接输入矩阵:
对于较小的简单矩阵,从键盘上直接输入矩阵时最常 用、最方便和最好的数值矩阵创建方法。创建矩阵的 基本原则: •矩阵的所有元素必须放在方括号“[ ]”内; •矩阵元素之间必须用逗号“,”或空格隔开; •矩阵行与行之间用分号“;”或回车符隔开; •矩阵元素可以是数字或任何不含未定义变量的表达式。
2.1 变量及其赋值
2.1.1变量
像任何其他计算机语言一样,MATLAB 也是使用变量 来保存信息的。变量由变量名表示,变量的命名应遵 循如下规则:
1.变量名必须以字母开头;由字母、数字和下划线 混合组成;不允许使用空格、标点符号;
2.变量名的字符长度不应超过31个(对于6.x版本); 3. MATLAB严格区分大小写字母,因此,A和a是不同 的变量。 4.关键字(如 if,while 等)不能作为变量名。
MATLAB的内定变量见表2 - 1
永久变量
• eps — 容差变量,定义为1.0到最近浮点数的
距离,在 pc机上= 2-52 • pi — 圆周率的近似值3.1415926 • inf或Inf — 表示正无大,定义为1/0 • NaN — 非数,它产生于0× ,0/0,/ 等 运算
• i,j — 虚数单位 • ans — 对于未赋值运算结果,自动赋给ans
例如:有文本文件mydata.txt,将后缀改为.dat,在命 令窗口输入:
load mydata.dat %把文件中的内容调入到工作空间中 mydata %显示变量mydata
4、利用M文件中的函数生成矩阵
高维矩阵的创建(简单了解)
1.通过全下标元素赋值方式
>> A=zeros(2,2) A=
00 00 >> A(2,2,2)=1 A(:,:,1) =
以上命令可以只有一个参数,生成的是方阵
eye(n) 单位矩阵, nn阶的方阵 magic(n) 魔方矩阵,其特点是元素由1到n2的自然数 组成,每行、每列及两对角线上的元素之和均等于 (n3+n)/2
3、从外部数据文件调入矩阵:
在MATLAB中,还可以从外部文件读入数据生成矩阵。 这些文件可以是存储Matlab已经生成的矩阵二进制文 件,也可以是包含数值数据的文本文件。在文本文件 中,数据必须排成一个矩阵表,数据之间用用空格分 隔,每行包含矩阵的一行。保存文件时,文件名后缀 为.dat
2.1.5 矩阵的下标
创建了矩阵之后,若要调用矩阵里的元素,就要了解 单个元素标志和寻访的3种方式: 1.“全下标”标志
相关文档
最新文档