用matlab求解线性方程组
第一节线性方程组的求解
一、齐次方程组的求解
rref(A) %将矩阵A化为阶梯形的最简式
null(A) %求满足AX=0的解空间的一组基,即齐次线性方程组的基础解系
求下列齐次线性方程组的一个基础解系,并写出通解:
我们可以通过两种方法来解:
解法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
由最简行阶梯型矩阵,得化简后的方程
取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
易见,可直接得基础解系
所以齐次方程组的通解为
二、非齐次线性方程组的求解
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】求下列非齐次线性方程组的解:
解: 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 =
4
2/3
1/2684838239393950
-7/3
【第二题】计算工资问题
一个木工,一个电工,一个油漆工,三个人相互同意彼此装修他们自己的房子。在装修之前,他们达成如下协议:
(1)每人总共工作十天(包括给自己家干活在内);
(2)每人的日工资根据一般的市价在60~80元之间;
(3)每人的日工资数应使得每人的总收入与总支出相等。
下为他们协商后制定出的工作天数分配方案:
木工
电工
油漆工
在木工家的工作天数
2
1
6
在电工家的工作天数
4
5
1
在油漆工家的工作天数
4
4
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 =
MATLAB 程式设计与应用
-----二维绘图部分
基本xy平面绘图命令
MATLAB不但擅长于矩阵相关的数值运算,也适合用在各种科学的可视化表示(Scientific Visualization)。本节将介绍MATLAB基本xy平面的一些绘图命令。
Plot作图 plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y坐标。下例可画出一条正弦曲线:
close all; %关闭所有的图形视窗
x=linspace(0, 2*pi, 100); % 100个点的x坐标
y=sin(x); % 对应的y坐标
plot(x,y);
小整理:MATLAB基本绘图函数
plot: x轴和y轴均为线性刻度(Linear scale)
loglog: x轴和y轴均为对数刻度(Logarithmic scale)
semilogx: x轴为对数刻度,y轴为线性刻度
semilogy: x轴为线性刻度,y轴为对数刻度
若要画出多条曲线,只需将坐标对依次放入plot函数即可:
plot(x, sin(x), x, cos(x))
若要改变颜色,在坐标对后面加上相关字串即可:
plot(x, sin(x), 'c', x, cos(x), 'g')
若要同时改变颜色及图线型态(Line
实验一用matlab求解线性方程组 来自淘豆网m.daumloan.com转载请标明出处.