当前位置: 首页 > news >正文

【高等代数笔记】003线性方程组的解法(一)

1. 线性方程组的解法

1.1 解线性方程组的矩阵消元法

【例1】解线性方程组 { x 1 + 3 x 2 + x 3 = 2 3 x 1 + 4 x 2 + 2 x 3 = 9 − x 1 − 5 x 2 + 4 x 3 = 10 2 x 1 + 7 x 2 + x 3 = 1 \left\{\begin{array}{ll} x_{1}+3x_{2}+x_{3}=2 \\ 3x_{1}+4x_{2}+2x_{3}=9 \\ -x_{1}-5x_{2}+4x_{3}=10 \\ 2x_{1}+7x_{2}+x_{3}=1 \end{array}\right. x1+3x2+x3=23x1+4x2+2x3=9x15x2+4x3=102x1+7x2+x3=1
【解】将第一个方程做基础,因为它的 x 1 x_{1} x1的系数是1,比较好算,然后把第二个方程的 x 1 x_{1} x1的系数变成0,那就把第一个方程的-3倍加到第2个方程,把第一个方程的1倍加到第三个方程,把第一个方程的-2倍加到第四个方程。
第二个方程+第一个方程×(-3)即 { x 1 + 3 x 2 + x 3 = 2 − 5 x 2 − x 3 = 3 − 2 x 2 + 5 x 3 = 12 x 2 − x 3 = − 3 \left\{\begin{array}{ll} x_{1}+3x_{2}+x_{3}=2 \\ -5x_{2}-x_{3}=3 \\ -2x_{2}+5x_{3}=12 \\ x_{2}-x_{3}=-3 \end{array}\right. x1+3x2+x3=25x2x3=32x2+5x3=12x2x3=3
然后观察到第四个方程的 x 2 x_{2} x2的系数为1,把第四个方程和第二个方程调换一下位置
{ x 1 + 3 x 2 + x 3 = 2 x 2 − x 3 = − 3 − 2 x 2 + 5 x 3 = 12 − 5 x 2 − x 3 = 3 \left\{\begin{array}{ll} x_{1}+3x_{2}+x_{3}=2 \\ x_{2}-x_{3}=-3\\ -2x_{2}+5x_{3}=12 \\ -5x_{2}-x_{3}=3 \end{array}\right. x1+3x2+x3=2x2x3=32x2+5x3=125x2x3=3
把第二个方程的2倍加到第三个方程,第二个方程的5倍加到第四个方程,但是每次写未知量太麻烦,我们写成增广矩阵做,对方程的操作相当于对矩阵的行的操作,也就是将刚才的步骤写成:
( 1 3 1 2 3 4 2 9 − 1 − 5 4 10 2 7 1 1 ) ⟶ ( 1 3 1 2 0 − 5 − 1 3 0 − 2 5 12 0 1 − 1 − 3 ) ⟶ ( 1 3 1 2 0 1 − 1 − 3 0 − 2 5 12 0 − 5 − 1 3 ) ⟶ ( 1 3 1 2 0 1 − 1 − 3 0 0 3 6 0 0 − 6 − 12 ) (第三行的 2 倍加到第四行) ⟶ ( 1 3 1 2 0 1 − 1 − 3 0 0 3 6 0 0 0 0 ) \begin{pmatrix} 1& 3 & 1 &2 \\ 3& 4 & 2& 9\\ -1& -5 & 4 &10 \\ 2 & 7 & 1 & 1 \end{pmatrix}\longrightarrow \begin{pmatrix} 1& 3 & 1 &2 \\ 0& -5 & -1& 3\\ 0& -2 & 5 &12 \\ 0 & 1 & -1 & -3 \end{pmatrix}\longrightarrow \begin{pmatrix} 1& 3 & 1 &2 \\ 0 & 1 & -1 & -3\\ 0& -2 & 5 &12 \\ 0& -5 & -1& 3 \end{pmatrix}\longrightarrow \begin{pmatrix} 1& 3 & 1 &2 \\ 0 & 1 & -1 & -3\\ 0& 0 & 3 &6 \\ 0& 0 & -6& -12 \end{pmatrix}(第三行的2倍加到第四行)\longrightarrow \begin{pmatrix} 1& 3 & 1 &2 \\ 0 & 1 & -1 & -3\\ 0& 0 & 3 &6 \\ 0& 0 & 0& 0 \end{pmatrix} 13123457124129101 10003521115123123 10003125115123123 10003100113623612 (第三行的2倍加到第四行) 1000310011302360
到这个程度的时候,我们写出相应的方程组:
{ x 1 + 3 x 2 + x 3 = 2 x 2 − x 3 = − 3 3 x 3 = 6 \left\{\begin{array}{ll} x_{1}+3x_{2}+x_{3}=2 \\ x_{2}-x_{3}=-3 \\ 3x_{3}=6 \\ \end{array}\right. x1+3x2+x3=2x2x3=33x3=6
这种形式的方程组能够很方便解出来,这个方程组像台阶一样,称为阶梯形方程组,相应的增广矩阵称为阶梯形矩阵

  • 阶梯形方程组
    (1)元素全为0的行在下方(0行在下方)
    (2)非0行第一个非0元素(首非0元)称为主元,主元的列指标(列下标)随着行指标的增加而严格地增大。

或者接着再往下做,将第三行乘 1 3 \frac{1}{3} 31
⟶ ( 1 3 1 2 0 1 − 1 − 3 0 0 1 2 0 0 0 0 ) \longrightarrow \begin{pmatrix} 1& 3 & 1 &2 \\ 0 & 1 & -1 & -3\\ 0& 0 & 1 &2 \\ 0& 0 & 0& 0 \end{pmatrix} 1000310011102320
把第三行的一倍加到第二行(消去行首非0元素后面的元素):
⟶ ( 1 3 1 2 0 1 0 − 1 0 0 1 2 0 0 0 0 ) \longrightarrow \begin{pmatrix} 1& 3 & 1 &2 \\ 0 & 1 & 0 & -1\\ 0& 0 & 1 &2 \\ 0& 0 & 0& 0 \end{pmatrix} 1000310010102120
第三行的-1倍加到第一行:
⟶ ( 1 3 0 0 0 1 0 − 1 0 0 1 2 0 0 0 0 ) \longrightarrow \begin{pmatrix} 1& 3 & 0 &0 \\ 0 & 1 & 0 & -1\\ 0& 0 & 1 &2 \\ 0& 0 & 0& 0 \end{pmatrix} 1000310000100120
现在第一行还有一个 x 2 x_{2} x2的系数,要把3也变成0,则第二行的-3倍加到第一行
⟶ ( 1 0 0 3 0 1 0 − 1 0 0 1 2 0 0 0 0 ) \longrightarrow \begin{pmatrix} 1& 0 & 0 &3 \\ 0 & 1 & 0 & -1\\ 0& 0 & 1 &2 \\ 0& 0 & 0& 0 \end{pmatrix} 1000010000103120
由此可知 x 1 = 3 , x 2 = − 1 , x 3 = 2 x_{1}=3,x_{2}=-1,x_{3}=2 x1=3,x2=1,x3=2
这就全用矩阵来计算解线性方程组。
此时主元都是1,主元所在列的其余元素都是0,称这样的矩阵为简化行阶梯形矩阵

相关文章:

【高等代数笔记】003线性方程组的解法(一)

1. 线性方程组的解法 1.1 解线性方程组的矩阵消元法 【例1】解线性方程组 { x 1 3 x 2 x 3 2 3 x 1 4 x 2 2 x 3 9 − x 1 − 5 x 2 4 x 3 10 2 x 1 7 x 2 x 3 1 \left\{\begin{array}{ll} x_{1}3x_{2}x_{3}2 \\ 3x_{1}4x_{2}2x_{3}9 \\ -x_{1}-5x_{2}4x_{3}10 \\…...

Scrapy入门教程

Scrapy入门教程:打造高效爬虫的第一步 1. 引言 在当今的网络世界中,信息是无价的资源。而爬虫工具则是获取这些资源的有力武器。Scrapy 是 Python 生态系统中最强大的爬虫框架之一,它不仅功能强大,而且易于扩展,适用…...

Microsoft VBA Excel VBA学习笔记——双重筛选+复制数值1.0

问题场景 CountryProductCLASS 1CLASS 2CLASS 3CLASS 4CLASS 5CLASS 6…USApple0.3641416030.8918210610.0591451990.7320110290.0509636560.222464259…USBanana0.2300833330.4027262180.1548836670.2988904860.7802326210.028592635…CNApple0.7762370470.5075548320.481978…...

谷歌反垄断官司败诉后,或又面临被拆分风险?

KlipC报道:上周8月5日,美国法院裁定谷歌的搜索业务违反了美国反垄断法,非法垄断在线搜索和搜索文本广告市场。据悉,胜诉的美国司法部正在考虑拆分谷歌。其他选项包括强制谷歌与竞争对手分享更多数据,以及防止其在人工智…...

数据结构入门——06树

1.树 树(Tree)非线性数据结构,它是n(n≥0)个节点的有限集合,它满足两个条件 : 有且仅有一个特定的称为根(Root)的节点; 其余的节点可以分为m(m…...

FFmpeg源码:av_packet_move_ref、av_packet_make_refcounted函数分析

一、av_packet_move_ref函数 (一)av_packet_move_ref函数的声明 av_packet_move_ref函数声明在FFmpeg源码(本文演示用的FFmpeg源码版本为7.0.1)的头文件libavcodec/packet.h中: /*** Move every field in src to ds…...

12 中断

12 中断 1、内核中断编程2、顶半部和底半部机制2.1 任务的相关概念2.1.1 分类2.1.2 优先级2.1.3 进程调度2.1.4 休眠sleep 2.2 顶半部和底半部实现机制2.2.1 顶半部特点2.2.2 底半部特点2.2.3 底半部实现方法之:tasklet2.2.4 底半部实现机制之工作队列2.2.5 底半部实现机制之软…...

经典算法题总结:十大排序算法,外部排序和Google排序简介

十大排序算法 就地性:顾名思义,原地排序通过在原数组上直接操作实现排序,无须借助额外的辅助数组,从而节省内存。通常情况下,原地排序的数据搬运操作较少,运行速度也更快。 稳定性:稳定排序在完…...

服务器是什么?怎么选择适合自己的服务器?

在这个数字化的世界中,我们每天都在与各种网站打交道,浏览新闻、购物、看视频等。你是否曾经好奇过,这些网站是如何运行的?它们又是如何实现随时随地可访问的呢? 在这背后,有一个神秘的角色在默默地支撑着…...

区块链技术的应用场景

区块链技术是一种分布式数据库或公共分类账的形式,它保证了数据的完整性和透明性。它最初是为了支持比特币这种加密货币而被发明的,但现在已经被广泛应用于多种领域,包括供应链管理、投票系统、数字身份验证等。 基本概念 区块 (Block) 区块…...

凤凰端子音频矩阵应用领域

凤凰端子音频矩阵,作为一种集成了凤凰端子接口的音频矩阵设备,具有广泛的应用领域。以下是其主要应用领域: 一、专业音响系统 会议系统:在会议室中,凤凰端子音频矩阵能够处理多个话筒和音频源的信号,实现…...

LeetCode-字母异位词分组

题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "na…...

《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署etcd 3.5.15容器版分布式集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、部署背景 由于业务系统的特殊性,我们需要面对不同的客户部署业务系统&#xff0…...

WPF动画

补间动画:动画本质就是在一个时间段内对象尺寸、位移、旋转角度、缩放、颜色、透明度等属性值的连续变化。也包括图形变形的属性。时间、变化的对象、变化的值 工业应用场景:蚂蚁线、旋转、高度变化、指针偏移、小车 WPF动画与分类 特定对象处理动画过…...

大数据系列之:统计hive表的详细信息,生成csv统计表

大数据系列之:统计hive表的详细信息,生成csv统计表 一、获取源数据库、源数据库类型、hive数据库名称二、获取hive数据库名、hive表名、数仓层级、空间、维护者信息三、统计hive表信息四、统计源库信息五、合并hive表信息六、生成csv统计表七、完整代码一、获取源数据库、源数…...

flutter 画转盘

import package:flutter/material.dart; import dart:math;const double spacingAngle 45.0; // 每两个文字之间的角度 // 自定义绘制器,ArcTextPainter 用于在圆弧上绘制文字 class ArcTextPainter extends CustomPainter {final double rotationAngle; // 动画旋…...

图像识别,图片线条检测

import cv2 import numpy as np # 读取图片 img cv2.imread(1.png)# 灰度化 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 边缘检测 edges cv2.Canny(gray, 100, 200) 当某个像素点的梯度强度低于 threshold1 时,该像素点被认为是非边缘;当梯度强度…...

python crawler web page

npm install or pip install 插件 import json import time from openpyxl import load_workbook from pip._vendor import requests from bs4 import BeautifulSoup import pandas as pd import re import xlsxwriter 設置request header header {user-agent: Mozilla/5.0…...

基于QT实现的TCP连接的网络通信(客户端)

上篇介绍了QT实现网络通信的服务器端,还没看服务器的朋友们先去上篇了解,这篇我来实现一下客户端的实现。 首先还是新建一个项目 选择mainwindow类 在通信前将.pro文件的第一行代码中追加network 窗口搭建 在mainwindow.ui中完成一下窗口的搭建 首先在…...

Vue2中watch与Vue3中watch对比

上一节说到了 computed计算属性对比 ,虽然计算属性在大多数情况下更合适,但有时也需要一个自定义的侦听器。这就是为什么 Vue 通过 watch 选项提供了一个更通用的方法,来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时&#…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...