用MATLAB做线性代数实验
通过matlab完成线性代数的运算

《线性代数》实验室!
在这里,抽象的数学已经成为一门生动 的“实验科学”,从实际问题出发,借助 计算机,你可以亲自设计、亲自动手,去 体验解决问题的过程,从实验中去学习、 探索和发现数学规律。
线性代数实验课
南通职业大学基础课部 2000年10月
课程目录
•实验一 •实验二
•实验三 •实验四 •实验五
例7.输入:
while 1 n=input(ˊEnter n,negative quies.ˊ); if n<=0 break,end while n>1 if rem(n,2)==0 n=n/2 else n=3*n+1 end end end.
10.求助提示
格式: Help
%可得到HELP文件列表和磁盘上 的各种M文件 Help facility % 给出指定的项的帮助信息 格式: demo % 给出一个表演程序的菜单
5、变量的存储
用clear命令可从工作空间中清除现存的变量。 工作空间中的变量可以用save命令存储到磁盘文件中 去。键入命令save<文件名>,将工作空间中全部变量 存到<文件名>.mat文件中去,若省略<文件名>则存 入文件matlab.mat中;命令save<文件名><变量名集> 将<变量名集>指出的变量存入文件<文件名>.mat中 。 用命令laod可将变量从磁盘文件读入MATLAB的工作 空间,其用法为load<文件名>,它将<文件名>指出的 磁盘文件中的数据依次读入名称与<文件名>相同的工 作空间中的变量中去。若省略<文件名>则matlab.mat从 中读入所有数据。
主要运算有
A'表示A的转置矩阵。 A+B表示矩阵A与B的和; A-B表示矩阵A与B的差。 (3)矩阵乘法: A*B表示矩阵A与B的乘积。当其中一个变量是标量时, K*B=B*K表示标量与矩阵的乘法。 (4) 矩阵除法: 分左除“\”和右除“/”;X=A\B表示AX=B的解;X= A/B表示XA=B的解。 特别地当B为列向量时,X=A\B是线性方程组AX=B的解。如果A是非 奇异矩阵,则X=A\B=A-1B。 (5) 矩阵乘方: A^P,当P为正整数时,表示P个A的连乘积。 3、向量运算符 (1) “.*”:表示矩阵A与B对应元素相乘所得的矩阵 (2) “./”和“.\”:表示向量对应元素相除。“./”其中表示A的元素是被除 数 (3) “.^”:表示求A元素以B对应元素为指数的值 (1) 转置: (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线性代数实验解析

工资问题
问题 现有一个木工,一个电工和一个油漆
工,三人互相同意彼此装修他们自己的房子。 在装修之前,他们达成协议:(1)每人总共 工作10天(包括给自己家干活在内);(2) 每人的日工资根据一般的市价在60~80元之 间;(3)每人的日工资数应使得每人的总收 入与总支出相等。
r(A)=r(A,b)<n,方程有无穷解
特解:A\b或pinv(A)*b 用null(A,’r’)求得AX=0 的基础解系
A = A(:,1:6);
b = 260*ones(8,1);
A\b
pinv(A)*b
Matlab线性代数实验解析
练习
判断下面的线性方程组是否有解,若有解 求其通解。
2x1 x2 x3 x4 1 3x1 2x2 x3 3x4 4 x1 4x2 3x3 5x4 2
Matlab线性代数实验解析
实验练习
还相机处
甲
乙
丙
甲
租相机 处
乙
丙
0.8 0.2 0 0.2 0 0.8 0.2 0.2 0.6
Matlab线性代数实验解析
课堂练习1
1 1 1 1
设A
1
2
3
4
,求A的秩、行列式、
1 4 9 16
1
8
27
6
4
逆矩阵及行最简形。
Matlab线性代数实验解析
电工、油漆工的日工资。 根据协议中每人总支出与总收
入相等的原则,分别考虑木工、电 工及油漆工的总收入和总支出。
Matlab线性代数实验解析
问题分析与建立模型
可得方程得方程组
2 x1 4 x1
x2 6x3 5x2 x3
用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所以得到近似解。
Matlab在线性代数中的应用

