第2章-matlab数值计算功能
matlab2_matlab教程

x1+2x2+3x3=1 2x1+3x2+4x3=2 a=[1 2 3;2 3 4];b=[1;2]; x=a\b x= 1.00 0 x=
x1 1 2 3 1 x2 = 2 3 4 2 x3
a
x = b
x=pinv(a)b
0.83 0.33
0
-0.17
六、微分方程求解
微分方程求解的仿真算法有多种,常用 的有Euler(欧拉法)、Runge Kutta(龙 格-库塔法。 Euler法称一步法,用于一阶微分方程
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];
a*b ans = 25 55 85
37 85 133
二、数据的保存与获取
把matlab工作空间中一些有用的数 据长久保存下来的方法是生成mat数 据文件。 save —— 将工作空间中所有的变 量存到matlab.mat文件中。 默认文件名
save data——将工作空间中所
有的变量存到data.mat文件中。
save data a b ——将工作空间 中a和b变量存到data.mat文件中。
rand —— 随机矩阵
eye —— 单位矩阵
zeros ——全部元素都为0的矩阵
ones ——全部元素都为1的矩阵
还有伴随矩阵、稀疏矩阵、魔方 矩阵、对角矩阵、范德蒙等矩阵的创 建,就不一一介绍了。
注意:matlab严格区分大小写字母,因
此a与A是两个不同的变量。 matlab函数名必须小写。
第2章 MATLAB数据及其运算

③也可以采用矩阵元素的序号来引用矩阵元素。矩 阵元素按列编号,先第一列,再第二列,依次类 推。 显然,下标(subscrip)与序号(index)是一一对 应的。以m×n矩阵A为例,矩阵元素A(i,j)的序 号为 (j-1)*m+i。其相互转换关系也可利用 sub2ind和ind2sub函数求得 sub2ind(size(A),2,3) %已知行列,求序号 [c,d]=ind2sub(size(A),6) %已知序号,求行 列 还可利用reshape(A,m,n)在矩阵总元素不变的前 提下,将矩阵重排
2、赋值语句
(1) 变量=表达式 (2) 表达式 一般地,运算结果在命令窗口中显示出来。如果在语句的最 后加分号,那么,MATLAB仅仅执行赋值操作,不再显示运 算的结果。 在MATLAB语句后面可以加上注释,注释以%开头,后面 是注释的内容。 例2.1 计算表达式的值,并将结果赋给变量x,然后显示 出结果。 在MATLAB命令窗口输入命令:
linspace(a,b,n)与a:(b-a)/(n-1):b等价。
logspace函数生成从10a到10b之间按对数等分的 n个元素的行向量,n如果省略则默认值为50。
21
2.3.3 矩阵的拆分
1. 矩阵元素
①MATLAB允许用户对一个矩阵的单个元素进行赋 值和操作。例如: A=ones(4);A(3,2)=200 只改变该元素的值,而不影响其他元素的值。 ② 如果给出的行下标或列下标大于原来矩阵的行数 和列数,则MATLAB将自动扩展原来的矩阵,并将 扩展后未赋值得矩阵元素置为0。例如: A(5,6)=10
10
2.2.3 数据的输出格式
MATLAB用十进制数表示一个常数,具体可 采用日常记数法和科学记数法两种表示方法。 在命令窗口中,默认情况下当数值为整数时, 数值计算的结果以整数显示;当数值为实数 时,以小数点后四位的精度近似显示,即以 短(short)格式显示;如果数值超过这一范 围,则以科学计数法显示结果。
MATLAB语言简介

Help Window命令:打开MATLAB旳帮助窗口。
Help Tips命令: 打开帮助窗口,并首先显示MATLAB
旳帮助系统旳分类和使用措施。
Help Desk(HTML)命令: 打开系统WWW浏览器,并显示
MATLAB旳帮助桌面。
Examples and Demos命令:能够经过演示MATLAB提供旳
Clf 清理图形窗口
Load 加载指定文件旳变量
Pack 搜集内存碎片
Diary 日志文件命令
Clc 清理工作窗口
Quit 退出
Echo 工作窗信息显示开关 !
调用DOS命令
2.1.6 MATLAB常用旳命令和技巧 2.某些常用操作技巧
利用键盘按键,可实现简易操作:
home 光标置于目前行开头 end 光标置于目前行末尾 esc 清除目前输入行 del 删除光标处旳字符
Edit菜单项:
Undo、Cut、Copy、Paste命令:分别用于撤消上一次操
作、剪切、复制和粘贴。
Clear命令:
删除内容。
Select All命令:
用于选定全部文本内容。
Clear Session命令:
清除命令编辑区旳全部内
容,但并不删除工作空间
中旳变量。
2.1.4 MATLAB旳桌面平台
Help菜单项:
3. 图形功能
MATLAB提供了两个层次旳图形命令:一种是对图形句 柄进行旳低档图形命令,另一种是建立在低档图形命令之上 旳高级图形命令。利用MATLAB旳高级图形命令能够轻而易 举地绘制二维、三维乃至四维图形,并可进行图形和坐标旳 标识、视角和光照设计、色彩精细控制等等。
2.1.1 MATLAB特点
Open命令:
MATLAB数值计算功能

