第四章MATLAB线性代数
MATLAB中的线性代数运算方法详述
MATLAB中的线性代数运算方法详述导言:线性代数是数学中的一个重要分支,它研究向量空间及其线性变换、线性方程组和矩阵等概念。
在科学计算与工程实践中,线性代数的应用十分广泛。
MATLAB作为一种强大的数值计算软件,提供了丰富的线性代数运算方法,能够帮助用户高效地解决各种与矩阵、向量相关的问题。
本文将详细介绍MATLAB中常用的线性代数运算方法,并且从算法原理到具体函数的使用进行详细说明。
一、矩阵运算在MATLAB中,矩阵是一种重要的数据类型,它可以表示线性系统、图像等多种实际问题。
矩阵的加法和乘法是线性代数运算中最基本的运算,MATLAB提供了相应的函数来进行矩阵的加法和乘法运算。
1.1 矩阵加法MATLAB中的矩阵加法使用“+”操作符进行操作,可以直接对两个矩阵进行加法运算。
例如,给定两个矩阵A和B,可以使用"A + B"来进行矩阵加法运算。
1.2 矩阵乘法MATLAB中的矩阵乘法使用"*"操作符进行操作,可以直接对两个矩阵进行乘法运算。
需要注意的是,矩阵相乘的维度要满足匹配规则,即乘法前一个矩阵的列数要等于后一个矩阵的行数。
例如,给定两个矩阵A和B,可以使用"A * B"来进行矩阵乘法运算。
二、向量运算向量是线性代数中常用的数据结构,它可以表示方向和大小。
在MATLAB中,向量是一种特殊的矩阵,可以使用矩阵运算中的方法进行计算。
2.1 向量点乘向量的点乘是指两个向量对应位置上元素的乘积之和。
MATLAB中可以使用“.*”操作符进行向量的点乘运算。
例如,给定两个向量A和B,可以使用"A .* B"来进行向量点乘运算。
2.2 向量叉乘向量的叉乘是指两个三维向量的运算结果,它得到一个新的向量,该向量与两个原始向量都垂直。
MATLAB中可以使用叉乘函数cross()进行向量的叉乘运算。
例如,给定两个向量A和B,可以使用"cross(A, B)"来进行向量叉乘运算。
MATLAB-第4章
v
i 1
n
2 i
。
max { vi } 。
1 ≤i ≤n
设 A 是一个 m ×n 的矩阵,矩阵的 3 种常用范数如下。 1-范数: A 1 max { aij } 。
1 ≤ j ≤n i 1 m
2-范数: A 2 1 ,其中 λ 1 为 A'A 最大特征值。 ∞-范数: A max { aij } 。
【例4.6】先建立5 × 5矩阵A,然后将A的第一行元素乘以1, 第二行乘以2,…,第五行乘以5。 用一个对角矩阵左乘一个矩阵时,相当于用对角阵的第一个 元素乘以该矩阵的第一行,用对角阵的第二个元素乘以该 矩阵的第二行……依此类推,因此,只需按要求构造一个 对角矩阵D,并用D左乘A即可。命令如下: A=[1:5;2:6;3:7;4:8;5:9] D=diag(1:5); D*A %用D左乘A,对A的每行乘以一个指定常数
(2)构造对角矩阵 设V为具有m个元素的向量,diag(V,k)的功能是产生一个 n × n(n = m + k|)对角阵,其第k条对角线的元素即为 向量V的元素。 例如: diag(1:3,-1) ans = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 省略k时,相当于k为0,其主对角线元素即为向量V的元素。
2.矩阵的秩与迹 (1)矩阵的秩 rank(A) (2)矩阵的迹 矩阵的迹即矩阵的对角线元素之和。 trace(A)。
3.向量和矩阵的范数
设向量 V = (v1 ,v2 ,…,vn ),向量的 3 种常用范数如下。 1-范数: V 2-范数: V ? -范数: V
1
vi 。
i 1
n
2
3.矩阵的转置 所谓转置,即把源矩阵的第一行变成目标矩阵第一列,第二 行变成第二列……依此类推。显然,一个m行n列的矩阵 经过转置运算后,变成一个n行m列的矩阵。MATLAB中, 转置运算符是单撇号(')。
Matlab学习指导第四章 数值计算
2x1-x2-x3=4
3x1+4x2-2x3=11 3x1-2x2+4x3=11
A=[ 2,-1,-1 ; 3,4,-2; 3,-2,4 ]; b=[4; 11; 11]; det(A), rank(A), rank([A,b]) x=A\b
方程组的解的三种情况:
对于方程Ax=b, A为Am×n矩阵,有三种情况: 当m=n时,此方程成为"恰定"方程,求解精确解 当m>n时,此方程成为“超定”方程,寻求最小二乘解 (直线拟
合)
1) 恰定方程组的解
当m<n时,此方程成为"欠定"方程,寻求基本解 matlab定义的除运算可以很方便地解上述三种方程 x = 方程组Ax=b (A非奇异),解为x=A\b 例4.2.1-2 求下列方程组的解 3.00 1.00 1.00
通俗地讲, 拟合就是由已知点得到一条曲线, 使该曲线 最能反映点所代表的规律.比如做欧姆定理的实验的时 候,由于实验中存在误差,最后拟合得到的曲线是一条 直线,而且肯定只有部分点落在拟合的直线上,但此时 该直线和测试点的方差最小.由拟合直线的斜率就可以 知道电阻的阻值.拟合是探测事物变化规律的办法. 插值就是根据函数上某些已知点(或实验数据),按一定 规律(插值方法)寻求未知的点,比如已知一个常用对数 y=log(x)表,是按照x=0.1:0.1:10制表的,如果按已知数 据求y=log(2.897)就可以用插值得到.表制得越密,插值 越准确.
16
对于方程组Ax=b, 采用x=A\b计算,如果方程组为yC=d, 要使用右除,即指令为y=d/C
Ax=bx'A'=b'yC=d x=A\bx'=b'/A'y=d/C 例4.2.1-1 解下列方程组 2x1+2x2+3x3=3
MATLAB基础 4线性代数
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
27
4.2.1.2 矩阵的迹
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
28
4.2.1.3 矩阵的秩
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
29
【例4-9】
高等应用数学问题的 MATLAB 求解
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
24
4.2.1 矩阵基本概念与性质
4.2.1.1 行列式
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
25
【例4-7】
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
26
【例4-8】
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
2
4.1 特殊矩阵的输入
数值矩阵的输入 符号矩阵的输入
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
3
4.1.1 数值矩阵的输入
4.1.1.1 零矩阵、幺矩阵及单位矩阵
高等应用数学问题的 MATLAB 求解
44
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
45
【例4-13】
高等应用数学问题的 MATLAB 求解
2019/9/3
东北大学信息学院
46
4.2.1.7符号多项式与数值多项式的转换
matlab第四章矩阵与方程组
n=4
(10)size:返回指定矩阵的行数和列数。
[m,n]=size(M)
m= 4 n= 4
(11)eye:生成指定行列数的单位矩阵。
e=eye(size(M))
e= 1 0 0 0
0100
0010
0001
(12)hilb:生成以1/i+j-1为元素的实对称矩阵。
h4=hilb(4) h4 = 1.0000 0.5000 0.3333 0.2500 0.5000 0.3333 0.2500 0.2000 0.3333 0.2500 0.2000 0.1667 0.2500 0.2000 0.1667 0.1429
(1)zeros:生成元素全部为0的矩阵。
B=zeros(3,4) B = 0 0 0 0
0000
0000
(2)ones:生成元素全部为1的矩阵。
C=ones(2,5)
C= 1 1 1 1 1
11111
(3)rand:生成均匀分布随机元素矩阵。
D=rand(3,5)
D = 0.9501 0.4860 0.4565 0.4447 0.9218
A-1 =inv(A) , A/B=A*inv(B) , A\B=inv(A)*B
inv(A1)
ans = -1.7778 0.8889 -0.1111
1.5556 -0.7778 0.2222
-0.1111 0.2222 -0.1111
inv(A3)
ans =[ -1/3*(5*c-48)/(c-9), 2/3*(c-12)/(c-9),
三、矩阵取块
A(i,:)
提取A的第i行
A(:,j)
提取A的第j行
A(:,j:k)
MATLAB(第四章和第八章)
第四章 线性代数问题的计算机求解一、实验内容:题目1.Jordan 矩阵是矩阵分析中一类很实用的矩阵,其一般形式为J= ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--ααα 000010001-,例如J1= ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-----5000015000015000015000015 试利用diag()函数给出构造J1的语句。
【分析】该题为对角矩阵的问题。
对J 要利用diag()能够构造对角矩阵和次对角矩阵的性质。
J1只需对角矩阵和次对角矩阵相加即可。
这里需要对diag()函数的调用。
如A=diag(V)---已知向量生成对角矩阵,A=diag(V,k)—生成主对角线上第k 条对角线为V 的矩阵(其中k 可为正负)【解答】:输入如下语句:>>J1=diag([-5 -5 -5 -5 -5])+diag([1 1 1 1],1) 按ENTER 键,显示如下: J1=-5 1 0 0 0 0 -5 1 0 0 0 0 -5 1 0 0 0 0 -5 1 0 0 0 0 -5题目5.试求出Vandermonde 矩阵A=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡11111234234234234234ee e e d d d d c c c c b b b ba a a a ,的行列式,并以最简的形式显示结果。
【求解】该问题有两个知识点。
一个构造是Vandermonde 矩阵,另一个是求矩阵的行列式。
前者可以利用书中编写的面向符号矩阵的vander()函数构造出Vandermonde 矩阵。
需要用到V=vander(C)来调用。
后者可以用MATLAB 的det()函数来求解,他会自动采用解析解法求出其行列式的值。
需要注意运用det()的前提是符号矩阵,本题中A 已是符号矩阵,所以不用转换。
最后,用simple()函数简化一下即可。
【解答】:(1)构造矩阵:输入如下语句:>>syms a b c d e; A=vander([a b c d e])按ENTER 键,显示如下: A=[ a^4, a^3, a^2, a, 1] [ b^4, b^3, b^2, b, 1] [ c^4, c^3, c^2, c, 1] [ d^4, d^3, d^2, d, 1] [ e^4, e^3, e^2, e, 1](2)以最简单的形式输出行列式: 输入如下语句:>>det(A),simple(ans) 按ENTER 键,显示如下: ans=(c-d)*(b-d)*(b-c)*(a-d)*(a-c)*(a-b)*(-d+e)*(e-c)*(e-b)*(e-a)15. 试求出线性代数方程组X ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡6246551223177967=⎥⎦⎤⎢⎣⎡21301012,并验证解的正确性 【分析】:该题为线性方程的计算机求解问题。
Matlab第四章详细讲解
v11 v21 V = v12 v22
λ 1 v11 A .v1 = λ 1 v1 = λ 1 v12
λ 2 v 21 A.v 2 = λ 2 v 2 = λ 2 v 22
A .v1
A .v 2
a11 a12 v11 v21 a11v11 + a12v12 a11v21 + a12v22 A*V = v v = a v + a v a v + a v a21 a22 12 22 21 11 22 12 21 21 22 22
2 − at
f ( t ) = (sin
t )e
−b=fzero(fun ,x0 ,option,p1,p2)
%(1)使用字符串表示被处理函数 P1=0.1;P2=0.5;
%按泛函指令要求,这里参数必须用P1,P2表示
y_C='sin(x).^2.*exp(-P1*x)-P2*abs(x)';
1、求函数的零点 (1)字符串表达式 q=quad(fun,a,b) 2、数值积分 (2)内联函数 3、解微分方程 q=quadl(fun,a,b) (3)“M函数文件”的函数句柄
[t,y]=ode45(fun ,tspan,y0)
4.3.1 求函数的零点
例:求以下函数的零点。
零点初始 猜测值
向函数fun传 递的参数
4.4 多项式和卷积
4、多项式的根
功能:计算多 项式P的根。
R=roots(P)
p1 x + p2 x
n
n −1
+ ... + pn x + p
-27 ];
Matlab中的线性代数计算技巧指南
Matlab中的线性代数计算技巧指南线性代数是数学中一门重要的学科,它在许多领域中都有着广泛的应用,包括工程、科学和金融等。
而Matlab是一种功能强大的数值计算软件,其中包含了许多用于线性代数计算的工具和函数。
本文将为读者介绍一些在Matlab中进行线性代数计算时常用的技巧和方法。
1. 矩阵的创建与操作在Matlab中,我们可以使用矩阵来表示向量、矩阵和张量等对象。
创建一个矩阵可以使用以下命令:```matlabA = [1 2 3; 4 5 6; 7 8 9];```这样就创建了一个3×3的矩阵A,其中的分号用于分隔行。
我们也可以使用函数来创建特殊的矩阵,比如单位矩阵、零矩阵等:```matlabeye(3); % 创建3×3的单位矩阵zeros(2, 3); % 创建2×3的零矩阵```对于矩阵的操作,Matlab提供了许多常用的函数,比如矩阵的转置、矩阵的相乘等:```matlabA'; % 矩阵的转置A*B; % 矩阵的乘法```2. 矩阵的求逆与解线性方程组在线性代数中,求逆矩阵和解线性方程组是两个常见的问题。
在Matlab中,可以使用`inv`函数来求逆矩阵:```matlabinv(A); % 求矩阵A的逆矩阵```如果要解一个线性方程组,我们可以使用线性方程组求解器`linsolve`函数:```matlabX = linsolve(A, B); % 解线性方程组AX=B```其中,A是系数矩阵,B是常数向量。
这样,X就是线性方程组的解向量。
3. 特征值和特征向量特征值和特征向量在线性代数中有着重要的意义,它们在许多应用中扮演着重要的角色。
在Matlab中,我们可以使用`eig`函数来计算矩阵的特征值和特征向量:```matlab[V, D] = eig(A); % 计算矩阵A的特征向量和特征值```其中,V是包含特征向量的矩阵,D是包含特征值的对角矩阵。
《基于MATLAB的线性代数实用教程》第四章:图像和声音
1
1.5
2
2.5
3
3.5
4
4.5
5
此外, MATLAB提供函数fplot,用于解析表达式绘图。
>> fplot('sin(x)/x',[-3*pi,3*pi]) %画出函数y=sin(x)/x变量x从-3π到3π的图像 >> title('抽样函数y=sin(x)/x') %添加标题:抽样函数y=sin(x)/x >> xlabel('时间t') %添加x轴标签:时间t >> ylabel('抽样信号sin(t)/t') %添加y轴标签:抽样信号sin(t)/t'
在图形窗口的最左边,有进行添加的属性卡。例如,我们在图中添加 文本框,只需要在相应属性卡中选择Text Box一项,在图中就会出现一个 文本框,双击这个文本框,就可以在此文本框中加入文字,类似的,还可 以添加箭头,方框,椭圆等图形,如下图所示:
曲线图
• • 利用MATLAB进行画图时,最常用到的就是plot命令。 plot命令用于曲线的绘制,它首先根据两组数组确定图中点的 位置,将点连接起来,形成一条曲线。 • 例 2: plot命令的使用 • >> plot([1 4 2 5],[3 5 1 4])
在这个图形窗口中,我们可以很快的对该图形的各个属性进行修改,而不用借 助于MATLAB编程。
• 例如,要修改曲线的形式,将曲线改为离散的棍状图 表示,只需选中曲线,就会弹出相应的曲线修改对话 框,如图所示:
我们可以进一步修改图形中的线的形状和粗细,选中图 像,进行如下图所示的相应修改:
Matlab中的线性代数基础知识
Matlab中的线性代数基础知识线性代数是数学中非常重要的一个分支,广泛应用于计算机科学、物理学以及工程学等领域。
而Matlab作为一种强大的计算工具,提供了丰富的线性代数函数和工具包,方便用户进行矩阵计算、线性方程组求解以及特征值分解等操作。
本文将介绍Matlab中的线性代数基础知识,并且给出一些实践案例来帮助读者更好地理解和运用这些知识。
1. 矩阵定义和运算在Matlab中,我们可以通过方括号和分号来定义矩阵。
例如,下面的代码定义了一个3x3的矩阵A:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];我们可以使用矩阵乘法、矩阵加法和矩阵转置等运算来操作矩阵。
例如,下面的代码演示了如何计算两个矩阵的乘积:B = [2, 0, 1; 1, 2, 0; 0, 1, 2];C = A * B;通过运行以上代码,矩阵C将得到一个3x3的结果矩阵。
除了乘法和加法外,我们还可以使用'-'运算符进行矩阵相减,以及使用'.'运算符进行逐元素的乘法。
2. 线性方程组求解解线性方程组是线性代数中的一个重要问题,Matlab提供了多种方法来求解线性方程组。
其中,最常用的方法是使用反斜杠运算符。
例如,下面的代码演示了如何使用反斜杠来求解一个3x3的线性方程组:x = A \ b;在这里,矩阵A表示系数矩阵,向量b表示等式的右侧常数向量。
通过运行以上代码,向量x将得到方程组的解向量。
除了反斜杠运算符,Matlab还提供了lu分解、Cholesky分解以及QR分解等方法来求解线性方程组。
这些方法具有不同的性质和适用范围,根据具体问题的特点选择合适的方法能够提高求解效率。
3. 特征值和特征向量特征值和特征向量是矩阵在线性代数中一个重要的概念,它们在许多应用中起着关键作用。
在Matlab中,我们可以使用eig函数来计算矩阵的特征值和特征向量。
例如,下面的代码演示了如何计算一个对称矩阵的特征值和特征向量:[V, D] = eig(A);其中,矩阵V包含了特征向量,矩阵D是对角矩阵,对角线上的元素是特征值。
线性代数实践MATLAB
使用`eig`函数求解特征值和特征向量,例如 `[V,D] = eig(A)`。
Matlab中矩阵分解相关函数
lu
用于LU分解。
qr
用于QR分解。
eig
用于求解特征值和特征向量。
用于奇异值分解。
svd
hess
用于Hessenberg分解。
用于Schur分解。
schur
03
线性空间与变换在
掌握了特征值与特征向量的计算
通过Matlab编程,我们能够快速准确地求解矩阵的特征值和特征向 量,这对于很多实际问题具有重要意义。
实现了线性方程组的求解
利用Matlab的左除和右除运算,我们方便地解决了线性方程组的求 解问题,提高了计算效率。
进行了矩阵分解与应用
通过Matlab,我们实现了矩阵的LU分解、QR分解以及SVD分解等, 这些方法在数据分析、图像处理等领域有广泛应用。
线性代数实践 matlab
目录
CONTENTS
• 线性代数基本概念与Matlab实现 • 矩阵分解方法及其在Matlab中应
用 • 线性空间与变换在Matlab中实践
目录
CONTENTS
• 线性方程组求解方法及Matlab实 现
• 特征值与特征向量计算及Matlab 应用
• 总结与展望
01
线性代数基本概念
03
矩阵转置
04
矩阵转置是指将矩阵的行和列互 换得到的结果。在Matlab中, 可以使用单引号进行矩阵转置运 算,如`A_transpose = A'`。
矩阵逆
矩阵逆是指一个矩阵与另一个矩 阵相乘得到单位矩阵的结果。在 Matlab中,可以使用`inv`函数求 解矩阵逆,如`A_inv = inv(A)`。
Matlab线性代数入门
MATLAB (Determinant 1-1-2)
2024/4/3
线性代数实验之矩阵运算
输入命令: syms a b c d A=[1 1 1 1;a b c d
MATLAB (Determinant)
a^2 b^2 c^2 d^2;a^3 b^3 c^3 d^3]
D=det(A)
F=simple(D)
2024/4/3
MATLAB (matrix3-3-1)
线性代数实验之矩阵运算
输入命令: a1=[6]; a2=[5 1;3 1]; A=[a1 zeros(1, 2);zeros(2, 1) a2] b1=[3 1;1 2]; b2=[-1 2;2 -3]; B=[b1 zeros(2) ;zeros(2) b2] C=inv(A) D=inv(B)
MATLAB (shuzu1)
2024/4/3
线性代数实验之向量运算
二、向量的运算命令:
1. 向量a与b的加法:a + b 2. 向量a与b的减法:a – b 3. 数k乘以向量a: k * a 4. 向量a的转置: a’ 5. 向量a与b的数量积:dot (a,b)或 a * b ’ 6. 向量a的模:norm(a)
2024/4/3
MATLAB (matrix3-1-8)
线性代数实验之矩阵运算
输入命令: a=[1 2 0;3 -1 4;1 -2 1] b=a^2+a-eye(3)
MATLAB (matrix3-1-51)
2024/4/3
线性代数实验之矩阵运算
输入命令: a=[1 1 1;1 1 -1;1 -1 1] b=[1 -1 0;2 -2 5;3 4 1] c=det(a*b)
Matlab北航教程第四章
4.6_3
CH4.7 系统分析 S_ss=ss(A,B,C,D):利用状态方程创建LTI S_zpk=zpk(Z,P,K) :利用零极点增益创建LTI S_tf=tf(num,den) :利用传递函数创建LTI [A,B,C,D]=ssdata(S_lti) [Z,P,K]=zpkdata(S_lti) [num,den]=tfdata(S_lti)
[x,resnorm,residual,exitflag]= lsqnonlin(fun,x0): 基于Gauss-Newton方法求解
min ( f (x) f1(x)2 f2 (x)2 fm (x)2 ) x
[x,resnorm,residual,exitflag] = lsqcurvefit(fun,x0,xdata,ydata) 非线性最小二乘曲线拟合
伪逆:B=pinv(A)
满秩分解 可利用rref指令完成
司楚尔(Schur)分解: [U R] = schur(A)
乔列斯基(Cholesky)分解:R = chol(X) R’*R=X
[R,p] = chol(X) 利用p来判断R是否为正定,p=0则X正定
线性方程组的解 一、行列式、逆、恰定方程 det(A) inv(A) x=inv(A)*b x=A\b 求解Ax=b,例4.1-1 二、最小二乘问题 对超定问题Ax=b有三种方法,4.1-2 x=inv(trans(A)A) trans(A)b x=pinv(A)*b x=A\b
CH4.2 矩阵的一些运算 加、减、乘
trace(A) rank(A)
kron(A,B) norm(A,flag) cond(A)
线性代数matlab实验指导
实验四 行列式及应用
第1章 矩阵与行列式
实验四 行列式及应用 【实验目的】 1. 了解行列式的概念,掌握行列式的性质 2.掌握行列式的计算方法 3.掌握Gramer法则求解线性方程组 【实验要求】掌握计算行列式det、解线性方程组solve、生成Vandermonde行列式vander等命令 【实验内容】 1.计算下列行列式的值: (1) ;(2) ;
第1章 矩阵与行列式
>> G=inv(A) 运行结果: G = 1/4 1/4 -1/4 1 -2 1 -3/4 5/4 -1/4 >> H=A^5 运行结果: H = 1492 1006 1460 1558 1069 1558 1914 1331 1946
第1章 矩阵与行列式
【矩阵与行列式简介】 在计算机日益发展的今天,线性代数起着越来越重要的作用。线性代数起源于解线性方程组的问题,而利用矩阵来求解线性方程组的Gauss消元法至今仍是十分有效的计算机求解线性方程组的方法。矩阵是数学研究和应用的一个重要工具,利用矩阵的运算及初等变换可以解决求解线性方程组等问题。特殊的矩阵方阵的数字特征之一是方阵的行列式,使用行列式可以描述方阵的一些重要的性质。通过计算行列式可求逆矩阵,n个
第1章 矩阵与行列式
实验三 Gauss消元法
【实验目的】掌握解线性方程组的Gauss消元法 【实验要求】掌握矩阵赋值命令、初等变换相关命令、简化矩阵为阶梯形式rref等命令 【实验内容】
用Gauss消元法解线性方程组:
;
第1章 矩阵与行列式
【实验过程】 1.(1)解法一:Gauss消元法. >>A=[1 2 1 8;1 2 3 10;2 3 1 13;1 2 2 9] ; >>A(2,:)=A(2,:)-A(1,:); >>A(3,:)=A(3,:)-2*A(1,:); >>A(4,:)=A(4,:)-A(1,:) 运行结果: A = 1 2 1 8 0 0 2 2 0 -1 -1 -3 0 0 1 1 >> A([2,3],:)=A([3,2],:) 运行结果: A = 1 2 1 8 0 -1 -1 -3 0 0 2 2 0 0 1 1
第四章初等代数 第五章线性代数(matlab)
初等代数运算命令与例题
第一节 多项式的表达与运算
一、多项式的表达
多项式:
第4章
Pn ( x) a0 a1 x a2 x 2 .... an x n
Matlab中用多项式的系数组成的行向 量来表示多项式
p an , an1, an2 ,......a1, a0
目录
上页
下页
返回
结束
二、矩阵的基本运算的matlab命令
命令形式 A±B k*A A*B A\B A/B det(A) inv(A)或A^(-1) A^n transpose(A)或A’ rank(A) rref(A) 功能 将两个同型矩阵相加减 将数与矩阵做乘法 将两个矩阵进行相乘 计算A^(-1)B 计算AB ^(-1) 计算方阵的行列式 求方阵的逆 计算A^n 求矩阵的转置 求矩阵的秩 求A的阶梯形行最简形式
机动 目录 上页 下页 返回 结束
例1、建两个矩阵,求它们的和,并求数与 它们的乘积. 例2、求向量{a,b,c}与矩阵[1,2; 3,4; 5,6]的乘积。 例3、求矩阵[1 2 3 4; 2 3 1 2; 1 1 1 -1; 1 0 -2 -6]的逆。 例4、求矩阵[a,b; c,d]的逆。
例5、求矩阵A=[1 2 3 4; 2 3 4 5; 3 4 5 6]的转置。
机动 目录 上页 下页 返回 结束
•命令形式5 : solve(s1,s2,…sn,v1,v2, …vn) 功能:对n个方程的指定变量v1,v2, …vn求解 •命令形式6 : [x1,x2, …xn]=solve(s1,s2,…sn) 功能:将默认变量求解的结果赋给x1,x2, …xn •命令形式7: [x1,x2, …xn]=solve(s1,s2,…sn,v1,v2, …vn) 功能:将n个指定变量v的求解结果赋给x 例4.4.1:求方程x^3-4*x^2+9*x-10=0的所有根。 例4.4.2:求方程x^2-a*x-4*b=0的所有根,a,b为常数。
精品文档-实用大众线性代数(MATLAB版)(陈怀琛)-第4章
第4章 平面和空间向量
(2) 一种产品的成本可以分解为材料成本、生产成本 和管理成本等几个分量组成的向量,用成本向量代替总成本更 便于对成本进行细致的分析。
v2
)2
u1v1
u2v2
由此可见 u v u1v1 u2v2 。这个乘积也称为“内积”,用 <u, v> 表
示。若用列矩阵表示向量 u 和 v,则可以写成
uv
u1v1
u2v2
u1
u2
v1 v2
uTv
u, v
对于空间向量,同样可以得出
(4.2.4a)
u v u1v1 u2v2 u3v3 uTv
角可按反三角函数求得,即
θu=acos(u0T*x0)=0.4636(弧度)
θv=acos(v0T*x0)=2.0344(弧度)
解本题的MATLAB程序pla403如下:
u=[4; 2], v=[-1.5; 3], x0=[1; 0],
% 输入向量
数据
u0=u/normu, v0=v/norm(v)
第4章 平面和空间向量
第4章 平面和空间向量
4.1 向量的类型 4.2 向量及其线性组合 4.3 向量组的线性相关性 4.4 从向量空间看线性方程组的解 4.5 用MATLAB解线性方程组综述 4.6 应用实例 4.7 复习要求及习题
第4章 平面和空间向量
4.1 向 量 的 类 型 1. 物理向量 向量这个术语起源于物理,用以表示既有大小又有方向的 物理量,如力、位移和速度等。那些只需用一个实数来表示的 物理量,如温度、压力和质量等称为标量。向量还可以有更广 泛的意义,即把任何由多个参数描述的变量视为向量,参数的 数目称为“维”数。例如:
MATLAB学习4线性代数
4、矩阵的逻辑运算 &--and(A,B),|--or(A,B),~--not(A),xor(A,B) 注意:结果矩阵元素取值范围为:{0,1}。
5、矩阵的特征值和特征向量
eig(A)只返回特征值
[a,b]=eig(A):a保存特征向量,b保存特征值
例如:A[1,2,3;4,5,6;7,8,9],则:
2、试构造符号矩阵,练习四则运算与幂运算,练 习常用函数。练习符号方程(组)的求解。 3、设有向量a=[1,2,3],b=[4,5,6],c=[7,8,9],…,试利 用rref找出它们的最大无关组。
19/19
15/19
3、符号代数线性方程(组)的求解
例:求解方程ax 2 bx c 0。
>> f='a*x^2+b*x+c'; >> solve(f) ans = [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]
16/19
j i 1 m
2、 范数 r ( A) max | i | 2
i
3、 范数 max | aij |
i j 1 n
m
4、 范数 F
| ai , j |2
j 1 i 1
4/19
m
(7)矩阵的条件数:cond(A),condest(A)
rcond(A)
0.2320 0.7858 0.4082 a 0.5253 0.0868 0.8165 b 0.4082 0.8187 0.6123
0 0 16.1168 0 1.1168 0 0 0.0000 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x=[4.5596 5.0816 5.5546 5.9636 6.2756]'; y=[0.8145 1.3685 1.9895 2.6925 3.5265]'; D=[x.^2 2*x.*y y.^2 2*x 2*y]; E=[1;1;1;1;1];e=-D\E; A=[e(1) e(2);e(2) e(3)];b=[e(4);e(5)]; X0=-A\b; F=X0'*A*X0+2*X0'*b+1; [U d]=eig(A);a=sqrt(-F/d(1,1));b=sqrt(-F/d(2,2)); t=linspace(0,2*pi,2000); u=a*cos(t);v=b*sin(t); X=U*[u;v]+X0*ones(1,2000);xt=X(1,:);yt=X(2,:); plot(xt,yt,x,y,'b*',0,0,'ro'),hold on comet(xt,yt)
0.9 0.12 特征值 1 1 A 特征向量 1 [0.12,0.1]T 0.1 0.88
150 100 50 0
150 100 50 0
X=[147;123]; A=[0.9,0.12;0.1,0.88];
Cars=X; for k=1:6 X=A*X; Cars=[Cars,X]; end
有特征值 1 ,对应的特征向量
[q p]T
16/16
= –1 = –1 = –1 = –1 = –1
2/16
Az = b
z A 1 b
2 x1 2 x2 2 x3 2 x4 x2 5
2 x1 y1 2 x2 y2 2 x3 y3 2 x 4 y4 2 x 5 y5
2 y1 2 y2 2 y3 2 y4 y5
A=[X.^2, 2*X.*Y, Y.^2, X, Y]
y1 x1 x2 y2 X x 3 Y y3 y4 x4 y x 5 5
3/16
程序文件 mlab42.m X=[4.5596;5.0816;5.5546;5.9636;6.2756]; Y=[0.8145;1.3685;1.9895;2.6925;3.5265]; A=[X.*X,2*X.*Y,Y.*Y,2*X,2*Y]; E=[-1;-1;-1;-1;-1]; z=A\E; a1=z(1);a2=z(2);a3=z(3);a4=z(4);a5=z(5); syms x y F=a1*x^2+2*a2*x*y+a3*y^2+2*a4*x+2*a5*y+1; ezplot(F,[-1,6.5,-1.5,6]) hold on,plot(X,Y,'ro')
表 汽车行驶速度与刹车滑行距离
20
40
60
80
100
60.8
120
93.27
滑距 6.07
8.5 18.44 35.88
15/16
思考题与练习题
1. 行星轨道的二次曲线方程中,二次项系数满足什 么条件时,能保证二次曲线方程是椭圆方程?
2.设非零正数p<1,q<1. 证明矩阵
q 1 p A p 1 q
a1x12 + 2a2x1y1 + a3 y12 +2a4 x1 + 2a5 y1 a1x22 + 2a2x2y2 + a3 y22 +2a4 x2 + 2a5 y2 a1x32 + 2a2x3y3 + a3 y32 +2a4 x3 + 2a5 y3 a1x42 + 2a2x4y4 + a3 y42 +2a4 x4 + 2a5 y4 a1x52 + 2a2x5y5 + a3 y52 +2a4 x5 + 2a5 y5
0
F = X0TAX0 + 2X0Tb + 1
5/16
消去方程中一次项,令
AX0 + b = 0
a1 a 2
a 2 x0 a4 a 3 y0 a5
二次方程化简: ZTAZ + F = 0 设1,2 是 A 的特征值,对应特征向量为 1 , 2 1 令 U [1 2 ] AU [11 2 2 ] U 2 1 u T 令 Z U U AU 2 v
150 100
50
0 1
150
2
3
4
5
6
7
100
50
0 1 2 3 4 5 6 7
120. 126. 130.68 134.33 137.17 139.39 141.13 150. 144. 139.32 135.66 132.82 130.60 128.86
11/16
营业部汽车总数量:120+150=270 =147+123 矩阵
14/16
V=[20,40,60,80,100,120]; format bank T=polyval(P2,V); figure(3),bar(V,T) [V;T]
T=
100 80 60 40 20 0 20 40 60 80 100 120
6.07 车速
8.50 18.44 35.88 60.82 93.27
9/16
例4.5 出租汽车问题。 出租汽车公司在仅有A城和B城的海岛上,设了A,B两营 业部。如果周一A城有120辆可出租汽车,而B城有150 辆。统计数据表明,平均每天A城营业部汽车的10% 被顾客租用开到B城 ,B城营业部汽车的12%被开到了 A城。假设所有汽车正常,试计算一周后两城的汽车 数量。寻找方案使每天汽车正常流动而A城和B城的汽 车数量不增不减。 设第n天A城营业部汽车数为x1(n),B城营业部汽车数 为x2(n)。 则有
1
2
3
4
5
6
7
figure(1),bar(Cars(1,:)) figure(2),bar(Cars(2,:))
1
2
3
4
5
6
7
12/16
离散数据的多项式拟合方法
x f(x) x1 y1 x2 y2 …… xm …… ym
求 n 次多项式 ( n < m ) P(x) = a1xn + a2 xn-1 + …… + an x + an+1
S (a1 ,, an1 ) [ y j P ( x j )]2 min
j 1 m
使得
MATLAB求解多项式拟合方法如下: P =polyfit(x,y,n) 输出变量P是一个具有(n+1) 个数的一维数组,表示 拟合多项式P(x)的系数(多项式降幂排列 )。
13/16
汽车紧急刹车问题数据拟合实验 V 20 25 30 35 40 45 50 55 60 65 70
T
20 28 41 53 72 93 118 149 182 221 266
V表示刹车时汽车行驶速度(英里/小时),T表示刹车 后汽车滑行距离(英尺)
v=[20 25 30 35 40 45 50 55 60 65 70]*1.609; T=[20 28 41 53 72 93 118 149 182 221 266]*.3048; figure(1),plot(v,T,'*') P2=polyfit(v,T,2);T2=polyval(P2,v); R2=sum((T-T2).^2) figure(2),plot(v,T,'*',v,T2) R2 = 1.9634
原坐标下的轨道离散数据
7/16
矩阵特征值问题
A是n阶方阵,求非零向量 和数 使得
A 称 为特征向量,称 为特征值.
MATLAB解算特征值问题方法
lamda=eig(A) —— 计算A的特征值,这里lamda是A 的全部特征值构成的列向量。 [P,D]=eig(A) ——计算出A的全部特征值和对应的特 征向量. 其中, D是对角矩阵,保存矩阵A的全部特征 值; P是满阵, P的列向量构成对应于D的特征向量组。
x1 x2 x3 x4 x5
y1 a1 1 y2 a 2 1 y3 a 3 1 y4 a4 1 y5 a5 1
MATLAB 求解方程组方法:A\b 创建方程组系数矩阵方法:
第四章 线性代数
小行星的轨道方程 特征值问题及应用 离散数据的多项式拟合
1/16
例4.2 小行星轨道方程 椭圆二次曲线方程 a1x2 + 2a2xy + a3 y2 +2a4 x + 2a5 y + 1 = 0
以太阳为坐标原点,测得小行星坐标
x y 4.5596 0.8145 5.0816 1.3685 5.5546 1.9895 5.9636 2.6925 6.2756 3.5265
4/16
a1x2 + 2a2xy + a3 y2 +2a4 x + 2a5 y + 1 = 0
a1 [ x y] a 2
或
a2 x a4 2[ x y] 1 0 a3 y a5
XTAX + 2XTb + 1 = 0
平移变换,X = X0 + Z, 其中X0(椭圆中心)待定 (X0 + Z)TA(X0 + Z) + 2(X0 + Z)Tb + 1 = 0 ZTAZ + 2ZT(AX0 + b) +( X0TAX0 + 2X0Tb + 1) = 0