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

深入解析:Python数据分析:求矩阵的秩。啥是矩阵秩?听故事学线代并用Python实现,娘来太容易学会了!

目录

  • 1 代码示例
  • 2 欢迎纠错
  • 3 免费爬虫
  • 4 论文写作/Python 学习智能体

1 代码示例

  直接上代码。

"""
先说什么是矩阵的秩。
想象一下,你是一个班长,要统计班里的同学喜欢​​“读书/​​打球​​/​​画画”的程度,得到了3条记录如下:
​​读书 打球 画画
​​同学A​​ 1 2 3
​​同学B​ 2 4 6 ​
​​同学C​​ 3 6 9
这个表就可以看作一个“矩阵”。
现在,你仔细看看这三行数据,有没有发现什么规律?
同学B的每项数据,正好是同学A的2倍​​。
同学C的每项数据,正好是同学A的3倍​​。
也就是说,​​同学B和同学C的数据并没有提供任何新的、独立的信息​​,它们只是重复和放大了同学A的信息。
真正有价值的、不重复的原始信息,其实只有​​同学A​​的那一条。
所以,这个表格(矩阵)的​​“秩”就是1。
总结一下:
​​秩​​就是一组数据中,​​真正独立的、不重复的信息​​有多少条。
秩最大不会超过表格的行数或列数中最小的那个。
如果秩比较小,说明数据中存在很多​​重复或冗余​​的信息。
如果秩达到最大,说明每一条信息都是​​独一无二​​的,没有冗余。
所以,矩阵的秩的核心就是衡量​​信息的“独立量”​​。
矩阵的秩作为线性代数中的一个核心概念,它帮助我们​​衡量信息中的“独立性”和“冗余度”​​。无论是在​​压缩数据​​、​​提取关键特征​​、​​分析系统关系​​,还是​​判断方程解的情况​​方面,它都提供了一个强大的工具。理解了秩,就能更好地理解和处理这些实际问题中蕴含的数学结构。
在线性代数中,通过各种变换可以手工计算矩阵的秩。
但人生苦短,我们还是用Python吧。
"""
import numpy as np
A = np.array([[3, 1, 0], [-1, 2, 1], [3, 4, 2]])
print(A)
"""
[[ 3 1 0]
[-1 2 1]
[ 3 4 2]]
"""
b = np.array([0, 2, 3])
B = np.array([[3, 1, 0, 0], [-1, 2, 1, 2], [3, 4, 2, 3]])
print(B)
"""
[[ 3 1 0 0]
[-1 2 1 2]
[ 3 4 2 3]]
"""
print("A的秩为{}".format(np.linalg.matrix_rank(A)))
print("B的秩为{}".format(np.linalg.matrix_rank(B)))
"""
A的秩为3
B的秩为3
"""
"""
我们试试求解线性方程组:Ax=b。
求解方程x = np.linalg.solve(A, b)。
"""
x = np.linalg.solve(A, b)
print(x)
"""
[-0.2 0.6 0.6]
"""
"""
所谓线性方程组,我们用通俗易懂的写法再写一遍,就是:
3x1+x2+0x3=0(1)
−x1+2x2+x3=2(2)
3x1+4x2+2x3=3(3)
该三元一次方程组的解为:
x1=-0.2; x2=0.6; x3=0.6
"""
"""
np.linalg.solve使用数值方法(如LU分解)来求解线性方程组,适用于系数矩阵​​A可逆(非奇异)的情况。
如果矩阵​​A是奇异的(不可逆),或者方程组是超定的(方程数多于未知数)或欠定的(方程数少于未知数),np.linalg.solve可能会报错。
对于后两种情况,可以考虑使用np.linalg.lstsq求最小二乘解。
"""

2 欢迎纠错

  欢迎纠错,随时更新。
  联系方式:评论、私信,或 企鹅 :179 0042 182 。
  码字不易,如觉得还可以,请给个免费的 zan 和 soucang ,让我有动力继续写下去。

3 免费爬虫

https://affiliate
.bazhuayu
.com
/M8lKUC

4 论文写作/Python 学习智能体

https://chatglm.cn/share/WF2C5ree

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

++ 新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

++ 功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

++ 合理的创建标题,有助于目录的生成

直接输入1次+,并按下space后,将生成1级标题。
输入2次+,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

++ 如何改变文本的样式

强调文本强调文本

加粗文本加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

++ 插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

++ 如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

++ 生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

++ 创建一个表格
一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

+++ 设定内容居中、居左、居右
使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

+++ SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

++ 创建一个自定义列表
Markdown
: Text-to-HTML conversion tool

Authors
John
Luke

++ 如何创建一个注脚

一个具有注脚的文本。2

++ 注释也是必不可少的

Markdown将文本转换为 HTML。

++ KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n1)!nN 是通过欧拉积分

Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

++ 新的甘特图功能,丰富你的文章

++ UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

这将产生一个流程图。:

++ FLowchart流程图

我们依旧会支持flowchart的流程图:

++ 导出与导入

+++ 导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

+++ 导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明↩︎

  2. 注脚的解释 ↩︎

http://www.jsqmd.com/news/4034/

相关文章:

  • 多机动模型PHD滤波算法
  • Navicat17无限试用重置14天
  • 基于Electron的Web打印解决方案:web-print-pdf技术分享
  • CF455D Serega and Fun
  • 实验任务1
  • 实验任务
  • 61.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--提取金额 - 实践
  • 使用 Ansible 部署 Elasticsearch 集群
  • 免费无广告!这款开源工具让文件转换像复制粘贴一样简单!
  • 时序InSAR形变结果合并操作说明 - ENVI
  • 在Vue.js中设置方法时访问$vuetify实例
  • 纷享销客CRM任务系统:破解快消品终端动销管理难题
  • 第一周博客作业-介绍自己
  • 完整教程:zookeeper+kafka
  • AI大模型应用简介 - 努力-
  • 完整教程:01_5分钟运行你的第一个LLM:Hugging Face入门
  • codeforces 1504 div3
  • React 基础核心概念(8 个)——从入门到能写业务组件(上)| 葡萄城技术团队
  • 2 day - when
  • 实用指南:轻松玩转Swagger API文档神器
  • 记录java调用eclipse cdt 解析c++文件
  • Chormium 密码管理器表单结构体说明(基于Chromium138)
  • 为什么人工智能选择Python?深入解析AI界的胶水语言
  • 1 day(20250925) - when
  • 12分钟讲解Python核心理念
  • 【重要】什么是 PEP 8 规范
  • 实用指南:华为坤灵:点燃中小企业智能化的星火
  • 阻止HTML input元素(type=number)中输入字母e的方法
  • 【Prompt学习技能树地图】利用GitHub-Prompt Engineering Guide进阶学习Prompt工程指南 - 指南
  • 深入解析:KRaft 运维从静态到动态 Controller