MATLAB数值计算功能下面将详细介绍MATLAB数值计算功能的一些主要方面:1. 矩阵运算和线性代数:MATLAB具有强大的矩阵操作功能,可以直接对矩阵进行加减乘除、求逆矩阵、求特征值等运算。
MATLAB中的线性方程组求解函数(如`linsolve`和`inv`)可以更轻松地解决各种线性代数问题。
2. 数值积分和微分:MATLAB提供了多种数值积分和微分函数,用于求解一元和多元函数的定积分、不定积分、数值微分和数值求导。
例如,可以使用`integral`函数计算函数的定积分,并使用`diff`函数计算函数的导数或`gradient`函数计算梯度。
3. 方程求解:MATLAB提供了一系列函数,用于解决非线性方程和代数方程组。
这些函数包括`fsolve`(用于求解非线性方程),`roots`(用于求解多项式方程的根)和`solve`(用于求解代数方程组)等。
4. 曲线拟合和数据拟合:MATLAB提供了多个函数用于曲线拟合和数据拟合,包括`polyfit`(多项式拟合),`lsqcurvefit`(非线性最小二乘曲线拟合),`interp1`(一维插值)和`griddata`(多维数据插值)等。
这些函数可以帮助用户找到数据之间的模式和关系。
5. 常微分方程(ODE)求解:MATLAB提供了用于求解常微分方程组(ODE)的函数,既可以用传统的数值方法求解,也可以用符号计算求解。
用户可以使用`ode45`、`ode23`或`ode15s`等函数来求解初值问题或边界值问题。
6. 线性最小二乘拟合:MATLAB中的`lsqnonlin`函数可以用于线性最小二乘问题的求解,包括曲线拟合、数据拟合、参数估计等。
用户可以使用该函数来找到使得拟合曲线和观测数据之间残差最小的参数。
7. 数值优化:MATLAB包含一系列优化函数,可以求解常规优化问题、无约束优化问题、约束优化问题等。
用户可以使用函数`fminsearch`、`fminunc`和`fmincon`等来找到函数的最小值或最大值。
MATLAB数值计算功能

MATLAB数值计算功能
MATLAB是一种非常强大的数值计算软件,被广泛应用于科学计算、
工程计算和数据分析等领域。
它提供了丰富的数值计算功能,包括基本的
数学运算、线性代数、数值积分、微分方程求解、优化算法等。
下面将详
细介绍一些常见的数值计算功能。
1.数学运算:
MATLAB提供了丰富的数学函数,可以进行各种基本的算术运算,如
加减乘除、幂运算、取模运算等。
同时,它还提供了一些高级的数学函数,如三角函数、指数函数、对数函数等。
通过这些函数,用户可以进行各种
复杂的数学运算。
2.线性代数:
3.数值积分:
4.微分方程求解:
5.优化算法:
MATLAB提供了各种优化算法,如线性规划、非线性规划、整数规划、二次规划等。
用户可以通过设定目标函数和约束条件,利用MATLAB的优
化函数寻找最佳的解。
这对于优化问题的求解非常有用,如工程设计、生
产调度等。
6.统计分析:
7.数据可视化:
总之,MATLAB的数值计算功能非常丰富,可以满足各种数学计算和数据分析的需求。
它不仅提供了各种基本的数学运算功能,还提供了高级的线性代数、数值积分、微分方程求解、优化算法和统计分析等功能。
同时,其强大的数据可视化功能也是很多用户选择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]创建多项式。
现代数值计算方法(MATLAB版)第2章(2)

