第二章 MATLAB 数值计算

合集下载

第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]

(完整word版)含答案《MATLAB实用教程》

(完整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]创建多项式。

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

第二章 Matlab软件的数值计算方法2

第二章 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)

MATLAB第二讲__数值计算和符号计算

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

第二章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的基本特性和使用方法。

1.1 MATLAB的历史与发展MATLAB是由MathWorks公司于1984年首次推出的。

起初,它作为一个用于矩阵计算的工具被广泛使用。

随着时间的推移,MATLAB逐渐拓展了功能,加入了许多其他数学和工程计算的功能,如符号计算、数据统计和可视化。

如今,MATLAB已经成为一种非常受欢迎的工具。

1.2 MATLAB的安装和环境设置要开始使用MATLAB,首先需要从MathWorks官网下载并安装MATLAB软件。

安装完成后,打开MATLAB并设置工作目录和默认工作文件夹。

工作目录是指存储MATLAB代码和数据文件的文件夹,而默认工作文件夹是指MATLAB打开时默认选择的文件夹。

1.3 MATLAB的基本语法和命令MATLAB的基本语法和命令非常简单易懂。

它采用类似于其他编程语言的命令行交互方式,用户可以直接在命令行输入MATLAB语句并执行。

例如,可以输入"2+2"并按回车键得到结果4。

此外,MATLAB还具有许多内置的数学函数和运算符,可以进行各种数值计算和数据分析。

1.4 MATLAB脚本和函数在MATLAB中,可以使用脚本和函数来组织和执行一系列MATLAB命令。

脚本是一系列命令的集合,可以一次性运行。

函数是一段可以重复使用的代码,可以接受输入参数并返回输出结果。

通过编写脚本和函数,可以提高MATLAB代码的可重复性和可维护性。

第二章:数值计算MATLAB作为一种数值计算工具,提供了丰富的数学函数和算法,可以用于解决各种数值计算问题。

在本章中,我们将介绍MATLAB在数值计算方面的一些常用功能和技巧。

2.1 数值计算方法MATLAB中包含了许多数值计算方法,如数值积分、数值微分、线性代数求解等。

第2章 MATLAB数据及其运算.

第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 章 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数值计算

第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),以弧度为单位。

2 matlab的数值运算

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(,)= 来修改。

matlabMATLAB的数值计算

matlabMATLAB的数值计算

4. 矩阵的其它运算
inv —— 矩阵求逆 det —— 行列式的值 eig —— 矩阵的特征值 diag —— 对角矩阵
’ —— 矩阵转置 sqrt —— 矩阵开方
5.矩阵的一些特殊操作
矩阵的变维
a=[1:12];b=reshape(a,3,4) c=zeros(3,4);c(:)=a(:) 矩阵的变向 rot90:旋转; fliplr:上翻; flipud:下翻 矩阵的抽取 diag:抽取主对角线;tril: 抽取主下三角;
2. 数组乘除(,./,.\)
ab —— a,b两数组必须有相同的行
和列两数组相应元素相乘。
a=[1 2 3;4 5 6;7 8 9];
b=[2 4 6;1 3 5;7 9 10];
a.*b
ans =
2
8
18
4
15
30
49
72
90
a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10];
save data a b ——将工作空间 中a和b变量存到data.mat文件中。 下次运行matlab时即可用load指 令调用已生成的mat文件。
load —— load data —— load data a b ——
即可恢复保 存过的所有 变量
mat文件是标准的二进制文件, 还可以ASCII码形式保存。
3. 数组乘方(.^) — 元素对元素的幂
例:
a=[1 2 3];b=[4 5 6];
z=a.^2
z=
1.00
4.00
9.00
z=a.^b
z=
1.00 32.00 729.00
四、 多项式运算

第二章 MATLAB基础知识

第二章 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

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

MATLAB的数值运算
➢ 对角矩阵:对角元素向量 V=[a1,a2,…,an] A=diag(V)
➢ 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解法

>> syms x a >> f1=(cos(x) - 1) / x; >> f11=limit(f1) f11 = 0 >> f11=limit(f1,x,0) f11 = 0 >> f2 = 1 / x^3; >> f21 = limit(f2,'right') ??? Error using ==> sym.limit Limit point must be a scalar. >> f21 = limit(f2,x,0,'right') f21 = Inf >> f3 = [(1+a/x)^2,exp(-x)]; >> f21 = limit(f3,x,inf,'left') f21 = [ 1, 0]
-0.96 -0.965 -0.97 -0.975 -0.98 -0.985 -0.99 -0.995 -1 3 3.05 3.1 3.15 3.2 3.25 3.3 3.35 3.4

