2017网站趋势,网络架构是什么意思,手机网站建设推广方案ppt,东莞seo网站排名MATLAB在线性代数中的应用
#xff08;一#xff09;向量组的线性相关性
求列向量组A的一个最大线性无关组#xff0c;可用命令rref(A)将A化成行最简形#xff0c;其中单位向量对应的列向量即为最大线性无关组所含向量#xff0c;其他列向量的坐标即为其对应向量用最大线…MATLAB在线性代数中的应用
一向量组的线性相关性
求列向量组A的一个最大线性无关组可用命令rref(A)将A化成行最简形其中单位向量对应的列向量即为最大线性无关组所含向量其他列向量的坐标即为其对应向量用最大线性无关组线性表示的系数。
例1. 求下列矩阵列向量组的一个最大无关组。 程序如下
format rat %有理分数的显示格式
a [1 2 -1 0 2;-2 4 2 6 -6;2 -1 0 2 3;3 3 3 3 4];
b rref(a)
format %恢复到短小数的显示格式
结果为
b 1 0 0 0 11/6 0 1 0 0 0 0 0 1 0 -1/6 0 0 0 1 -1/3
记矩阵A的五个列向量依次为a1、a2、a3、a4、a5则a1、a2、a3、a4是列向量组的一个最大无关组且有 例2.设 验证a1、a2、a3是的一个基并把b1、b2用这个基线性表示。
程序如下
clc,clear;
format rat
a [2 2 -1;2 -1 2;-1 2 2];
b [1 4;0 3;-4 2];
c rref([a,b])
format %恢复到短小数的显示格式
结果为
c 1 0 0 2/3 4/3 0 1 0 -2/3 1 0 0 1 -1 2/3
说明a1、a2、a3是的一个基且有
二齐次线性方程组
在Matlab中函数null用来求解零空间即满足Ax 0的解空间实际上是求出解空间的一组基基础解系。格式如下
z null(A) %z的列向量为方程组的正交规范基满足zTzE
z null(A,r) %z的列向量是方程Ax0的有理基
例3. 求方程组的通解 程序如下
clc,clear;
format rat
a [1 2 2 1;2 1 -2 -2;1 -1 -4 -3];
b null(a,r)
syms k1 k2
x k1*b(:,1)k2*b(:,2) %写出方程组的通解
基础解系和通解分别为
b 2 5/3 -2 -4/3 1 0 0 1
x 2*k1 (5*k2)/3- 2*k1 - (4*k2)/3k1k2
三非齐次线性方程组
Matlab中解非齐次线性方程组可以使用‘\’虽然表面上只是一个简单的符号而它的内部却包含许多自适应算法如对超定方程无解用最小二乘法对欠定方程多解它将给出范数最小的一个解。
另外求解欠定方程组多解可以使用求矩阵A的行最简形命令rref(A)求出所有的基础解系。
例4.求超定方程组 程序如下
clc,clear;
format rat
a [1 1 0;1 0 1;1 1 1;1 2 -1];
b [1;2;0;-1];
x1 a\b %这里\和pinv是等价的
x2 pinv(a)*b
结果为
x1 17/6 -13/6 -2/3
x2 17/6 -13/6 -2/3
求得最小二乘解为 例5.求解方程组 程序如下
clc,clear;
format rat
a [1 -1 -1 1 0;1 -1 1 -3 1;1 -1 -2 3 -1/2];
b rref(a)
format %恢复到短小数的显示格式
结果为
b 1 -1 0 -1 1/2 0 0 1 -2 1/2 0 0 0 0 0
所以方程组有解并有 因而方程组的通解为 求解非齐次线性方程组需要先判断方程组是否有解若有解再去求通解。因此步骤为
第一步判断Axb是否有解若有解则进行第二步第二步求Axb的一个特解第三步求Ax0的通解第四步写出Axb的通解。
四相似矩阵及二次型
有时候我们需要精确的特征值和特征向量就必须利用Matlab的符号运算功能在Matlab中创建符号矩阵和创建数值矩阵的形式很相似只不过要用到符号定义函数sym。下面介绍shi使用次函数创建符号矩阵的几种形式。
1. 使用sym函数直接创建符号矩阵
此方法和直接创建数值矩阵的方法几乎完全相同矩阵元素可以是符号表达式各符号表达式的长度可以不同矩阵元素之间可用逗号或空格分隔。例如
clc,clear;
x sym([asin(d),b;1/c,d]);
y det(x)
结果为
y
(a*c*d - b c*d*sin(d))/c
2. 将数值矩阵转化为符号矩阵
在Matlab中数值矩阵不能直接参与符号运算必须先转化为符号矩阵。例如
clc,clear;
a [2/3, sqrt(2);3,1]
b sym(a)
结果为
a 0.666666666666667 1.4142135623730953.000000000000000 1.000000000000000
b
[ 2/3, 2^(1/2)]
[ 3, 1]
3. 符号矩阵的索引和修改
Matlab的符号矩阵索引和修改同数值矩阵的索引和修改完全相同。
b(2,2) log(2)
b
[ 2/3, 2^(1/2)]
[ 3, log(2)]
例6. 求一个正交变换x Py, 把二次型 化为标准型。
二次型矩阵为 程序如下
clc,clear;
A [0, 1, 1, -1;1, 0, -1, 1;1, -1, 0, 1;-1, 1, 1, 0];
[P, D] eig(A)
结果为
P -0.5000 0.2887 0.7887 0.21130.5000 -0.2887 0.2113 0.78870.5000 -0.2887 0.5774 -0.5774-0.5000 -0.8660 0 0
D -3.0000 0 0 00 1.0000 0 00 0 1.0000 00 0 0 1.0000
P就是所求的正交矩阵使得,x Py其中,
化简后的二次型为
例7. 判别二次型的正定性并求正交变换把二次型化che成标准型。
程序如下
clc,clear;
a [2 -2 0;-2 4 0;0 0 5];
b eig(a)
if all(b0)fprintf(二次型正定\n);
elsefprintf(二次型非正定\n);
end
[c,d]eig(a)
结果为
b 0.76395.00005.2361
二次型正定
c -0.8507 0 -0.5257-0.5257 0 0.85070 1.0000 0
d 0.7639 0 00 5.0000 00 0 5.2361