利用Matlab的控制设计方法,如PID控制、状态反馈控制等,可以 设计出有效的控制系统。
THANKS
感谢观看
利用Matlab的图像处理函数,可以从图像中提取 特征,如边缘、角点等,用于目标检测和识别。
在控制系统中的应用
系统建模
使用Matlab的控制系统工具箱,可以对系统进行建模,如线性时 不变系统、非线性系统等。
系统分析和仿真
通过Matlab的控制系统函数,可以对系统进行稳定性分析、控制 性能分析和仿真测试。
向量运算
向量的基本运算
包括向量的加法、减法、数乘、向量的模等。
向量的内积和外积
内积和外积是描述向量之间关系的运算,用于计算向量的长度、角 度等。
向量运算的实际应用
向量运算在物理、工程等领域有广泛应用,如描述物体运动轨迹、计 算力的合成等。
特征值与特征向量
01
特征值和特征向量 的定义
特征值和特征向量是描述矩阵特 性的重要概念,用于描述矩阵变 换的性质。
04
Matlab在线性代数中的优势与 局限性
优势
高效计算能力
Matlab提供了强大的矩阵运算 和数值计算功能,使得线性代
数问题的求解更加高效。
可视化工具
Matlab内置了丰富的可视化工 具,可以直观地展示线性代数 中的向量、矩阵和线性变换等 概念。
易于学习和使用
Matlab的语法相对简单,使得 线性代数运算变得容易理解和 实现。
解的精度和稳定性
Matlab在线性方程组求解过程中考虑了精 度和稳定性问题,能够提供可靠的解。
向量运算和特征值问题
向量运算
Matlab支持向量的基本运算 ,如加法、减法、数乘、点 积等。
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做线性代数实验
2
0
, 2
5 3
, 3
1
3
, 4
1
4
, 5
1
2
。
3
6
0Hale Waihona Puke 73【程序如下】:
% (1)
A=[1 2 1 3;4 -1 5 6;1 -3 -4 7;1 2 1 1]' r=rank(A) [R,IP]=rref(A) % (2) A=[1 2 0 2 1;-2 -5 1 -1 1;0 -3 3 4 2;P3 6 0 -7 3] r=rank(A) [R,IP]=rref(A)
例如:
已知
A
1 3
2 4
,
B
1 1
2 0
,解矩阵方程
(1)
AX
B , (2) XA B 。
MATLAB 程序如下:
A=[1 2;3 4];
B=[1 2;-1 1];
X1=inv(A)*B % AX=B or
X1=A\B
X2=B*inv(A) % XA=B
X2=A/B
将 p(x) 分解为最简分式之和 q( x)
[p,q]=residue(a,b,r) 将简单分式之和合并为有理分式
例如,将有理分式
f
(x)
x2 x3 2x2 3x2
分解为最简分式之和的程序如下:
p=[1 2];
q=[1 2 3 2];
[a,b,r]=residue(p,q)
输出:a =
-0.2500 - 0.4725i
p=[1 -6 11 -6];
线性代数实验报告汇总
数学实验报告题目第一次实验题目一、实验目的1MATLAB 的矩阵初等运算;.熟悉2 .掌握求矩阵的秩、逆、化最简阶梯形的命令;3MABLAB 求解线性方程组.会用二、问题求解和程序设计流程344?221????????MATLABA1 B、,已知命令窗口中建立.,在320B???50??3A????????112?153????矩阵并对其进行以下操作:(1) A 的行列式的值计算矩阵?)?Adet((2) 分别计算下列各式:、和、、、、B?A.T112??B?BA?2A ABABAA:解(1)编写程序如下:A=[4 -2 2;-3 0 5;1 5 3];B=[1 3 4;-2 0 -3;2 -1 1];a=det(A)运行结果:a =-158(2)编写程序如下:C=2*A-BD=A*BE=A.*BF=A/BG=A\BH=A*AK=A'运行结果:C =7 -7 0-4 0 13线性代数实验报告0 11 5D =12 10 247 -14 -7-3 0 -8E =4 -6 86 0 -152 -5 3F =0 0 2.0000-2.7143 -8.0000 -8.14292.42863.0000 2.2857G =0.4873 0.4114 1.00000.3671 -0.4304 0-0.1076 0.2468 0H =24 2 4-7 31 9-8 13 36K =4 -3 1-2 0 52 5 32 MATLABrankinv 求下列矩阵的秩:中分别利用矩阵的初等变换及函数.在、函数线性代数实验报告3501??2631?????0012????(1) Rank(A)=? 2求) 求(054A?3??B1??B?????0201??4??1112????2102??解:1 编写程如下:()format rat A=[1 -6 3 2;3 -5 4 0;-1 -11 2 4];rref(A)运行结果:ans =1 0 0 -8/50 1 0 00 0 1 6/5AA3 。
利用Matlab进行线性代数问题求解的方法与案例
利用Matlab进行线性代数问题求解的方法与案例引言线性代数是数学的一个重要分支,广泛应用于工程、物理、计算机科学等领域。
而Matlab作为一种功能强大的数值计算软件,提供了各种实用的工具和函数,可以方便地解决线性代数问题。
本文将介绍一些常用的线性代数问题求解方法,并通过具体的案例来展示Matlab在实际应用中的效果。
一、线性方程组的求解线性方程组是线性代数中最基础的问题之一。
Matlab提供了多种求解线性方程组的函数,如“backslash”操作符(\)和“linsolve”函数等。
下面通过一个实例来说明Matlab的线性方程组求解功能。
案例:假设有以下线性方程组需要求解:2x + 3y - 4z = 53x - 2y + z = 8x + 5y - 3z = 7在Matlab中输入以下代码:A = [2 3 -4; 3 -2 1; 1 5 -3];b = [5; 8; 7];x = A\b;通过以上代码,我们可以得到线性方程组的解x=[1; -2; 3]。
这表明在满足以上方程组的条件下,x=1,y=-2,z=3。
可以看出,Matlab在求解线性方程组时,使用简单且高效。
二、矩阵的特征值和特征向量求解矩阵的特征值和特征向量也是线性代数中的重要概念。
利用特征值和特征向量可以得到矩阵的许多性质和信息。
在Matlab中,我们可以通过“eig”函数来求解矩阵的特征值和特征向量。
案例:假设有一个2x2矩阵A,需要求解其特征值和特征向量。
在Matlab中输入以下代码:A = [2 3; 1 4];[V, D] = eig(A);通过以上代码,我们可以得到矩阵A的特征向量矩阵V和特征值矩阵D。
具体结果如下:特征向量矩阵V = [0.8507 -0.5257; 0.5257 0.8507]特征值矩阵D = [1.5858 0; 0 4.4142]由结果可知,矩阵A的特征向量矩阵V和特征值矩阵D可以提供有关该矩阵的很多信息,如相关线性变换、对称性等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[q,r]=deconv(p1,p2) 计
p1 ( x ) q( x ) p2 ( x ) r ( x ) , d (r ( x )) d ( p2 ( x ))
加、减法:首先应该将相应的系数向量化为同维数的向量,方法是在较低维数向 量的前面添加 0 元素。
例如,设 p1 ( x ) x 3 x 2 2 , p2 ( x ) 3 x 1 ,计算 p1 ( x ) p2 ( x ) 的 MATLAB 实现方法如 下: clear p1=[1 1 0 -2]; p2=[3 1]; m=length(p1); n=length(p2); t=max(m,n); p1=[zeros(1,t-m) p1]; p2=[zeros(1,t-n) p2]; p3=p1+p2; poly2sym(p3) 【3】分解与合并 相关 MATLAB 函数 函数名 collect(f) expand(f) horner(f) factor(f) 含义 对符号多项式 f 进行合并同类项 对符号多项式 f 进行展开 对符号多项式 f 进行嵌套分解 对符号多项式 f 进行因式分解 % 将多项式按照幂次对齐 % 取向量的长度
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))
Ax b 的一个特解;
第三步,利用 Ax b 的解的结构理论构造处通解。 Case3: (3)当 Ax b 有无解时,可以采用下述方法求出最小二乘解 命令:x=(A'*A)\(A'*b); 命令:x=linsolve(A,B,opt) 例如:求下列线性方程组的通解
x 2 y 3z 0 1. 4 x 5 y 6z 0 ; 7 x 8 y 9z 0 2 x y 3z 1 4. 2z 6 ; 2 x 4 x 2 y 5z 7
编程创建,矩阵元素有特殊规律 已知矩阵 A,产生关联的矩阵,如对角阵、上三角阵、下三角阵、同阶矩 阵等 已知矩阵 A、B、C、D,创建分块矩阵 【2】元素操作 改变某元素
扩充矩阵 A 选择部分行、部分列 选择子矩阵 删除行、删除列 替换行、替换列 拉升成向量 旋转矩阵、翻转矩阵 【3】基本属性获取: 获取矩阵的行数、列数:[m,n]=size(A) 获取矩阵的秩:r=rank(A) 获取矩阵的行最简形:[R,P]=rref(A) 【4】初等变换 初等行变换:交换行、数乘行、替换行 初等列变换:交换列、数乘列、替换列
B2=subs(A,s,rt(2))
5. 向量空间 【1】线性相关性的判别方法 【判别原理】设 A [1 , 2 , , n ] ,若 rank ( A) n ,则 1 , 2 , , n 线性无关;否 则线性相关。由 1 , 2 , , n 张成的向量空间的维数等于矩阵 A 的秩;其一个极大线 性无关组即为张成空间的一个基。 例如,判断下列向量组的线性相关性,并求张成空间的维数和一个极大线性 无关组。 (1) . 1 1, 2,1, 3 , 2 4, 1,5,6 , 3 1, 3, 4,7 , 4 1, 2,1,1 ;
4. 线性方程组 Ax b 求解 【1】求解方法 【判别原理】 : (1)若 R( A) R( A, b) n ,则方程组 Ax b 有唯一解; (2)若 R( A) R( A, b) n ,则方程组 Ax b 有无穷多解; (3)若 R( A) R( A, b) ,则方程组 Ax b 无解。 Matlab 命令:rank(A),rref([A,b]),linsolve(A,b),null(A),A\b。 【求解方法】原理:高斯消元法。将增广矩阵化成行最简形,然后求解。 【步骤】 :Case1:当 Ax b 有唯一解时,可采用如下两种方法之一 利用命令:x=A\b; 利用命令:x=linsolve(A,b); 利用 LU 、 QR 、 Cholesky 分解命令: x=U\(L\b) ; x=Q\(R\b) ; x=R\(R'\b) Case2: 当 Ax b 有无穷多解时,可以采用下述方法 利用命令:null(A,'r'); 第一步,利用 z=null(A,'r')求出 Ax 0 的基础解系; 第二步,利用 A\b 或者 rref([A,b])或者 linsolve(A,b) 求出
x 2 y 3z 0 2 x y 3z 1 2. 2 x 4 y 6 z 0 ;3. 4 x 2 y 5z 4 ; 3 x 6 y 9z 0 2 x y 4z 0
x 2 y 6 z 7 w 67 x 9 y 7 z 14w 117 5. x 2 y 5 z 9w 79 3 x 6 y 16 z 25w 225
0.5 x 1
[p1,q1]=residue(a(1:2),b(1:2),r);%合并前两项 poly2sym(p1) poly2sym(q1) 结果为: f ( x )
0.5 x 1 x2 x 2
0.5 x 1
【5】最大公因子式与最小公倍数 利用带余除法命令以及辗转相除法,可以求两个多项式的最大公因式和最小公倍 式。 [q,r]=deconv(p1,p2) 计 算 带 余 除 法 :
MATLAB 程序如下: sym s; A=[s 1 1 1;1 s 1 s;1 1 s s^2] rref(A) % 只能获得唯一解情况
% 交换第 1 行和第 3 行 B=A A(1,:)=B(3,:) A(3,:)=B(1,:) % 消元 A(2,:)=A(2,:)-A(1,:) A(3,:)=A(3,:)-s*A(1,:)
A 2 E A* XA 8 A ,右乘 A 的逆矩阵得到
% AX=B or
% XA=B
2 A | A | E X 8 E
(2)编程计算: A=diag([1 -2 1]); B=2*A-det(A)*eye(3); if det(B)~=0 X=8*inv(B)*eye(3) else disp 'ÎÞ½â' end
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
poly2sym(p) 由多项式系数转为多项式函数的表达式陪 p(x) polyval(p,a) roots(p) poly(r) 计算 p(a) p(x)=0 的所有复根 由根向量创建多项式的系数
【2】四则运算及带余除法 相关 MATLAB 函数 函数名 p3=conv(p1,p2) 含义 计算多项式的乘积 算 带 余 除 法 :
例如,求多项式 f x 3 x 2 2 x 1, g x 3 x 2 y xy x y 2 2 的嵌套分解以及因式分 解程序如下: syms x; syms y;
f=x^3+x^2+2*x+1; g=x+x*y+y^2+x^2*y+x^3+2; horner(f) horner(g)
用 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 函数 函数名 含义 %注意保证第一个分量不能为零
factor(f) factor(g)
【4】有理分式的分解与合并 相关 MATLAB 函数 函数名 含义
p( x ) [a,b,r]=residue(p,q) 将 q ( x ) 分解为最简分式之和
[p,q]=residue(a,b,r) 将简单分式之和合并为有理分式 例如,将有理分式 f ( x ) p=[1 2]; q=[1 2 3 2]; [a,b,r]=residue(p,q) 输出:a = -0.2500 - 0.4725i -0.2500 + 0.4725i 0.5000 b= -0.5000 + 1.3229i
poly2sym(r2) poly2sym(r2(3:4)/r2(3)) % 首1的最大公因式 s=deconv(conv(p,q),r2(3:4)/r2(3));%最小公倍式 poly2sym(s)
2. 矩阵元素操作 【1】矩阵创建 通过元素列表输入,例如:A=[1 2 3;4 5 6;7 8 9]; 通过外部数据加载,例如:load A.mat % 要求 A.mat 自己创建 在 m 文件中创建,例如: 通过函数创建,例如: zeros(n,m) ones(n,m) rand(n,m) randn(n,m) magic(n) vander(c) 零阵 壹阵 随机阵 正态随机 幻方阵 由向量 C 生成范德蒙矩阵
【2】参数方程解的判别 【注意】 :含有参数情况的线性方程组的解的情况讨论,不能直接使用 Matlab 中 的函数:rank,rref,因为 Matlab 会默认这些参数及其表达式不等于零。因此,应 该编写独立的过程加以讨论。 试就参数 s 的各种情况,讨论下述线性方程组的解的情况: