实验一用matlab求解线性方程组

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

实验1.1 用matlab 求解线性方程组

第一节 线性方程组的求解 一、齐次方程组的求解

rref (A ) %将矩阵A 化为阶梯形的最简式

null (A ) %求满足AX =0的解空间的一组基,即齐次线性方程组的基

础解系

【例1】 求下列齐次线性方程组的一个基础解系,并写出通解:

我们可以通过两种方法来解: 解法1:

>> A=[1 -1 1 -1;1 -1 -1 1;1 -1 -2 2]; >> rref(A) 执行后可得结果: ans=

1 -1 0 0 0 0 -1 1 0 0 0 0 由最简行阶梯型矩阵,得化简后的方程

⎪⎩⎪

⎨⎧=+--=+--=-+-0

22004321

43214321x x x x x x x x x x x x

取x2,x4为自由未知量,扩充方程组为

提取自由未知量系数形成的列向量为基础解系,记

所以齐次方程组的通解为

解法2: clear

A=[1 -1 1 -1;1 -1 -1 1;1 -1 -2 2];

B=null(A, 'r') % help null 看看加个‘r’是什么作用,

若去掉r ,是什么结果?

执行后可得结果: B=

1 0 1 0 0 1 0 1

⎩⎨

⎧=-=-0

04321x x x x ⎪⎪⎩⎪⎪⎨

⎧====4

4432221x x x x x x x x ⎥⎥⎥

⎥⎦⎤

⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎣⎡1100001142

4321x x x x x x ,

00111⎥⎥⎥⎥⎦

⎢⎢⎢⎢⎣⎡=ε,

11002⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎣⎡=ε2

211εεk k x +=

易见,可直接得基础解系

所以齐次方程组的通解为

二、非齐次线性方程组的求解 Matlab 命令的基本格式:

X =A\b %系数阵A 满秩时,用左除法求线性方程组AX =b 的解

注意:A/B 即为AB -1, 而A\B 即为A -1B.

C =[A,b];

D =rref(C) % 求线性方程组AX =b 的特解,即D 的最后一列元素

【例2】 求下列非齐次线性方程组的解:

,

00111⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎣⎡=ε,

11002⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎣⎡=ε⎪⎪⎪⎩⎪

⎪⎪⎨⎧=+=++=++=++=+1

50

65065065165545

4354332121x x x x x x x x x x x x x 2

211εεk k x +=

解: clear

A=[5 6 0 0 0;1 5 6 0 0;0 1 5 6 0;0 0 1 5 6;0 0 0 1 5]; b=[1;0;0;0;1];

format rational %采用有理数近似输出格式,

比较format short 看看

x=A\b

执行后可得所求方程组的解. 作业:

【第一题】 求下列非齐次线性方程组的通解.

A=[1 2 3 1;1 4 6 2;2 9 8 3;3 7 7 2] B=[3;2;7;12] format rational x=A\B x =

⎪⎪⎩⎪⎪⎨

⎧=+++=+++=+++=+++12

27737389222643324321432143214321x x x x x x x x x x x x x x x x

4

2/3

1/2684838239393950

-7/3

【第二题】计算工资问题

一个木工,一个电工,一个油漆工,三个人相互同意彼此装修他们自己的房子。在装修之前,他们达成如下协议:

(1)每人总共工作十天(包括给自己家干活在内);

(2)每人的日工资根据一般的市价在60~80元之间;

(3)每人的日工资数应使得每人的总收入与总支出相等。

下为他们协商后制定出的工作天数分配方案:

解:设在木工、电工和油漆工每天的工资数分别为x,y和z;

依题意得

8x=y+6z

5y=4x+z

7z=4x+4y

即为8x-y-6z=0

4x-5y+z=0

4x+4y-7z=0

clear

A=[8 -1 -6;4 -5 1 ;4 4 -7];

B=null(A, 'r')

B =

0.8611

0.8889

1.0000

实验1.2 M ATLAB程式设计与应用

-----二维绘图部分

基本xy平面绘图命令

M ATLAB不但擅长于矩阵相关的数值运算,也适合用在各种科学的可视化表示(Scientific Visualization)。本节将介绍MATLAB基本xy平面的一些绘图命令。

1.Plot作图 plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义

曲线上每一点的x及y坐标。下例可画出一条正弦曲线:

close all; %关闭所有的图形视窗

x=linspace(0, 2*pi, 100); % 100个点的x坐标

y=sin(x); % 对应的y坐标

相关文档
最新文档