matlab线性代数实验
线代上机实验报告(3篇)
第1篇一、实验目的1. 掌握线性代数基本概念和基本运算方法。
2. 熟悉MATLAB软件在解决线性代数问题中的应用。
3. 提高实际操作能力和编程能力。
二、实验环境1. 操作系统:Windows 102. 软件环境:MATLAB R2019b3. 实验设备:计算机三、实验内容1. 矩阵的基本运算2. 矩阵的秩3. 矩阵的逆4. 线性方程组的求解5. 特征值和特征向量6. 二次型及其标准形四、实验步骤1. 矩阵的基本运算(1)创建矩阵A:A = [1, 2, 3; 4, 5, 6; 7, 8, 9](2)计算矩阵A的转置:A_transpose = A'(3)计算矩阵A的行列式:det_A = det(A)(4)计算矩阵A的逆:A_inverse = inv(A)2. 矩阵的秩(1)创建矩阵B:B = [1, 2, 3, 4; 5, 6, 7, 8; 9, 10, 11, 12](2)计算矩阵B的秩:rank_B = rank(B)3. 矩阵的逆(1)创建矩阵C:C = [1, 2; 3, 4](2)判断矩阵C是否可逆:is_inverse = rank(C) == size(C, 1)(3)如果可逆,计算矩阵C的逆:C_inverse = inv(C)4. 线性方程组的求解(1)创建矩阵A和B:A = [1, 2; 3, 4]B = [5; 6](2)使用MATLAB内置函数求解线性方程组:x = A \ B5. 特征值和特征向量(1)创建矩阵D:D = [4, 1; 2, 3](2)计算矩阵D的特征值和特征向量:[V, D] = eig(D)6. 二次型及其标准形(1)创建矩阵E:E = [2, 1; 1, 3](2)计算矩阵E的特征值和特征向量:[V, D] = eig(E)(3)将二次型E化为标准形:Q = V D inv(V)五、实验结果与分析1. 矩阵的基本运算(1)矩阵A:1 2 34 5 67 8 9(2)矩阵A的转置:1 4 72 5 83 6 9(3)矩阵A的行列式:(4)矩阵A的逆:-1.5 0.50.5 -0.52. 矩阵的秩矩阵B的秩为2。
线性代数实践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解决线性代数问题学院:数计学院班级:1003班姓名:黄晓丹学号:1051020144实验目的:学习MATLAB有关线性代数运算的指令,主要学习运用MATLAB解决矩阵除法,线性方程组的通解,矩阵相似对角化问题,以及解决投入产出分析等应用问题。
实验内容:矩阵转置:A=[1 2;3 4];B=[4 3;2 1];>> A',B'ans =1 32 4ans =4 33 1矩阵加减:A-Bans=-3 -11 3矩阵乘法:A*B,A.*B(数组乘法)||比较矩阵乘法与数组乘法的区别ans=8 520 13ans=4 66 4矩阵除法:A\B,B./Aans=-6 -55 4ans=4 1.50.6667 0.25特殊矩阵生成:zeros(m,n)||生成m行n列的矩阵ones(m,n)||生成m行n列的元素全为一的矩阵eye(n)||生成n阶单位矩阵rand(m,n)||生成m行n列[0 ,1]上均匀分布随机数矩阵zeros(2,3)ans =0 0 00 0 0>> ones(3,3)ans =1 1 11 1 11 1 1>> eye(3)ans =1 0 00 1 00 0 1>> rand(2,4)ans =Columns 1 through 30.9501 0.6068 0.89130.2311 0.4860 0.7621Column 40.45650.0185矩阵处理:trace(A)||返回矩阵的迹diag(A)||返回矩阵对角线元素构成的向量tril(A)||提取矩阵的下三角部分triu(A)||提取矩阵的上三角部分flipud(A)||矩阵上下翻转fliplr(A)||矩阵左右翻转reshape(A,m,n)||将矩阵的元素重排成m行n列矩阵A=[1 2 3;4 5 6;7 8 9];>> t=trace(A),d=diag(A),u=triu(A)t =15d =159u =1 2 30 5 60 0 9 flipud(A),fliplr(A)ans =7 8 94 5 61 2 3 ans =3 2 16 5 49 8 7矩阵特征值与标准型:[V,D]=eig(A)||返回矩阵特征值与特征向量[V J]=Jordan(A)||返回矩阵的相似变换矩阵和若尔当标准型A=[1 2;3 4];>> [V,D]=eig(A)V =-0.8246 -0.41600.5658 -0.9094D =-0.3723 00 5.3723>> [V,J]=jordan(A)V =0.2389 0.76110.5222 -0.5222J =5.3723 00 -0.3723线性方程组求解A=[1 2 1;3 -2 1];B=[1;4];x=A\B x =1.2500 ||求一特解-0.1250>> A=[1 2;3 -2;1 -1];B=[1;4;2];x=A\Bx = ||求得一最小二乘近似解1.2838-0.1757:方阵的相似对角化及应用:A=[1 1/4 0;0 1/2 0;0 1/4 1];[P,T]=eig(A) P =1.0000 0 -0.40820 0 0.81650 1.0000 -0.4082T =1.0000 0 00 1.0000 00 0 0.5000求得三个特征值1,1,0.5,对应特征向量(1,0,0),(0,0,1),(-0.4028,0.8165,-0.4082),由于三个特征向量线性无关,从而A 可相似对角化,即p-1AP=T.那么A∧n=p[1 0 0;0 1 0;0 0 0]p-1,计算的P*diag([1,1,0])*inv(P)ans =1.0000 0.50000 00 0 00 0.5000 1.0000所以得到近似解。
#实验1 MATLAB续:MATLAB在线性代数中的应用
6 x3 5 x3
6
x4
0 0
x3 5x4 6x5 0
x4 5x5 1
A=[5 6 0 0 0 15600 01560 00156 0 0 0 1 5];
B=[1 0 0 0 1]'; R_A=rank(A) %求秩 X=A\B %求解
例2
求解方程组
3xx112xx2253xx333xx44
>>B=null(A,'r') %求解空间的有理基
得到:B =
2
5/3
-2 -4/3
1
0
0
1
MATLAB初步
于是,我们得到原线性方程组的解:
syms k1 k2 % 定义两个符号 X=k1*B(:,1)+k2*B(:,2) %写出方程组的通解 pretty(X) %让通解表达式更加精美
求解的完整代码如下:
%V已经被归一化为单位向量了
例 4: 求矩阵
MATLAB初步
2 1 1
A
0 4
2 1
0 3
的特征值和特征向量.
A=[-2 1 1;0 2 0;-4 1 3]; [V,D]=eig(A)
V=
-0.7071 -0.2425
0
0
-0.7071 -0.9701
0.3015 0.9045 0.3015
1 2
有否解? 2x1 x2 2x3 2x4 3
MATLAB初步
A=[1 -2 3 -1;3 -1 5 -3;2 1 2 -2];%输入系数矩阵A的值
% first,input the coefficient matrix A
matlab线性代数实验
matlab线性代数实验线性代数MATLAB 实验指导书MATLAB 是Matrix Laboratory 的缩写,是⼀个集数值计算、图形处理、符号运算、⽂字处理、数学建模、实时控制、动态仿真和信号处理等功能为⼀体的数学应⽤软件,⽽且该系统的基本数据结构是矩阵,⼜具有数量巨⼤的内部函数和多个⼯具箱,使得该系统迅速普及到各个领域,尤其在⼤学校园⾥,许多学⽣借助它来学习⼤学数学和计算⽅法等课程,并⽤它做数值计算和图形处理等⼯作。
我们在这⾥介绍它的基本功能,并⽤它做与线性代数相关的数学实验。
在正确完成安装MATLAB 软件之后,直接双击系统桌⾯上的MATLAB 图标,启动MATLAB ,进⼊MATLAB 默认的⽤户主界⾯,界⾯有三个主要的窗⼝:命令窗⼝(Commend Window ), 当前⽬录窗⼝(Current Directory ),⼯作间管理窗⼝(Workspace )。
命令窗⼝是和Matlab 编译器连接的主要窗⼝,“>>”为运算提⽰符,表⽰Matlab 处于准备状态,当在提⽰符后输⼊⼀段正确的运算式时,只需按Enter 键,命令窗⼝中就会直接显⽰运算结果。
实验1 矩阵的运算,⾏列式实验名称:矩阵的运算,⾏列式实验⽬的:学习在matlab 中矩阵的输⼊⽅法以及矩阵的相关运算,⾏列式。
实验原理:介绍相关的实验命令和原理(1)⼀般矩阵的输⼊ (2)特殊矩阵的⽣成 (3)矩阵的代数运算(4)矩阵的特征参数运算 (5)数字⾏列式和符号⾏列式的计算实验命令1 矩阵的输⼊ Matlab 是以矩阵为基本变量单元的,因此矩阵的输⼊⾮常⽅便。
输⼊时,矩阵的元素⽤⽅括号括起来,⾏内元素⽤逗号分隔或空格分隔,各⾏之间⽤分号分隔或直接回车。
例1 输⼊矩阵--=654301211A ,可以在命令窗⼝中输⼊>>A=[1 1 2;-1 0 3;4 -5 6]A =1 1 2-1 0 34 -5 62 特殊矩阵的⽣成某些特殊矩阵可以直接调⽤相应的函数得到,例如:zeros(m,n) ⽣成⼀个m ⾏n 列的零矩阵ones(m,n) ⽣成⼀个m ⾏n 列元素都是1的矩阵eye(n) ⽣成⼀个n 阶的单位矩阵rand(m,n) ⽣成⼀个m ⾏n 列的随机矩阵magic(n) ⽣成⼀个n 阶魔⽅矩阵例2 随机⽣成⼀个32?的矩阵。
MATLAB实验指导书-线性代数
MATLAB实验指导书线性代数部分浙江海洋学院一、基础知识1.1 常见数学函数ceil(x)= -4 -2 0 2 5 7fix(x) = -4 -2 0 1 4 6floor(x) = -5 -3 -1 1 4 6round(x) = -5 -2 0 1 5 71.2 系统的在线帮助1 help 命令:1.当不知系统有何帮助内容时,可直接输入help以寻求帮助:>>help(回车)2.当想了解某一主题的内容时,如输入:>> help syntax(了解Matlab的语法规定)3.当想了解某一具体的函数或命令的帮助信息时,如输入:>> help sqrt (了解函数sqrt的相关信息)2 lookfor命令现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:>> lookfor line (查找与直线、线性问题有关的函数)1.3 常量与变量系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。
此外,系统内部预先定义了几个有特殊意1 数值型向量(矩阵)的输入1.任何矩阵(向量),可以直接按行方式...输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。
所有元素处于一方括号([ ])内;例1:>> Time = [11 12 1 2 3 4 5 6 7 8 9 10]>> X_Data = [2.32 3.43;4.37 5.98]2上面函数的具体用法,可以用帮助命令help得到。
如:meshgrid(x,y)输入x=[1 2 3 4]; y=[1 0 5]; [X,Y]=meshgrid(x, y),则X = Y =1 2 3 4 1 1 1 11 2 3 4 0 0 0 01 2 3 4 5 5 5 5目的是将原始数据x,y转化为矩阵数据X,Y。
线性代数Matlab数学实验
0.1042 -0.1436 -0.0663 0.0878 0.0337 0.0411
1.1095 1.3541 3.1761 5.3951 8.3265 1.3564
4.3899 15.0714 19.5899 28.3698 37.2783 1.8128
2.1612 9.5847 11.9050 16.2275 20.7091 0.6693
b = ( 1 3 5 7 9 11) 。
1.输入矩阵 A,B,b. 2.作X12=A/ , X22=A+B , X23=A-B , X24=AB. 3.求|A|,|B|。 4.求 R(A),R(B)。 5.求X5=A-1 . 6.求矩阵方程 XA=C 的解 X6,其中 C 为 A 的第 i 行乘以列标 i 所得到的矩阵。 7.求解方程组 AX=b 的解向量 X7. 8.求 X6 的特征向量 X8,X6 的特征向量组 X 及对角阵 D。 9.求 B2(A-1)2. 10.存储工作空间变量 A,B:save’ds1.m’,A,B 三、思考与练习 1.对本实验中得到的C矩阵求CT, |C|, C-1, C的特征值及对应的特征向量。 2.创建从 2 开始,公差为 4 的等差数列的前 15 项构成的行向量。 3.将本实验中矩阵 A 与 B 的对应元素相乘、对应元素相处并观察分母为零时的结果。 4.求 b 的每个元素自身次幂所的行向量。 5.列出本实验中所有变量。 四、操作提示 1.计算过程 A=[3 4 -1 1 -9 10;6 5 0 7 4 -16;1 -4 7 -1 6 -8;2 -4 5 -6 12 -8;-3 6 -7 8 -1 1;8 -4 9 1 3 0] B=[1 2 4 6 -3 2;7 9 16 -5 8 -7;8 11 20 1 5 5;10 15 28 13 -1 9;12 19 36 25 -7 23;2 4 6 -3 0 5] b=1:2:11 X21=A' X22=A+B X23=A-B X24=A*B X31=det(A) X32=det(B) X41=rank(A) X42=rank(B) X5=inv(A) for i=1:6 C(:,i)=i*A(:,i); end C X6=C/A X7=A\b' X8=eig(X6) [X,D]=eig(X6) X9=B^2*(A^(-1))^2 存储实验1工作空间变量AB到文件ds1.mat中:save ds1 A B 2.计算结果:
用MATLAB做线性代数实验
【2】参数方程解的判别 【注意】 :含有参数情况的线性方程组的解的情况讨论,不能直接使用 Matlab 中 的函数:rank,rref,因为 Matlab 会默认这些参数及其表达式不等于零。因此,应 该编写独立的过程加以讨论。 试就参数 s 的各种情况,讨论下述线性方程组的解的情况:
sx y z 1 x sy z s 。 2 x y sz s
p1 ( x ) q( x ) p2 ( x ) r ( x ) , d (r ( x )) d ( p2 ( x ))
例如,求多项式 f ( x ) x 3 6 x 2 11 x 6 , g( x ) x 5 2 x 2 1 的最大公因式和最小公倍 式。 p=[1 -6 11 -6]; q=[1 0 0 -2 0 1]; [q1,r1]=deconv(q,p) [q2,r2]=deconv(p,r1(4:6)) %注意保证第一个分量不能为零 [q3,r3]=deconv(r1(4:6),r2(3:4))
x2 x3 2 x2 3 x 2
分解为最简分式之和的程序如下:
-0.5000 - 1.3229i -1.0000 r = [] 结果表示出来即是:
f ( x)
如果是在实数范围内分解:
0.25 0.4725 i x 0.51.3229 i
0.25 0.4725 i x 0.51.3229 i
用 MATLAB 做线性代数实验
1. 多项式运算
【1】表示方法与根 表示方法:降幂,向量形式. 例如, p( x ) 2 x x 3 x5 被表示为向量 p=[-1 0 1 0 2 0] 而不是 p=[0 2 0 1 0 -1] 或者 p=[2 1 -1]. 相关 MATLAB 函数 函数名 含义 %注意保证第一个分量不能为零
线性代数数学实验(计)
解: 矩阵A 矩阵A的增广矩阵 >> clear >> B=[1 –1 2 1 0 0;0 1 –1 0 1 0;2 1 0 0 0 1]; >> format rat 以有理格式输出 给出矩阵B 给出矩阵B的行最简形 >> C=rref (B) C= 1 0 0 1 0 0
0 0 1
-1 -2 1 2 4 -1 2 3 -1
2、数与矩阵相乘
数与矩阵相乘,是数与矩阵中的每个元素相乘. 数与矩阵相乘,是数与矩阵中的每个元素相乘.
1 0 1 A = 2 1 1 与5的乘积 Example4 求矩阵 的乘积 1 2 1
解:
>> clear >> A=[1 0 1;2 1 1;1 2 1]; >> B=5*A >> C=A*5
运行结果: 运行结果: B= 5 10 0 5 5 5 5 C= 5 10 0 5 5 5 5
5 10
5 10
程序说明: 的值相同. 程序说明:5*A与A*5的值相同. 与 的值相同
3、矩阵与矩阵相乘
两矩阵相乘时,第一个矩阵(左矩阵) 两矩阵相乘时,第一个矩阵(左矩阵)的列数 必须等于第二个矩阵(右矩阵)的行数. 必须等于第二个矩阵(右矩阵)的行数. Example5 解: >> clear >> A=[1 2 3;2 1 2;3 3 1]; >> B=[3 2 4;2 5 3;2 3 1]; >> C=A*B , D=B*A
Example12 求解方程组 解
x1 − x2 + x3 − x4 = 1 −x1 + x2 + x3 − x4 = 1 2x − 2x − x + x = −1 2 3 4 1
线性代数MATLAB仿真实验报告
合肥学院2018—2019学年第2学期线性代数及应用 (模块)实验报告实验名称:线性代数MATLAB实验实验类别:综合性 设计性□验证性 专业班级: 17通信工程(2)班实验时间: 9-12周组别:第组人数 3人指导教师:牛欣成绩:完成时间: 2019年 5 月9日一. 小组成员姓名学号具体分工汪蔚蔚(组长) 1705022025 A报告最后的整合,编写,案例四的计算与应用以及案例一的计算与证明陶乐 1 1705022009 C案例二,化学方程式配平问题程赢妹1505022036 A案例三,应用题灰度值的计算问题二. 实验目的1、案例一利用MATLAB进行线性代数计算,求出矩阵B2、案例二利用MATLAB计算出每一个网格数据的值,然后每一个网格数据的值乘以256以后进行归一化处理,根据每个网格中的灰度值,绘制出灰度图像。
3、案例三利用MATLAB完成对化学方程式进行配平的应用4、案例四利用MATLAB求极大线性无关组,并表示出其余向量三. 实验内容1、案例一:0,1,0,=1,0,0,0,0,0A B AB BA A B⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦已知矩阵和矩阵满足乘法交换律,即且求矩阵。
2、案例二配平下列化学方程式:3、案例三:3*320.81.21.70.20.30.6021.61.20.6.1MATLAB2256MATLAB给定一个图像的个方向上的灰度叠加值:沿左上方到右下方的灰度叠加值依次为,,,,;沿右上方到左下方的灰度叠加值依次为,。
,,,)建立可以确定网络数据的线性方程组,并用求解)将网络数据乘以,再取整,用绘制该灰度图像>> X1=B\C1X1 =3.00001.0000-0.0000>> X2=B\C2X2 =-0.50001.00002.5000六.实验结果1、实验一结果我们本来设,,=,,,,a b cB d e fg h i⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦最终得到d=b, e=a, f=c=h=g=0,i=i,即矩阵,,0=,,00,0,a bB d ei⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,其中a=e,b=d.因此B是一个对称矩阵。
线性代数的MATLAB软件实验报告
线性代数的MATLAB 软件实验一、实验目的1.熟悉矩阵代数主要MATLAB 指令。
2.掌握矩阵的转置、加、减、乘、除、乘方、除法等MATLAB 运算。
3.掌握特殊矩阵的MATLAB 生成。
4.掌握MATLAB 的矩阵处理方法。
5.掌握MATLAB 的矩阵分析方法。
6.掌握矩阵的特征值与标准形的MATLAB 验算。
7.掌握线性方程组的MATLAB 求解算法。
二、实验原理1.线性方程组 【基本观点】自然科学和工程实践很多问题的解决都涉及线性代数方程组的求解和矩阵运算.一方面,许多问题的数学模型本身就是一个线性方程组,例如结构应力分析问题、电子传输网分析问题和投入产出分析问题;另一方面,有些数值计算方法导致线性方程组求解,如数据拟合,非线性方程组求解和偏微分方程组数值解等.n 个未知量m 个方程的线性方程组一般形式为⎪⎪⎩⎪⎪⎨⎧=+++=+++=+++.,,22112222212111212111m n mn m m n n n n b x a x a x a b x a x a x a b x a x a x a (3.1) 令,,,2121212222111211⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫⎝⎛=m n mn m m n n b b b b x x x x a a a a a aa a a A则得矩阵形式Ax=b. (3.2)若右端b=0,即Ax=0, (3.3)则称方程组为齐次的.方程组(3.1)可能有唯一解,可能有无穷多解,也可能无解,主要取决于系数矩阵A 及增广矩阵(A,b )的秩.若秩(A )=秩(A,b )=n,存在唯一解,其解理论上用Cramer 法则求出,但由于这种方法要计算n+1个n 阶行列式,计算量太大通常并不采用;若秩(A )=秩(A,b )<n,存在无穷多解,其通解可表示为对应齐次方程组(3.3)的一个基础解系与(3.2)的一个特解的叠加;若秩(A )≠秩(A,b ),则无解,这时一般寻求最小二乘近似解,即求x 使向量Ax-b 模最小.P50矩阵左除的数学思维:恒等变形Ax=b 方程两边的左边同时除以A ,得:b AAx A11=,即:b A b Ax 11-==MATLAB 的实现(左除):x=A\b 2.逆矩阵 【基本观点】方阵A 称为可逆的,如果存在方阵B ,使 AB=BA=E,这里E 表示单位阵.并称B 为A 的逆矩阵,记B=1-A .方阵A 可逆的充分必要条件是A 的行列式det A ≠0.求逆矩阵理论上的公式为*1det 1A AA =-, (3.4)这里*A 为A 的伴随矩阵.利用逆矩阵,当A 可逆时,(3.2)的解可表示为b A x 1-=.由于公式(3.4)涉及大量行列式计算,数值计算不采用.求逆矩阵的数值算法一般是基于矩阵分解的方法.3.特征值与特征向量 【基本观点】对于方阵A ,若存在数λ和非零向量x ,使,x Ax λ= (3.5) 则称λ为A 的一个特征值,x 为A 的一个对应于特征值λ的特征向量.特征值计算归结为特征多项式的求根.对于n 阶实数方阵,特征多项式在复数范围内总有n 个根。
matlab实验1:线性代数方法
奇异值分解: 奇异值分解: 其中U,V均为正交矩阵,S为一 个对角阵, 其中U,V均为正交矩阵,S为一 个对角阵,且对角线 U,V均为正交矩阵,S 元素恰好为A的奇异值(A’*A (A’*A的特征值的算术平方 元素恰好为A的奇异值(A’*A的特征值的算术平方 根). A=U*S*V’ 用于处理一些病态方程组的求解 格式一:只返回方阵A 格式一:只返回方阵A的特征值 格式二:其中D是由A 格式二:其中D是由A的特征值组成的对角 矩阵,V为对应特征向量组成的矩阵. ,V为对应特征向量组成的矩阵 矩阵,V为对应特征向量组成的矩阵. 求矩阵的迹: 求矩阵的迹:矩阵的迹等于矩阵的特征值之和
eig(A) [V,D]=eig(A) trace(A)
上机作业
找出你的代数书,利用 重做其中的几个作业。 找出你的代数书,利用Matlab重做其中的几个作业。 重做其中的几个作业源自函数 [Q,R]=qr(A)
功能 (QR分解 分解) 正交变换 (QR分解): 对A进行QR分解,就是把A分解为一个正交矩阵Q和 进行QR分解,就是把A分解为一个正交矩阵Q QR分解 一个上三角矩阵R的乘积形式. 其中Q*Q’=E, 一个上三角矩阵R的乘积形式. 其中Q*Q’=E, 正交 阵!
[U,S,V]=svd( A)
%对高阶的大方程组通常用:LU、QR和cholesky分解 对高阶的大方程组通常用: 、 对高阶的大方程组通常用 和 分解 等方法求方程组的解 其优点是运算速度快、 等方法求方程组的解 。其优点是运算速度快、可以节省 磁盘空间、节省内存。 磁盘空间、节省内存。
3 求线性方程组的通解
的通解。 例:求下面线性方程组Ax=B的通解。 求下面线性方程组 的通解 输出结果: 输出结果:
解法2 解法2:利用 rref 函数
线性代数-matlab实验报告
用matlab解决线性代数问题学号: 82120545 , 姓名: 于珊,1 求解线性方程组实验内容: 用MATLAB求解如下线性方程组Ax = b, 其中A =5600000015600000015600000015600000015600000015600000015600000015⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦, b = [1,4,6,0,7,1,2,4] T.实验目的:1. 了解MATLAB软件, 学会MATLAB软件的一些基本操作;2. 熟悉MATLAB软件的一些数值计算功能;3. 练习编写简单的MATLAB程序。
实验原理:1. 对于满足条件系数矩阵的行列式D=︱A︱≠0的方程组Ax= b,根据克拉默(Gramer)法则,此线性方程组有唯一解:,j=1,2,…,n。
2. 当线性方程组的系数矩阵A是可逆矩阵时, 方程组Ax = b的解为X = A\B。
3. 当系数矩阵A可逆时, 对增广矩阵[A, b]进行初等行变换, 把它化为行最简形矩阵B, 则B的最后一列就是该方程组的解向量。
实验方案: 1. 在MATLAB命令窗口中输入如下命令:>> a_1=[5;1;0;0;0;0;0;0];a_2=[6;5;1;0;0;0;0;0];>> a_3=[0;6;5;1;0;0;0;0];a_4=[0;0;6;5;1;0;0;0];>> a_5=[0;0;0;6;5;1;0;0];a_6=[0;0;0;0;6;5;1;0];>> a_7=[0;0;0;0;0;6;5;1];a_8=[0;0;0;0;0;0;6;5]; %输入矩阵A>> b=[1;4;6;0;7;1;2;4];>> D=det([a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8]);>> D_1=det([b,a_2,a_3,a_4,a_5,a_6,a_7,a_8]);>> D_2=det([a_1,b,a_3,a_4,a_5,a_6,a_7,a_8]);>> D_3=det([a_1,a_2,b,a_4,a_5,a_6,a_7,a_8]);>> D_4=det([a_1,a_2,a_3,b,a_5,a_6,a_7,a_8]);>> D_5=det([a_1,a_2,a_3,a_4,b,a_6,a_7,a_8]);>> D_6=det([a_1,a_2,a_3,a_4,a_5,b,a_7,a_8]);>> D_7=det([a_1,a_2,a_3,a_4,a_5,a_6,b,a_8]);>> D_8=det([a_1,a_2,a_3,a_4,a_5,a_6,a_7,b]);>> x_1=D_1/D;x_2=D_2/D;x_3=D_3/D;x_4=D_4/D;>> x_5=D_5/D;x_6=D_6/D;x_7=D_7/D;x_8=D_8/D;>> format rat,X=[x_1,x_2,x_3,x_4,x_5,x_6,x_7,x_8]%利用克拉默法则求解方程组2. 在MATLAB命令窗口中输入如下命令:>> %把该方程组记为AX=b,则X=A\b>> A=[5,6,0,0,0,0,0,0;1,5,6,0,0,0,0,0;0,1,5,6,0,0,0,0;0,0,1,5,6,0,0,0;0,0,0,1,5,6,0,0;0,0,0,0,1,5,6,0;0,0,0,0,0,1,5,6;0,0,0,0,0,0,1,5]; %输入矩阵A>> b=[1;4;6;0;7;1;2;4]; %输入矩阵b>>format rat,X=A\b%求解方程组3. 在MATLAB命令窗口中输入如下命令:>> A=[5,6,0,0,0,0,0,0;1,5,6,0,0,0,0,0;0,1,5,6,0,0,0,0;0,0,1,5,6,0,0,0;0,0,0,1,5,6,0,0;0,0,0,0,1,5,6,0;0,0,0,0,0,1,5,6;0,0,0,0,0,0,1,5];%输入矩阵A>> b=[1;4;6;0;7;1;2;4]; %输入矩阵b>> B=[A,b];%B为增广矩阵[A,b]>> format rat>> C=rref(B); %用初等行变换把B化为行最简形>> X=C(:,9) %利用高斯消元法求解方程组实验结果:1.方法一的计算结果为:X =Columns 1 through 6-3419/592 727/146 -2543/1009 697/307 -131/89 2033/1009 Columns 7 through 8-835/659 1913/18162方法二的计算结果为:.X =-3419/592727/146-2543/1009697/307-131/892033/1009-835/6591913/18163.方法三的计算结果为:X =-797/138727/146-310/123697/307-131/89542/269-204/161138/131对实验结果的分析:上述3种方案所得的结果不完全一致, 这是因为不同的计算方法在计算机中有不同的精度,导致计算数据结果的不同。
Matlab 使用之线性代数综合实例
一、上机目的1、培养学生运用线性代数的知识解决实际问题的意识、兴趣和能力;2、掌握常用计算方法和处理问题的方法;二、上机内容1、求向量组的最大无关组;2、解线性方程组;三、上机作业1、设A=[2 1 2 4; 1 2 0 2; 4 5 2 0; 0 1 1 7];求矩阵A列向量组的一个最大无关组.>> A=[2 1 2 4;1 2 0 2;4 5 2 0;0 1 1 7]A =2 1 2 41 2 0 24 5 2 00 1 1 7>> rref(A)ans =1 0 0 00 1 0 00 0 1 00 0 0 1所以矩阵A的列向量组的一个最大无关组就是它本身;2、用Matlab解线性方程组(1)>> A=[2 4 -6;1 5 3;1 3 2]A =2 4 -61 5 31 3 2>> b=[-4;10;5]b =-4105>> x=inv(A)*bx =-3.00002.00001.0000>> B=[3 41 -62;4 50 3;11 38 25]B =3 41 -624 50 311 38 25>> c=[-41;100;50]c =-4110050>> x=inv(B)*cx =-8.82212.58901.94653、(选作)减肥配方的实现设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了20世纪80年代美国流行的剑桥大学医学院的简捷营养处方。
现在的问题是:如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少才能全面准确地实现这个营养要求?四、上机心得体会通过此次上机实验,我进一步的认识到了Matlab软件的功能。
Matlab 操作简单、功能强大,它使一些复杂的线性代数问题的计算变得更加简单,有效地提高了人们计算的效率。
而且把一些复杂的实际问题转化为矩阵后再利用Matlab求解既简单有快捷。
matlab实验 线性代数题目1及参考答案
1.求矩阵1021122323310121A ⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥⎣⎦的行列式的值.2。
计算行列式100110011001a b c d---二.用MATLAB 计算矩阵1.求矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=133212321A 与矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=132352423B 的和与差及53A B -. 2.求矩阵123212331A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦与324253231B ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦的乘积.3.求矩阵112011210A -⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦的逆矩阵. 4.求矩阵123421213A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦和212121321B ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦相除。
5.求矩阵2112122112122211A ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦的秩. 三.用MATLAB 解线性方程组1. 求解方程组123123123240200x x x x x x x x x --+=⎧⎪++=⎨⎪+-=⎩。
2。
解方程组AX b =,其中A =212214321⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,b =317⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦. 2. 解方程组12341234123411221x x x x x x x x x x x x -+-=⎧⎪-++-=⎨⎪--+=-⎩.在MA TLAB 中用命令函数det 求行列的值,格式如下det(A)其中A 为n 阶方阵.1.求矩阵1021122323310121A ⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥⎣⎦的行列式的值. >> clear>> A=[1 0 2 1;-1 2 2 3; 2 3 3 1;0 1 2 1]; >> det (A) ans=14矩阵还可以如下输入: A=[1,0,2,1;-1,2,2,3;2,3,3,1;0,1,2,1]2.计算行列式100110011001a b c d---. >> clear>> syms a b c d %生成变量 >> A=[a 1 0 0;-1 b 1 0;0 –1 c 1;0 0 –1 d]; %生成符号矩阵 >> DA=det (A) DA=******1a b c d a b a d c d ++++ 二.用MATLAB 计算矩阵1.求矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=133212321A 与矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=132352423B 的和与差及53A B -. >> clear>> A=[1 2 3;2 1 2;3 3 1]; >> B=[3 2 4;2 5 3;2 3 1]; >> C=A+B; >> D=A-B; >> C,D C=4 4 7 4 65 56 2 D=-2 0 -1 0 -4 -11 0 0 5*A-3*Bans =-4 4 34 -10 19 6 22.求矩阵123212331A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦与矩阵324253231B⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦的乘积.>> clear>> A=[1 2 3;2 1 2;3 3 1]; >> B=[3 2 4;2 5 3;2 3 1]; >> C=A*B , D=B*AC=13 21 1312 15 1317 24 22D=19 20 1721 18 1911 10 133.求矩阵112011210A-⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦的逆矩阵.>> clear>> A=[1 –1 2;0 1 –1;2 1 0];>> C= inv (A)C=-1 -2 12 4 -12 3 -1也可利用矩阵的初等行变换求上例矩阵的逆.>> clear>> B=[1,-1,2,1,0,0;0,1,-1,0,1,0;2,1,0,0,0,1]; %矩阵A|E>> format rat %以有理格式输出>> C=rref (B) %给出矩阵B的行最简形C=1 0 0 -1 -2 10 1 0 2 4 -10 0 1 2 3 -1>> D=C(:,4:6) %取矩阵C的4到6列,D即为矩阵A的逆矩阵D=-1 -2 1 2 4 -1 2 3 -14.求矩阵123421213A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦和212121321B⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦相除.在MA TLAB中,矩阵相除可以利用运算符“\”(左除)和“/”(右除)进行。
线性代数实验报告范例
《线性代数》实验报告学号: 姓名: 得分:实验1 化学方程式配平实验内容: 配平下列反应式FeS + KMnO 4 + H 2SO 4 —— K 2SO 4 + MnSO 4 + Fe 2(SO 4)3 + H 2O + S ↓实验目的: 1. 掌握MATLAB 中若干基本命令.2. 利用MATLAB 求解齐次线性方程组, 并应用于化学方程式的配平.实验原理: 利用线性方程组配平化学方程式是一种待定系数法. 关键是根据化学方程式两边所涉及到的各种元素的量相等的原则列出方程. 所得到的齐次线性方程组Ax = 0中所含方程的个数等于化学方程式中元素的种数s , 未知数的个数就是化学方程式中的项数n .当r(A ) = n -1时, Ax = 0的基础解系中含有1个(线性无关的)解向量. 这时在通解中取常数k 为各分量分母的最小公倍数即可.当r(A ) ≤ n -2时, Ax = 0的基础解系中含有2个以上的线性无关的解向量. 这时可以根据化学方程式中元素的化合价的上升与下降的情况, 在原线性方程组中添加新的方程.设x 1 FeS + x 2 KMnO 4 + x 3 H 2SO 4=== x 4 K 2SO 4 + x 5 MnSO 4 + x 6 Fe 2(SO 4)3 + x 7 H 2O + x 8S ↓,考察方程式两边各种元素可得1613456824252 ......F e 3 ......S 2 ......K x x x x x x x x x x x x =+=+++==23456737 ......M n 444412 ......O22 ......Hx x x x x x x x ⎧⎪⎪⎪⎪⎨⎪⎪+=+++⎪=⎪⎩, 即1613456824252345673720302004444120220x x x x x x x x x x x x x x x x x x x x -=⎧⎪+----=⎪⎪-=⎪⎨-=⎪⎪+----=⎪-=⎪⎩注意到FeS 中Fe 的化合价为+2, S 的化合价为-2, KMnO 4中Mn 的化合价为+7, 反应后它们的化合价分别变为+3, 0, +2. 因此有3x 1 - 5x 2 = 0.综上所述, 可得如下齐次线性方程组161345682425234567371220302004444120220350x x x x x x x x x x x x x x x x x x x x x x -=⎧⎪+----=⎪⎪-=⎪-=⎨⎪+----=⎪⎪-=⎪-=⎪⎩ (*)实验方案: 1. 在MATLAB 命令窗口中输入如下命令:>> A = [1,0,0,0,0,-2,0,0;1,0,1,-1,-1,-3,0,-1;0,1,0,-2,0,0,0,0;0,1,0,0,-1,0,0,0;0,4,4,-4,-4,-12,-1,0;0,0,2,0,0,0,-2,0; 3,-5,0,0,0,0,0,0];>> r = rank(A), x = null(A,’r ’); format rat, x ’实验结果: Matlab 执行上述命令后得r = 7 ans =1 3/5 12/5 3/10 3/5 1/2 12/5 1 可见上述齐次线性方程组的通解为x = k (1, 3/5, 12/5, 3/10, 3/5, 1/2, 12/5, 1)T .取k = 10得x = (10, 6, 24, 3, 6, 5, 24, 10)T . 可见配平后的化学方程式如下10 FeS + 6 KMnO 4 + 24 H 2SO 4=== 3 K 2SO 4 + 6 MnSO 4 + 5 Fe 2(SO 4)3 + 24 H 2O + 10 S ↓对实验结果的分析:上述化学方程式中左右两边的原子团(SO 4)的数目也是一致的. 这意味着原子团(SO 4)在反应前后总量未变.如果事先考察原子团(SO 4)的数目, 则可以得到x 3 = x 4 + x 5 + 3x 6, 即x 3 - x 4 - x 5 - 3x 6 = 0.将上面的方程组(*)中的最后一个方程换成x 3 - x 4 - x 5 - 3x 6 = 0可得1613456824252345673734562030200444412022030x x x x x x x x x x x x x x x x x x x x x x x x -=⎧⎪+----=⎪⎪-=⎪-=⎨⎪+----=⎪⎪-=⎪---=⎪⎩ (**)用MATLAB 求解(**)所得到的结果与上述结果完全一致.实验2 人员流动问题实验内容: 某地区甲、乙两公司经营同一业务. 经验表明甲公司的客户每年有1/3继续留作甲的客户, 而2/3转作乙的客户; 乙的客户有3/5转作甲的客户, 而2/5继续留作乙的客户, 假定客户的总量不变, 起始年甲、乙两公司拥有的客户份额分别为2/3和1/3, 求第n 年客户市场分配情况.实验目的: 1. 掌握MATLAB 中若干基本命令.2. 利用矩阵A 的相似标准形计算A n , 并应用于人员流动问题.实验原理: 设第n 年甲、乙两公司拥有的客户份额分别为x n 和y n , 记成向量n n x y ⎛⎫⎪⎝⎭. 根据已知条件可得11x y ⎛⎫⎪⎝⎭=2/31/3⎛⎫⎪⎝⎭,⎪⎪⎭⎫ ⎝⎛++11n n y x =1/33/52/32/5⎛⎫⎪⎝⎭⎪⎪⎭⎫⎝⎛n n y x .令A =1/33/52/32/5⎛⎫⎪⎝⎭, 则⎪⎪⎭⎫ ⎝⎛++11n n y x = A ⎪⎪⎭⎫ ⎝⎛n n y x = A 211n n x y --⎛⎫⎪⎝⎭= … = An 11x y ⎛⎫⎪⎝⎭.实验方案: 在MATLAB 命令窗口中输入如下命令: >> A = [1/3,3/5;2/3,2/5]; format rat >> [P,D] = eig(A) Matlab 执行后得 P =-985/1393 -5919/8848 985/1393 -3353/4511 D =-4/15 0 0 1可见P -1AP = D 为对角矩阵, 且A n = PD n P -1.为了进一步计算⎪⎪⎭⎫ ⎝⎛++11n n yx , 即P Λn P-111x y ⎛⎫⎪⎝⎭, 在Matlab 命令窗口输入以下命令>> syms n %定义符号变量>> P*[(-4/15)^n,0;0,1]*P^(-1)*[2/3;1/3]Matlab执行后得ans =[ 11/57*(-4/15)^n+9/19][ -11/57*(-4/15)^n+10/19]实验结果: 第n年甲、乙两公司拥有的客户份额分别为114 5715n-⎛⎫ ⎪⎝⎭+919和1145715n-⎛⎫- ⎪⎝⎭+1019.对实验结果的分析:当n→∞时, 1145715n-⎛⎫ ⎪⎝⎭+919→919, -1145715n-⎛⎫⎪⎝⎭+1019→1019. 这意味着, 随着n增加, 甲、乙两公司拥有的客户份额趋于稳定, 分别趋向于919和1019.。
线性代数实验报告
《线性代数》实验报告学号: 姓名: 得分:实验一 车流量统计实验内容:调查每条道路每小时的车流量实验目的: 1. 掌握MATLAB 中若干基本命令.2.利用MATLAB 求非齐次线性方程组的解,并应用于车流量统计。
实验原理:(1)要调查每小时每条道路上车的流量,就得考察每个交叉路口车的流进流出的量,且一定满足每个交叉路口车的流入总量等于车的流出总量,进而列出等式,联立成方程组:180+220=x 1+x 7 x1+0+0+0+0+0+x7+0+0+0+0+0=400 x 1+x 9=300+x 2 x1-x2+0+0+0+0+0+0+x9+0+0+0=300 x 2+100=300+x 11 0+x2+0+0+0+0+0+0+0+0-x11+0=200 x 7+x 3=350+x 8 0+0+x3+0+0+0+x7-x8+0+0+0+0=350 x 4+x 10=x 9+x 3 整理得: 0+0+x3-x4+0+0+0+0+0+0+x11-x12=0 500+x 11=x 4+x 12 0+0+0+x4+0+0+0+0+0+0-x11+x12=500 x 8+x 5=160+150 0+0+0+0+x5+0+0+x8+0+0+0+0=310 400+x 6=x 5+x 10 0+0+0+0+x5-x6+0+0+0+x10+0+0=400 150+x 12=290+x 6 0+0+0+0+0+x6+0+0+0+0+0-x5=-140(2)计算系数矩阵的秩r(A),12-r(A)即是自变量的个数,即是所要增加的车流量统计的道路的条数,根据自变量确定因变量的值,故因变量的数据就没必要统计。
实验方案:在MATLAB 命令窗口下输入如下命令:A=[1,0,0,0,0,0,1,0,0,0,0,0;1,-1,0,0,0,0,0,0,1,0,0,0;0,1,0,0,0,0,0,0,0,0,-1,0;0,0,1,0,0,0,1,-1,0,0,0,0;0,0,1,-1,0,0,0,0,0,0,1,-1;0,0,0,1,0,0,0,0,0,0,-1,1;0,0,0,0,1,0,0,1,0,0,0,0;0,0,0,,0,1,-1,0,0,0,1,0,0;0,0,0,220300100180350160150 400 290300500150x 1x 2x 3 x 9x 4x 5 x 6x 7x 80,0,1,0,0,0,0,0,-1];b=transpose([400,300,200,350,0,500,310,400,140]);rank(A)rank([A,b])format ratrref([A,b])实验结果:ans =9ans =9ans =1 0 0 0 0 0 0 0 0 1 0 -1 7800 1 0 0 0 0 0 0 0 0 -1 0 2000 0 1 0 0 0 0 0 0 0 0 0 5000 0 0 1 0 0 0 0 0 0 -1 1 5000 0 0 0 1 0 0 0 0 1 0 -1 5400 0 0 0 0 1 0 0 0 0 0 -1 1400 0 0 0 0 0 1 0 0 -1 0 1 -3800 0 0 0 0 0 0 1 0 -1 0 1 -2300 0 0 0 0 0 0 0 1 -1 -1 1 -280由输出的结果可知rank(A)=rank([A,b]),故此非齐次线性方程组有解。
03-Matlab-线性代数实验解析
矩阵生成示例
思考与练习:生成如下矩阵
5 2
1 2
5 2
9
2
4
A
5
2 5
2
5
B
636
3
4
8
1 5
矩阵处理
triu(A) 生成一个第k条对角线及以上元素为A的 triu(A,k) 元素,其余元素都为零的与A同阶的上三
齐次方程组Ax=0求解
若A 不满秩,则方程有非零解
rref(A) %求得A的行最简形矩阵 null(A) %求得基础解系
A=magic(8) rank(A) rref(A) null(A)
非齐次线性方程组Ax=b求解
r(A)=r(A,b)=n,方程有唯一解 x=A\b 或x=inv(A)*b.
r(A)=r(A,b)<n,方程有无穷解
线性代数实验
1 矩阵处理和分析 2 矩阵的特征值与特征向量 3 Matlab线性方程组求解 4 工资问题和动物繁殖问题
特殊矩阵的生成
A=ones(m,n)
A=eye(n) n阶单位阵
A=hilb(n) n阶Hilbert矩阵hij=1/(i+j-1)
H=invhilb(n) n阶Hilbert逆矩阵,n大时坏条件
动物繁殖问题
某农场饲养的动物所能达到的最大年龄为15岁,将其分 为三个年龄组:第一组,0 ~ 5岁;第二组6 ~ 10岁;第三组11 ~ 15岁。动物从第二年龄组起开始繁殖后代,经过长期统 计,第二年龄组的动物在其年龄段平均繁殖4个后代,第三 组在其年龄段平均繁殖3个后代,第一年龄组和第二年龄 组的动物能顺利进入下一个年龄组的存活率分别为1/2 和1/4。假设农场现有三个年龄段的动物各1000头,问15 年后农场饲养的动物总数及农场三个年龄段的动物各将 达到多少头?指出15年间,动物总增长多少头及总增长率.
线性代数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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性代数MATLAB 实验指导书MATLAB 是Matrix Laboratory 的缩写,是一个集数值计算、图形处理、符号运算、文字处理、数学建模、实时控制、动态仿真和信号处理等功能为一体的数学应用软件,而且该系统的基本数据结构是矩阵,又具有数量巨大的内部函数和多个工具箱,使得该系统迅速普及到各个领域,尤其在大学校园里,许多学生借助它来学习大学数学和计算方法等课程,并用它做数值计算和图形处理等工作。
我们在这里介绍它的基本功能,并用它做与线性代数相关的数学实验。
在正确完成安装MATLAB 软件之后,直接双击系统桌面上的MATLAB 图标,启动MATLAB ,进入MATLAB 默认的用户主界面,界面有三个主要的窗口:命令窗口(Commend Window ), 当前目录窗口(Current Directory ),工作间管理窗口(Workspace )。
命令窗口是和Matlab 编译器连接的主要窗口,“>>”为运算提示符,表示Matlab 处于准备状态,当在提示符后输入一段正确的运算式时,只需按Enter 键,命令窗口中就会直接显示运算结果。
实验1 矩阵的运算,行列式实验名称:矩阵的运算,行列式实验目的:学习在matlab 中矩阵的输入方法以及矩阵的相关运算,行列式。
实验原理:介绍相关的实验命令和原理(1)一般矩阵的输入 (2)特殊矩阵的生成 (3)矩阵的代数运算(4)矩阵的特征参数运算 (5)数字行列式和符号行列式的计算实验命令1 矩阵的输入 Matlab 是以矩阵为基本变量单元的,因此矩阵的输入非常方便。
输入时,矩阵的元素用方括号括起来,行内元素用逗号分隔或空格分隔,各行之间用分号分隔或直接回车。
例1 输入矩阵 ⎪⎪⎪⎭⎫ ⎝⎛--=654301211A ,可以在命令窗口中输入>>A=[1 1 2;-1 0 3;4 -5 6]A =1 1 2-1 0 34 -5 62 特殊矩阵的生成某些特殊矩阵可以直接调用相应的函数得到,例如:zeros(m,n) 生成一个m 行n 列的零矩阵ones(m,n) 生成一个m 行n 列元素都是1的矩阵eye(n) 生成一个n 阶的单位矩阵rand(m,n) 生成一个m 行n 列的随机矩阵magic(n) 生成一个n 阶魔方矩阵例2 随机生成一个32⨯的矩阵。
>> rand(3,2)ans =0.9501 0.48600.2311 0.89130.6068 0.76213 矩阵的代数运算如果已经输入矩阵A 和B ,则可由下述命令对其进行运算A ’ A 的转置 (或 transpose(A)) A +B 加法k*A 数k 乘A A*B 乘法inv(A) A 的逆阵 A^x A 的x 次方A\B 左除B A 1- A/B 右除1-BAA.*B 矩阵元素符号前加“.”,其含义是矩阵元素的群运算。
例3 设,153220101,463210121⎪⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎭⎫ ⎝⎛--=B A 求'A ,B A +,AB ,2A ,B A 1-,A.*B程序设计结果如下:>>A=[1 2 -1;0 1 2;-3 6 4]A =1 2 -10 1 2-3 6 4>> B=[-1 0 1;0 2 2;3 5 1]B =-1 0 10 2 23 5 1>> A'ans =1 0 -32 1 6-1 2 4>> A+Bans =0 2 00 3 40 11 5>> A*Bans =-4 -1 46 12 415 32 13>> A^2ans =4 -2 -1-6 13 10-15 24 31>> inv(A)*Bans =-1.0000 0.1304 1.34780 0.3478 0.26090 0.8261 0.8696>> A.*Bans =-1 0 -10 2 4-9 30 44 矩阵的特征参数运算在进行科学运算时,常常要用到矩阵的特征参数,如矩阵的行列式、秩、迹、条件数等,在Matlab 可以用下述命令轻松地进行这些运算。
det(A) A 的行列式rank(A) A 的秩trace(A) A 的迹cond(A) A 的条件数size(A) 输出A 的行数和列数例4 求向量组T T T T )0,2,2,2(,)2,4,1,3(,)1,0,4,1(,)3,2,1,0(----的秩。
程序运行结果如下:>> A=[0 1 3 -2;-1 4 1 2;2 0 4 -2;3 -1 2 0]A =0 1 3 -2-1 4 1 22 0 4 -23 -1 2 0>> rank(A)ans =3故可知向量组的秩为3.例5 判断向量组T T T T ==-==]4,5,1,3[,]3,3,0,2[,]1,1,1,1[,]3,2,1,1[4321αααα是否线性相关?由4321,,,αααα所组成的矩阵⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=4313531210113211A ,求出A 的秩或者A 的行列式 即可判断其线性相关性,因此,在matlab 命令窗口下,键入:A=[1 1 2 3;1 -1 0 1;2 1 3 5;3 1 3 4];rank(A)ans =3即43)(<=A r ,故4321,,,αααα线性相关.例6 计算987654321=D .程序运行结果如下:>> A=[1 2 3;4 5 6;7 8 9];>>D=det(A)ans =5 含有符合变量的行列式定义符号变量syms x,y 定义符号变量x,ydet(A(x,y)) 计算含有符号变量x,y 的行列式例7 计算yy x x++++1111111111111111. 程序运行结果如下:syms x yA=[1+x 1 1 1;1 1+x 1 1;1 1 1+y 1;1 1 1 1+y];det(A)ans =2*x*y^2+2*x^2*y+x^2*y^2实验2线性方程组的求解,特征向量与二次型实验名称:线性方程组的求解,特征向量与二次型实验目的:学习在Matlab 中行列式如何计算和线性方程组的求解问题;学习在Matlab 中特征向量的计算和化二次型为标准形。
实验原理: 介绍相关的实验命令和原理(1)齐次线性方程组和非齐次线性方程组的求解(2)特征值与特征向量的计算;(3)化二次型为标准形的方法。
1 在Matlab 中,求解线性方程组的方法有很多,本实验中介绍如下命令来直接求解。
也可用程序设计的方法来求解线性方程组。
rref(A) A 的最简行阶梯形矩阵null(A,'r') 求齐次方程组Ax=0的基础解系A\y 求解Ax=y 的一个特解(最小二乘问题)2 方阵的特征值与特征向量在矩阵对角化中和微分方程组等问题中有着广泛的应用。
可以分析矩阵的对角化问题,分析二次型的正定性等,在Matlab 中与本实验相关的命令。
P=Poly(A) 求A 的特征多项式roots(P ) 求多项式P 的零点[V ,U]=eig(A) A 的特征值与特征向量例1将矩阵⎪⎪⎪⎭⎫ ⎝⎛----=51111234284110117A 化为最简行阶梯形矩阵。
程序运行结果A=[7 1 -1 10 1;4 8 -2 4 3;12 1 -1 -1 5];rref(A)ans =1.0000 0 0 -2.2000 0.80000 1.0000 0 -6.3333 1.50000 0 1.0000 -31.7333 6.1000例2 求齐次方程组⎪⎩⎪⎨⎧=--+=+--=--+023*********43214321x x x x x x x x x x x x 的基础解系及全部解.解:该方程组的矩阵表示形式为0121311122121=⎪⎪⎪⎭⎫ ⎝⎛------X .则在matlab 命令窗口下,键入A=[1 2 -1 -2;2 -1 -1 1;3 1 -2 -1];null(A,'r') %这里面的r 表示矩阵的秩 ans =0.6000 00.2000 1.00001.0000 00 1.0000即两个基础解系分别为⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=1010,012.06.011ηη.故原方程通解为2211ηηk k y +=(21,k k 为任意常数).例3 求解线性方程组 ⎪⎪⎩⎪⎪⎨⎧-=++++=+++=+++=++-+223358114525627423543215321542154321x x x x x x x x x x x x x x x x x x 解:程序结果如下:>>B=[1 3 -2 4 1 7;2 6 0 5 2 5;4 11 8 0 5 3;1 3 2 1 1 -2];rref(B)B =1 3 -2 4 1 72 6 0 5 2 54 11 8 05 31 32 1 1 -2ans =1.0000 0 0 -9.5000 4.0000 35.50000 1.0000 0 4.0000 -1.0000 -11.00000 0 1.0000 -0.7500 0 -2.25000 0 0 0 0 0所以原方程组等价于方程组⎪⎩⎪⎨⎧-=--=-+=+-25.275.01145.3545.943542541x x x x x x x x故方程组的通解为:⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-+⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-=0025.2115.35100140175.045.921c c X ,其中R c c ∈21, 例4 求矩阵⎪⎪⎪⎭⎫ ⎝⎛--=201034011A 的特征值与特征向量。
程序运行结果如下:>>A=[-1 1 0;-4 3 0; 1 0 2]A =-1 1 0-4 3 01 0 2>> E=eig(A)E =211>> [V ,D]=eig(A)V =0 0.4082 0.4082 0 0.8165 0.8165 1.0000 -0.4082 -0.4082D =2 0 00 1 00 0 1例5 将矩阵⎪⎪⎪⎭⎫⎝⎛=310130005A 对角化。
程序运行结果:>>A=[5 0 0;0 3 1;0 1 3]A =5 0 00 3 10 1 3>> [P,D]=eig(A)P =0 0 1.0000 -0.7071 0.7071 00.7071 0.7071 0D =2 0 00 4 00 0 5>>B=inv(P)*A*PB =2.0000 0 00 4.0000 00 0 5.0000。