f ( x, y) 100 ( y x 2 ) 2 (1 x) 2的 小 点 极 值 。
>> x0 = [-1.2,1]; >> h = @(x)100*(x(2)-x(1)^2)^2 + (1 - x(1))^2; >> [x,fval] = fminsearch(h,x0) x= 1.0000 1.0000 fval = 8.1777e-010
>> f = @(x)x^3-2*x - 5 f= f 1x1 16 function_handle array Grand total is 1 element using 16 bytes @(x)x^3-2*x – 5 >> [x,fval] = fminbnd(f,0,2) x= 0.8165 fval = -6.0887 >>fplot(f,[0 2])

MATLAB第二章实验报告

MATLAB第二章实验报告

深 圳 大 学 实 验 报 告课程名称: MATLAB实验名称: MATLAB 的数值计算学 院:指导教师:报告人: 组号:学号 实验地点实验时间: 年 月 日提交时间:二、内容和步骤1.创建矩阵(1)直接输入(2)用from:step:to方式(3)用linspace函数:(4)使用特殊矩阵函数,并修改元素(5)获取子矩阵块:.练习:b=logspace(0,4*3.14,20)b =1.0e+12 *1 至17 列0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0004 0.0018 0.0082 0.037718 至20 列0.1729 0.7924 3.63082.矩阵运算:(1)利用矩阵除法解线性方程组(2)利用矩阵的基本运算求解矩阵方程练习:(3)计算矩阵的特征值和特征向量。

验证特征值和特征向量与该矩阵的关系练习:将矩阵的乘除运算改为数组的点乘和点除运算:(4)利用数学函数进行矩阵运算w=logspace(-2,1,10)w =0.0100 0.0215 0.0464 0.1000 0.2154 0.4642 1.0000 2.1544 4.6416 10.0000LW=-20*log10(sqrt((2*w).^2 + 1))LW =-0.0017 -0.0081 -0.0373 -0.1703 -0.7396 -2.6993 -6.9897 -12.9151 -19.4040 -26.0314FW=-atan(2*w)*180/piFW =-1.1458 -2.4673 -5.3037 -11.3099 -23.3106 -42.8711 -63.4349 -76.9341 -83.8517 -87.13763.生成多维数组:c(18)=[]c =1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8练习:使用数组c编辑窗口查看变量a,b和c。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

