若要获得更好的阅读体验,请前往 链接。
1(课本习题1)
设a=(1, 2, 3), b=(2, 4, 3), 分别计算a./b, a. \b, a/b, a \b,分析结果的意义.
答:
a./b: a中的每一个元素除以b中的对应元素
a.\b: b中的每一个元素除以a中的对应位置的元素
a/b: a左除b,即矩阵方程ax=b的解
a\b: a右除b,即矩阵方程Xa=b的解
输出:
ans = 1×3
0.5000 0.5000 1.0000
ans = 1×3
2 2 1
ans = 0.6552
ans = 3×3
0 0 0
0 0 0
0.6667 1.3333 1.0000
2(课本习题2)
用矩阵除法解下列线性方程组,判断解的意义,并用矩阵乘法验算:
(1) ( 4 1 − 1 3 2 − 6 1 − 5 3 ) ( x 1 x 2 x 3 ) = ( 9 − 2 1 ) \begin{pmatrix}4 & 1 & - 1 \\ 3 & 2 & - 6 \\ 1 & - 5 & 3\end{pmatrix}\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3}\end{pmatrix} = \begin{pmatrix}9 \\ - 2 \\ 1\end{pmatrix} 43112−5−1−63 x1x2x3 = 9−21
定义函数:
matlab">function solution_status = check_unique_solution(A, b)% 计算系数矩阵A的秩rankA = rank(A);% 构造增广矩阵[A, b]并计算其秩rankAB = rank([A, b]);% 判断方程组的解的情况if rankA == rankAB% 如果系数矩阵A和增广矩阵[A, b]的秩相等,方程组有唯一解if rankA < size(A, 1) % 未知数个数solution_status = '无穷多解';elsesolution_status = '唯一解';endelseif rankA < rankAB% 如果系数矩阵A的秩小于增广矩阵[A, b]的秩,方程组无解solution_status = '无解';end
end
代码:
matlab">A=[4 1 -1;3 2 -6;1 -5 3];
b=[9;-2;1];
solution_status = check_unique_solution(A, b)
x=A\b
A*x
输出:
solution_status = ‘唯一解’
x = 3×1
2.3830
1.4894
2.0213
ans = 3×1
9.0000
-2.0000
1.0000
(2) ( 4 − 3 3 3 2 − 6 1 − 5 3 ) ( x 1 x 2 x 3 ) = ( − 1 − 2 1 ) \begin{pmatrix}4 & - 3 & 3 \\ 3 & 2 & - 6 \\ 1 & - 5 & 3\end{pmatrix}\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3}\end{pmatrix} = \begin{pmatrix} - 1 \\ - 2 \\ 1\end{pmatrix} 431−32−53−63