matlab的使用(五)线性方程组解的结构

常用命令

命令 功能
format rat 定义输出格式为小数分数格式
A\b 左除,求方程组的特解
null(A) 求 Ax = b 的解空间的规范正交基
null(A,’r’) 求其次线性方程组 Ax = b 的基础解系,加上 ‘r’ 求出的是一组最小正整数解

例1. 求齐次线性方程组的通解

用基础解系表示齐次线性方程组的通解

{ x 1 + x 2 + x 3 + x 4 + x 5 = 0 3 x 1 + 2 x 2 + x 3 + x 4 3 x 5 = 0 x 2 + 2 x 3 + 2 x 4 + 6 x 5 = 0 5 x 1 + 4 x 2 + 3 x 3 + 3 x 4 x 5 = 0

A =[1 1 1 1 1;3 2 1 1 -3;0 1 2 2 6;5 4 3 3 -1];   
format rat;      % 定义输出格式为小数分数形式
B = null(A,'r');   % 求基础解系
syms k1 k2 k3;     
X = k1*B(:,1) + k2*B(:,2) + k3*B(:,3)

这里写图片描述

即 X = k1 [ 1 2 1 0 0 ] + k2 [ 1 2 0 1 0 ] + k3 [ 5 6 0 0 1 ] 为方程式的通解,其中 k1 k2 k3 为任意实数

例2. 求非齐次线性方程组的通解

求非齐次线性方程组的通解

{ 2 x 1 + 4 x 2 x 3 + 4 x 4 + 16 x 5 = 2 3 x 1 6 x 2 + 2 x 3 6 x 4 23 x 5 = 7 3 x 1 + 6 x 2 4 x 3 + 6 x 4 + 19 x 5 = 23 x 1 + 2 x 2 + 5 x 3 + 2 x 4 + 19 x 5 = 43

format rat;
A = [2 4 -1 4 16;-3 -6 2 -6 -23;3 6 -4 6 19;1 2 5 2 19];
b = [-2;7;-23;43];
[R,s] = rref([A,b]);   % 求行最简形
x0 = A\b;   % 求特解
x = null(A,'r');   % 求基础解系
syms k1 k2 k3
X = k1*x(:,1) + k2*x(:,2) + k3*x(:,3) + x0

这里写图片描述

则 X = k1 [ 2 1 0 0 0 ] + k2 [ 2 0 0 1 0 ] + k3 [ 9 0 2 0 1 ] + [ 0 0 22 / 3 0 1 / 3 ] 为方程的通解

猜你喜欢

转载自blog.csdn.net/liyuanyue2017/article/details/82023685