福建师范大学
数计学院
if k==N, Warning(’ disp([’k=’,num2str(k)]) 2.1 Jacobi 0.76 −0.01 −0.01 0.88 −0.14 −0.03 −0.16 0.06
’); end
−0.14 −0.03 1.01 −0.12
:
福建师范大学
数计学院
11/12
1 2 − λ = 0, 4 3
−1 1/2
Back Close
λ1 = 0, λ2 = −
11 , λ3 = 12 11 < 1, 12
11 . 12
福建师范大学
数计学院
ρ(BJ ) = .
12/12
Back Close
Back Close
>> x=majacobi(A,b)
福建师范大学
k= 13 x = 1.27616261026619 1.29806392739565 0.48904201392258 1.30273287985933 §2.1.2 Jacobi , .
数计学院
8/12
Back Close
2.6 Jacobi (1) (2) (3) BJ BJ
A = (A − D) + D, Ax = b Dx = (D − A)x + b,
Back Close
x = D−1(D − A)x + D−1b.
福建师范大学
数计学院
x(k+1) = D−1(D − A)x(k) + D−1b
(2.12)
4/12
x(k+1) = BJ x(k) + fJ , BJ = D−1(D − A) = I − D−1A, fJ = D−1b. (2.13) Jacobi Jacobi 2.1 (Jacobi 1 2 (2.11) x(0), (2.12) ) ε, x(k+1) N, , (2.13) BJ Jacobi
第二章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 , 分别为
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 乘方(^、.^)运算
① 矩阵乘方(^)运算 A^p
矩阵A必须是方阵,A和p不能同时为矩阵; 当p取整数时,该指令的运算结果可以做如下的理解:
当p>0时, A^p表示方阵A的直接自乘p次;
当p<0时, A^p表示方阵A的逆矩阵直接自乘p次; 当p=0时, A^p表示与方阵A同维的单位阵;
-4 -2 0 2 4 中所有绝对值大于3的元素 -3 -1 1 3 5
A=[-4,-2,0,2,4;-3,-1,1,3,5]; %创建矩阵A L=abs(A)>3 islogical(L) X=A(L)
L= 1 0 0 0 0 0 0 0 1 1
%建立矩阵L %判断L中是否有逻辑1 %指出A中绝对值大于3的元素
12
2.1.4 向量的生成
数组可以看成是行向量,即只有一行或一列的矩阵。前面介绍的所 有矩阵的建立和保存的方法,对向量同样适用 1.利用冒号“:”创建等差数列:
t=[初值:增量:终值]
其中 “增量”是可以省略的,省略时,默认的增量步长为1。增量也可 以是负值,但此时,初值应该大于终值。
例如:x=1:5; y=0:pi/4:2*pi; z=6:-1:0;
28
2.4 矩阵与数组运算
Matlab有两类运算指令:矩阵算术运算和数组算术运算。
矩阵运算是按照线性代数的运算法则定义的; 数组运算是按元素逐个执行的。
2.4.1 矩阵与数组的算术运算
1. 矩阵加、减(+,-)运算
相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。
A+B,A-B, A、B必须同维
如果用户给永久变量赋值,原始默认值丢失,直至清除变量 或重启Matlab
3
2.1.2、 MATLAB 的语句
1.百分号(注释符)%
与其它程序语言一样,为了方便其他人及日后自己对程序的阅读,
增加程序的可读性,需要在MATLAB文件中加入注释。注释行必须 以%号开始,执行文件时,%号后面的语句不予执行。
X= -4
4
5
16
2.1.6 复数表示
1.将其元素逐个赋予复数 如 z=[1+2i,3+4i;5+6i,7+8i] 2.将其实部和虚部矩阵分别赋值 如z=[1,3;5,7]+[2,4;6,8]*i (*号不能省略) 若在前面程序中曾经给i或j赋过值,则i或j就不再是虚数单位, 此时应把赋值的i或j清除再执行虚数赋值语句。
13
2.利用函数linspace和logspace创建向量: linspace 函数,创建指定长度的等距向量
t=linspace(初值d1,终值d2,点数n)
在线性空间上,行矢量的值从d1到d2,数据个数n,缺省时n为100。
例:k=linspace(-pi,pi,4)
logspace 函数,创建对数等距的向量
当想个给某一个变量赋值时,为了避免与已存在的变量同名, 就要用exist查询当前的工作空间内是否存在该变量。调用格 式:x=exist(‗A‘)
21
例
>>a=[1 2 3;4 5 6];b=[2 5]+[8 9]*i;c=23.5; >>who Your variables are: a b c >>whos Name Size Bytes Class a 2x3 48 double array b 1x2 32 double array (complex) c 1x1 8 double array Grand total is 9 elements using 88 bytes
29
2. 乘(、. )运算
① 矩阵乘()运算A*B
A矩阵的列数必须等于B矩阵的行数
标量可与任何矩阵相乘。 ② 数组乘(.)运算A.*B A,B维数相同,相应元素相乘。
Am×n*Bn×p
c*Bn×p
>>A=[1 2 3;4 5 6;7 8 9]; >>B=[2 4 6;1 3 5;7 9 10]; >>A.*B
2.逗号和分号
在赋值语句中,逗号(空格)用在同一行中各元素之间,分
号用在行与行之间。多条语句放在一行,用逗号分开表示要求显
示结行标志(…)
当一条语句或矩阵太长,一行不能显示时,可用续行标志 … , 另起一行继续完成该条语句的书写。
4.中断键
在命令的执行过程中,可以随时按下CTRL+C键中断MATLAB的 运行。
8
3、从外部数据文件调入矩阵:
load
从磁盘读入.mat文件,或读入排列成矩阵的.txt文件 例如:目录C:\Program Files\MATLAB\R2007b\work\matlab_training下有生物医学信号的文 本文件bio_signal.txt,在命令窗口输入:
load('C:\Program Files\MATLAB\R2007b\work\matlab_training\bio_signal.txt')
其他方法
fopen, fread, textscan, fscan, fclose
10
数据存储
save
save filename 把全部内存变量保存为filename.mat文件。 save filename a b c 把a、b、c三个变量保存在文件名为 filename.mat的文件中。 save filename a b c –append 把a、b、c三个变量添加到文件 名为filename.mat的文件中。
18
例
>>a=1;b=2;c=3; >>clear a,b;c c= 3 >>b b= 2 >>a ??? Undefined function or variable ‗a‘. ※用clear命令时,系统不会给出确认提示,一旦 删除将不能恢复。
19
练习
1.请指出如下5个变量名中,哪些是合法的? abcd-2 xyz_3 3chan a变量 ABCDefg 2.指令clear, clc各有什么用处? 3.创建一个6阶的魔方矩阵A 把第3行第4列的元素赋给B 把第2行、第4行的所有元素赋给C
y=logspace(d1,d2)
y=logspace(d1,d2,N)
从10的d1次幂到d2次幂之间按等比级数等分为N个点,N缺省时,默认为50。
14
2.1.5 矩阵的下标
创建了矩阵之后,若要调用矩阵里的元素,就要了解单个元素标志和 寻访的3种方式:
A=
1.―全下标”标志
―全下标”标志由行下标和列下标组成, 例如:A(3,5)标志矩阵A的第3行第5列元素。
第二章 MATLAB 的数值 计算功能
1
2.1
变量及其赋值
2.1.1变量
变量由变量名表示,变量的命名应遵循如下规则: 1.变量名必须以字母开头;由字母、数字和下划线混合组成;不允 许使用空格、标点符号; 2.变量名的字符长度不应超过31个(对于6.x版本); 3. MATLAB严格区分大小写字母,因此,A和a是不同的变量。
a^0.5
ans = 0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i
22
2.2.2 format 命令(数据格式)
format 用来控制 数据 显示格式。 format compact 数据显示紧凑格式 format loose 数据显示稀疏格式(系统默认) ※ format 命令只改变数字的显示格式,并不改变 数字的大小。
23
format 命令 只改变数字 的显示格式, 并不改变数 字的大小。
11
示例
clear; N=1000; x=rand(1,N); y=5; save rand_data x y; save rand_data_txt.txt clear
load(‗rand_data.mat‘); 间
%删除工作空间内的所有变量
%产生一个随机向量 % % 把x y存入文件rand_data.mat中 x -ascii %删除工作空间内的所有变量 % 把文件rand_data.mat中的变量载入工作空
1 2 3 4 5 6 7 8 9
7
2、由函数创建矩阵:
几种特殊矩阵的产生
zeros(m,n) 元素全为零的mn阶矩阵
ones(m,n) 元素全为 1 的mn矩阵 rand(m,n) 元素为在[0,1]上均匀分布的mn随机矩阵 randn(m,n) 元素为正态分布的mn随机矩阵 eye(n) 单位矩阵, nn阶的方阵 magic(n) 魔方矩阵,其特点是元素由1到n2的自然数组成,每行、每列及两 对角线上的元素之和均等于(n3+n)/2
0.9501 0.4860 0.4565 0.2311 0.8913 0.0185 0.6068 0.7621 0.8214
2.―单下标”标志
按列计数,表示下标 A(3,:) A(:) %矩阵A的第三行 %把矩阵A转换成列向量,
0.0185 >> A(8)
ans =
15
3. 逻辑矩阵
例 找出数组A=
Sin是变量名,而sin是正弦函数名
4.关键字(如 if,while 等)不能作为变量名。
2
永久变量
•pi — 圆周率的近似值3.1415926 • inf或Inf — 表示正无穷大,定义为1/0 • NaN — 非数,它产生于0× ,0/0,/ 等运算 • i,j — 虚数单位 • ans — 对于未赋值运算结果,自动赋给ans