12 14 22 24
例 利用冒号表达式获得子矩阵 A(:,q):矩阵A第q列全部元素构成的子矩阵 :矩阵 第 列全部元素构成的子矩阵 A(p,:):矩阵A第p行的全部元素成的子矩阵; :矩阵 第 行的全部元素成的子矩阵 行的全部元素成的子矩阵; A(p:p+k,:):矩阵 第 p~ p+k行的全部元素成 : 矩阵A第 ~ 行的全部元素成 的子矩阵; 的子矩阵; A(:,q:q+k): 矩阵 第 q~ q+k列的全部元素成 : 矩阵A第 ~ 列的全部元素成 的子矩阵; 的子矩阵; A(p:p+k,q:q+m): 矩阵 第 p~ p+k行内 , 并 : 矩阵A第 ~ 行内, 行内 在第q~ 列中的所有元素成的子矩阵。 在第 ~q+m列中的所有元素成的子矩阵。 列中的所有元素成的子矩阵
例. 设f(x)=3x5-5x4+2x3-7x2+5x+6, g(x)=3x2+5x-3,求f(x)-g(x)与f(x)/g(x)。 , 与 。 命令窗口, 解:在MATLAB命令窗口,输入并运行命令: 命令窗口 输入并运行命令: f=[3,-5,2,-7,5,6];g=[3,5,-3]; P=conv(f,g), [Q,r]=deconv(f,g) 所得结果为 P= 9 0 -28 4 -26 64 15 -18
指数函数与对数函数 exp:指数函数 :
格式: 格式:B=exp(A) 返回值B为与 同维数的矩阵, 如果A=(aij), 为与A同维数的矩阵 返回值 为与 同维数的矩阵 , 如果 , 则B=exp(A)=(eaij)
log:自然对数 : log10:常用对数 : log2:以2为底的对数 : 为底的对数 sqrt:平方根函数 :
求矩阵A=[1,2,3;4,5,6;7,8,9]的特征值和特 例. 求矩阵 的特征值和特 征向量。 征向量。 E= 键入并运行如下命令: 解:键入并运行如下命令: 16.1168 A=[1,2,3;4,5,6;7,8,9]; -1.1168 E=eig(A),[V,D]=eig(A) -0.0000 所得结果为 V= D= -0.2320 -0.7858 0.4082 16.1168 0 -0.5253 -0.0868 -0.8165 0 -1.1168 -0.8187 0.6123 0.4082 0 0 0 0 0
2.2 多项式及其运算
多项式的表达方法 多项式运算
多项式的表达方法
(1) 多项式系数行向量的直接输入 多项式 a0xn+ a1xn-1+…+ an-1x+ an可用其系 数行向量表示, 数行向量表示,即[a0 a1 … an-1 an] 注意:通过命令 可以把多项式的向 注意:通过命令poly2str可以把多项式的向 量表示转化成多项式的字符串表示 例:aa=[1,2,3,4]; p=poly2str(aa,'s') 运行结果为 p = s^3 + 2 s^2 + 3 s + 4
运行如下MATLAB命令: 命令: 例. 运行如下 命令 A=[1 2 3;4 5 6;7 8 9] B1=flipud(A), B2=fliplr(A), B3=diag(A), B4=diag(diag(A)), B5=trace(A) 所得结果为 A= 1 2 3 4 5 6 7 8 9 B1 = 7 8 9 4 5 6 1 2 3 B2 = 3 2 1 6 5 4 9 8 7 B5 = 15 B3= B4 = 1 5 9 1 0 0 0 5 0 0 0 9
矩阵特征及操作函数
1. 矩阵大小 size 格式1: 返回值x是由矩阵 是由矩阵A的行数 格式 :x=size(A) 返回值 是由矩阵 的行数 和列数构成的1× 矩阵 维行向量) 矩阵(2维行向量 和列数构成的 ×2矩阵 维行向量 格式2: 返回值x是矩阵 是矩阵A的行数 格式 :x=size(A,1) 返回值 是矩阵 的行数 格式3: 返回值x是矩阵 是矩阵A的列数 格式 :x=size(A,2) 返回值 是矩阵 的列数 length 格式: 返回值x是矩阵 是矩阵A的行数和 格式:x=length(A) 返回值 是矩阵 的行数和 列数中较大的数
取整和求余函数 fix:向0方向取整 : 方向取整 floor:向-∞方向取整 : 方向取整 ceil:向+∞方向取整 : 方向取整 round:四舍五入取整 : rem:无符号求余函数 : rem(x, y) = x – y.*fix(x./y) sign:符号函数 :
绝对值函数 abs(A) A 是复数矩阵,返回值为矩阵 的每个 是复数矩阵,返回值为矩阵A 元素的模构成的与A 同维数的矩阵。 元素的模构成的与 同维数的矩阵。特 别当A 是实数矩阵时,返回值为矩阵A 别当 是实数矩阵时,返回值为矩阵 的每个元素的绝对值构成的与A 的每个元素的绝对值构成的与 同维数 的矩阵。 的矩阵。
矩阵的基本函数运算 常用数学函数 矩阵特征及操作函数 矩阵函数
常用数学函数
三角函数 指数函数与对数函数 取整和求余函数 绝对值函数 注意: 注意:常用数学函数的自变量均是数组
三角函数
sin:正弦函数 : 格式: 格式:B=sin(A) 返回值B为与 同维数的矩阵, 其元素是A中 为与A同维数的矩阵 返回值 为与 同维数的矩阵 , 其元素是 中 对应元素的正弦值。即如果A=(aij),则 对应元素的正弦值。即如果 , sin(A)=(sinaij) sinh:双曲正弦函数 : asin:反正弦函数 : asinh:反双曲正弦函数 : cos,tan,cot,sec,csc , , , ,
2. 矩阵的翻转和对角元素操作 flipud(A):矩阵A上下翻转 :矩阵 上下翻转 fliplr (A) :矩阵 左右翻转 矩阵A左右翻转 diag (A) :A为方阵,返回值为矩阵A的对 为方阵,返回值为矩阵 的对 为方阵 角元素构成的列向量 diag (v) : v是向量,返回值为以向量 的元 是向量, 是向量 返回值为以向量v的元 素为对角元素的对角矩阵 trace(A):矩阵A的迹 对角元素之和 :矩阵 的迹 对角元素之和) 的迹(对角元素之和
多项式运算
多项式乘法命令conv 多项式乘法命令 格式: 格式:conv(a,b) a, b分别是两个多项式的系数向量 , 返回值 分别是两个多项式的系数向量, , 分别是两个多项式的系数向量 是乘积多项式的系数向量 多项式除法命令deconv 多项式除法命令 格式: 格式:[q,r]=deconv(a,b) a,b分别是两个多项式的系数向量,返回值 分别是两个多项式的系数向量, , 分别是两个多项式的系数向量 返回值q 分别是多项式a除以多项式 和r分别是多项式 除以多项式 得到的商多项 分别是多项式 除以多项式b得到的商多项 式和余多项式的系数向量
运行如下MATLAB命令: 命令: 例. 运行如下 命令 A=[1:5;6:10;11:15;16:20;21:25;26:30] u=[2,3,5];v=[2,4]; B=A(uห้องสมุดไป่ตู้v) 所得结果为 A= 1 6 11 16 21 26 2 7 12 12 17 22 27 3 8 13 18 23 28 4 9 14 14 19 24 29 5 10 15 20 25 30 B= 7 9
2. 子矩阵 格式: 格式:A (u,v) u,v都是向量或冒号表达式,返回值为矩阵 , 都是向量或冒号表达式 都是向量或冒号表达式, A的由 确定的行和由 确定的列所有元素构 的由u确定的行和由 的由 确定的行和由v确定的列所有元素构 成的矩阵。 成的矩阵。 例如u=[2,3,5],v=[2,4],则A(u,v)表示矩阵 的 则 表示矩阵A的 例如 表示矩阵 行中第2,4列构成的 矩阵。 第2,3,5行中第 列构成的 ×2矩阵。 行中第 列构成的3× 矩阵
s −1 −3
−2 s−4
=0
即 s2-5s-2=0
② 利用向量生成多项式 格式: 格式:P=poly(v) 其中v是一个 维向量 返回值P为 其中 是一个n维向量,返回值 为n+1维行向 是一个 维向量, 维行向 的元素是以向量v的元素为根且最高次 量,P的元素是以向量 的元素为根且最高次 的元素是以向量 项系数为1的多项式 按降幂排列)的系数 的多项式(按降幂排列 项系数为 的多项式 按降幂排列 的系数 例:v=[1,2,3,4]; S=poly(v) 运行结果为: 运行结果为: S = 1 -10 35 -50 24
第二章 MATLAB 数值计算 2.1 矩阵及其运算 2.2 多项式及其运算 2.3 数据分析
2.1 矩阵及其运算 矩阵的基本数学运算 矩阵的数组运算 矩阵的基本函数运算 矩阵的一些特殊操作
矩阵的基本数学运算
矩阵的基本数学运算包括矩阵与矩阵(或矩阵 矩阵的基本数学运算包括矩阵与矩阵 或矩阵 与常数)的下列运算 的下列运算(A=(aij), B=(bij)) 与常数 的下列运算 加(+)、减(-): (aij)± (bij)= (aij ± bij) 、 ± 乘(*): (aij)* (bij)= (Σkaik*bkj) Σ 幂(^): A^n=A*…*A 左除(\): A\B=A-1*B 左除 右除(/): A/B=A*B-1 右除 转置(') 转置
矩阵的数组运算
在解决实际问题时经常会用到两个同维数矩 阵对应元素之间的运算, 阵对应元素之间的运算,这种运算称为矩阵 的数组运算,其运算符号如下: 的数组运算,其运算符号如下: ):(a 乘(.*): ij).* (bij)= (aij*bij) ): ):(a 幂(.^): ij).^n= (aij^n) ): (aij).^(bij)= (aij^bij) 左除( ) 左除(.\) :(aij).\(bij)= (aij\bij) 右除( ) 右除(./) :(aij)./(bij)= (aij/bij)
相关文档
最新文档