首页 > 其他分享 >求解Ax=0 主变量 特解

求解Ax=0 主变量 特解

时间:2025-01-21 16:53:32浏览次数:1  
标签:begin end symbfit 求解 特解 矩阵 bmatrix Ax 变量

求解\(\symbfit{A}\symbfit{x}=\symbfit{0}\) 主变量 特解

​ 本节主要说明利用消元法求解\(\symbfit{A}\symbfit{x}=\symbfit{0}\),即求解\(\symbf{N}\left(\symbfit{A}\right)\),同时理解上一节中所述的主列等进一步的含义。

​ 假设\(\symbfit{A}=\begin{bmatrix}1&2&2&2\\2&4&6&8\\3&6&8&10\end{bmatrix}\),利用之前所述的消元法求解\(\symbfit{A}\symbfit{x}=\symbfit{0}\)。

​ 实际上,消元法求得的解仍然是原方程组的解,求解出来的零空间是不变的,有理论依据。且由于增广矩阵最右列全为0,消元法只进行行变换,因此最右列始终不变,省略不写。

​ 首先第一步,得到第一个主元(用$\Box $括起来)

\[\begin{bmatrix} \boxed 1& 2& 2& 2\\ 0& 0& 2& 4\\ 0& 0& 2& 4\\ \end{bmatrix} \]

​ 第二步,得到第二个主元

\[\begin{bmatrix} \boxed 1& 2& 2& 2\\ 0& 0& \boxed 2& 4\\ 0& 0& 0& 0\\ \end{bmatrix} =\symbfit{U} \]

​ 这样就把所有主元都找出来了,并且矩阵\(\symbfit{U}\)是阶梯形式echelon form)(国内通常称为行阶梯型矩阵)。同时可见主元的数量为2,该数字称为矩阵的rank)。

​ 得到主元之后,下一步就要找出主变量pivot variables),与之相对应的,还有自由变量free variables)。

​ 根据上门解出来的\(\symbfit{U}\),其主元对应的列称为主列pivot columns),对应的变量\(x_1\)和\(x_3\)是主变量;其他的列称为自由列free columns),对应的变量\(x_2\)和\(x_4\)是自由变量。“自由变量”的意思是,\(x_2\)和\(x_4\)可以任意赋值,例如令\(x_2=1,x_4=0\),那么\(\symbfit{x}=\begin{bmatrix}-2\\1\\0\\0\end{bmatrix}\);同理,令\(x_2=0,x_4=1\),那么\(\symbfit{x}=\begin{bmatrix}2\\0\\-2\\1\end{bmatrix}\)。

​ 通过给自由变量赋特定的值,那么就可以得到特解special solutions)\(\symbfit{x}\),根据前面给自由变量赋值得到的\(\symbfit{x}\),就可以得到其所有解(线性组合)

\[\symbfit{x} = c\begin{bmatrix}-2\\1\\0\\0\end{bmatrix} + d\begin{bmatrix}2\\0\\-2\\1\end{bmatrix} \]

​ \(\color{red}{注意在国内教材中,通常将这两个向量称为\textbf{基础解系},其线性组合称为\textbf{通解}}。\)

​ 零空间所包含的正好是特解的线性组合。一般来讲,\(m\times n\)大小的矩阵的秩为\(r\),则表示有\(r\)个主变量,\(n-r\)个自由变量。

​ 前文我们已经得到了行阶梯型矩阵,但是为了更好的计算,通常会化为更简形式的行最简形矩阵reduced row echelon form),记为\(\symbfit{R}\)。其要求是:主元上下全为0,且主元为1。

​ 那么矩阵\(\symbfit{U}\)可以继续化简:

\[\begin{bmatrix} \boxed 1& 2& 0& -2\\ 0& 0& \boxed 2& 4\\ 0& 0& 0& 0\\ \end{bmatrix} \]

​ 将第二个主元化为1:

\[\begin{bmatrix} \boxed 1& 2& 0& -2\\ 0& 0& \boxed 1& 2\\ 0& 0& 0& 0\\ \end{bmatrix} =\symbfit{R} \]

​ 在MATLAB中,通过指令rref(A)即可获得矩阵的行最简形式。

​ 可以注意到矩阵\(\symbfit{R}\)的主行(与主列的定义类似,主元所在的行)和主列“交汇处”(通过列交换实现)构成了一个单位矩阵\(\symbfit{I}=\begin{bmatrix}1&0\\0&1\end{bmatrix}\),自由列组成了矩阵\(\symbfit{F}=\begin{bmatrix}2&-2\\0&2\end{bmatrix}\),矩阵\(\symbfit{R}\)就可以表示为\(\symbfit{R}=\begin{bmatrix}\symbfit{I}&\symbfit{F}\\0&0\end{bmatrix}\)。如果要求解\(\symbfit{R}\symbfit{x}=\symbfit{0}\)的话,那么就可以构造一个零空间矩阵nullspace matrix)\(\symbfit{N}\)(它的列由特解组成),实现\(\symbfit{R}\symbfit{N}=\symbfit{0}\),那么我们就可以推断出\(\symbfit{N}=\begin{bmatrix}-\symbfit{F}\\\symbfit{I}\end{bmatrix}\),如果主变量和自由变量分别由\(x_{pivot}\)和\(x_{free}\)表示,那么有\(\begin{bmatrix}\symbfit{I} &\symbfit{F}\end{bmatrix}\begin{bmatrix}x_{pivot} \\x_{free}\end{bmatrix}=\symbfit{0}\)(由\(\symbfit{R}\symbfit{x}=\symbfit{0}\)推出),可以得出:

\[x_{pivot}=-\symbfit{F}x_{free}\\ x_{pivot}=-\symbfit{F}\\ x_{free}=\symbfit{I} \]

这也就是我们采用自由变量各自为1,其余为0的原因。
$\color{red}{注意!这里是经过了列变换的结果,得到x之后还是需要将其变换回原来的顺序的。}$这样就可以很便捷地求解矩阵的零空间了。

标签:begin,end,symbfit,求解,特解,矩阵,bmatrix,Ax,变量
From: https://www.cnblogs.com/zzzwwwqqq/p/18683822

相关文章

  • 详细介绍:使用 Axios 提交用户注册数据
    目录完整代码:1.项目背景和功能概述2.HTML结构解析3.JavaScript部分解析3.1事件监听和请求发送3.2请求成功与失败4.完整流程5.总结6.适用场景关键词:本案例展示了如何使用Axios发送POST请求,并提交用户注册所需的用户名和密码数据,完成用户注册操作......
  • 你知道什么是PAJAX吗?它和AJAX有什么区别?它的应用场景有哪些?
    首先,需要澄清的是,PAJAX并不是一个广泛认知或标准的技术术语,在前端开发中,更常见的是AJAX。因此,我会主要解释AJAX,并假设PAJAX可能是某种特定上下文或框架中对AJAX的变种或扩展。AJAX(AsynchronousJavaScriptandXML):定义:AJAX是一种网页开发技术,用于创建异步的Web应用。它通过使......
  • ajax的请求状态有哪几种?
    Ajax的请求状态主要有五种,这些状态可以通过XMLHttpRequest对象的readyState属性来获取。以下是这五种状态的详细解释:未初始化(readyState=0):此时XMLHttpRequest对象已经创建,但尚未调用send()方法,即还没有开始发送请求。这是Ajax请求的初始状态。载入(readyState=1):在此状态下,已......
  • Axios 的地区查询(案例)
    目录1.项目背景与功能概述2.完整代码3.HTML结构解析输入表单查询按钮地区列表4.JavaScript部分解析监听点击事件发送Axios请求处理响应数据5.完整流程6.总结7.适用场景8.优化和扩展本案例展示了如何使用Axios发送带查询参数的HTTP请求,查询指定......
  • 如何解决phpMyAdmin导出时提示“当前表单包含的字段多于 1000,受限于PHP 中 max_input_
    常见原因max_input_vars 设置过低:默认情况下,max_input_vars 的值为1000,当表单字段超过这个数量时,就会触发警告。表单字段过多:某些大型数据库或复杂的表单可能会包含超过1000个字段。解决方法方法一:修改 php.ini 文件找到 php.ini 文件:php.ini 文件通常位于PHP安......
  • MySQL 创建数据库问题:You have an error in your SQL syntax(MySQL 数据库命名规则问题
    问题描述与处理策略1、问题描述CREATEDATABASEmy-shop-db;执行上述SQL语句,报如下错误CREATEDATABASEmy-shop-db>1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtouse......
  • 前端发送Ajax请求的技术Axios
    目录1.引入Axios文件2.使用Axios发送请求2.1请求方法的别名请求的URL地址怎么来的?后端实现前后端交互1.引入Axios文件<scriptsrc="https://unpkg.com/axios/dist/axios.min.js"></script>2.使用Axios发送请求2.1请求方法的别名方法描述axios.get(url[,config......
  • 【swjtu】机器人技术大作业(改进型DH参数法求解六自由度机器人的运动学正解和逆解问题)(m
    前言    本文所提到的大作业是2024年下半学年所布置的机器人技术的大作业,可能不适用于之后的版本,请注意。        题目要求大概如下:1.关节型机器人,5自由度以上。 2.编程实现正问题求解(给出连杆和关节参数,求出末端执行器位置)  3.编程实现逆问题求解(给出......
  • 【深度学习基础】线性神经网络 | softmax回归的从零开始实现
    【作者主页】FrancekChen【专栏介绍】⌈⌈⌈PyTorch深度学习⌋......
  • 使用Axios实现表格数据动态加载与转换
    在现代的Web开发中,前后端分离架构越来越普遍。前端页面通过Ajax请求从后端获取数据并进行展示是一种常见的需求。本文将通过一个简单的示例,介绍如何使用Vue.js结合ElementUI以及Axios库,实现表格数据的动态加载与转换。一、项目背景在开发一个会员管理系统时,我们需要在前端页......