Matlab --- 用Matlab求解线性方程组Ax=b的计算流程(叹为观止)

2024-01-31 04:50

本文主要是介绍Matlab --- 用Matlab求解线性方程组Ax=b的计算流程(叹为观止),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        众所周知,在求解矩阵的线性方程Ax=b时。我们往往会先求出矩阵A的逆,然后再根据公式Ax = b ~~~> x = A^{-1}b 求出x。(这是求解线性方程组的方法之一) 

        但是,如果你要是在matlab中,用这种方法计算x(即,调用matlab自带函数inv(A)),matlab就会提醒你,建议你用x=A\b来计算x,而不是先求逆,因为如果先求逆再求解线性方程组的话,会极大的增加计算误差。那么Matlab中的A\b究竟是什么呢?


Matlab的做法

        首先,Matlab会优先判断矩阵A是稠密矩阵也叫满矩阵(dense matrix),还是稀疏矩阵(sparse matrix)?然后,matlab会基于这一判断的结果分出两条主线。

A:求解稠密矩阵线性方程组的计算流程

在这里插入图片描述


B:求解稀疏矩阵线性方程组的计算流程

在这里插入图片描述




 



补充知识点:

1,稀疏矩阵和稠密矩阵

2,三角矩阵
在这里插入图片描述

注:点击图片看大图


三角矩阵的性质
在这里插入图片描述

注:点击图片看大图


3,伴随矩阵
在这里插入图片描述

注:点击图片可放大

在这里插入图片描述

4,置换矩阵(permutation matrix)

在这里插入图片描述

5,埃尔米特矩阵(Hermitian)
在这里插入图片描述


6,黑森贝格矩阵(Hessenberg matrix)

注:点击图片可放大

最后:
        首先,要设计不同矩阵类型的线性方程组的解法,本身就不是一件容易的事情。更加难得的是,matlab还设计了一系列的自动判断矩阵类型的算法,我觉得这又是一件难事。

 (全文完)

作者 --- 松下J27

2021年9月22日

格言摘抄:

心怀二意的人哪,要清洁你们的心。--- 《圣经》雅各书4章8节

Cleanse your hands, ye sinners; and purify your hearts, ye double minded.(KJV)

参考文献:
1,求解关于 x 的线性方程组 Ax = B - MATLAB mldivide \- MathWorks 中国此 MATLAB 函数 对线性方程组 A*x = B 求解。矩阵 A 和 B 必须具有相同的行数。如果 A 未正确缩放或接近奇异值,MATLAB 将会显示警告信息,但还是会执行计算。https://ww2.mathworks.cn/help/matlab/ref/mldivide.html

2,维基百科

(配图与本文无关)

版权声明:所有的笔记,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

这篇关于Matlab --- 用Matlab求解线性方程组Ax=b的计算流程(叹为观止)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/662603

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

Python中经纬度距离计算的实现方式

《Python中经纬度距离计算的实现方式》文章介绍Python中计算经纬度距离的方法及中国加密坐标系转换工具,主要方法包括geopy(Vincenty/Karney)、Haversine、pyproj... 目录一、基本方法1. 使用geopy库(推荐)2. 手动实现 Haversine 公式3. 使用py

MySQL 升级到8.4版本的完整流程及操作方法

《MySQL升级到8.4版本的完整流程及操作方法》本文详细说明了MySQL升级至8.4的完整流程,涵盖升级前准备(备份、兼容性检查)、支持路径(原地、逻辑导出、复制)、关键变更(空间索引、保留关键字... 目录一、升级前准备 (3.1 Before You Begin)二、升级路径 (3.2 Upgrade

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理