正如其他人所说,这个系统是不确定的(正如丹尼斯所说的那样)。由于你有一些后续问题,让我进一步深入。

在A中有一行,你基本上有一个等式,有7个未知数。你基本上可以将任何6个未知数设置为零,然后求解为7。这就是反斜杠的作用。它将挑选未知数,使得结果具有来自任何噪声的最小贡献,因此这里是A矩阵中具有最大绝对系数的未知数。这就是为什么第五个未知数在结果中不为零。

事实上,该解决方案将存在于一个6维集合中。我们可以自由地添加从A的空行空间到该解决方案的任何线性向量组合,并基于线性系统获得另一个同等(数学)有效的解决方案。

A = [0.1195952380, 0.2552619050, 0.3235000000,...

0.1289285710, 0.6675476190, -0.0770000000,...

0.1973809520];

null(A)

ans =

-0.3070 -0.3891 -0.1551 -0.8029 0.0926 -0.2374

0.9176 -0.1044 -0.0416 -0.2155 0.0249 -0.0637

-0.1044 0.8676 -0.0528 -0.2731 0.0315 -0.0808

-0.0416 -0.0528 0.9790 -0.1089 0.0126 -0.0322

-0.2155 -0.2731 -0.1089 0.4364 0.0650 -0.1666

0.0249 0.0315 0.0126 0.0650 0.9925 0.0192

-0.0637 -0.0808 -0.0322 -0.1666 0.0192 0.9507

null(A)的列是null子空间的这些基础向量。事实证明,有时反斜杠解决方案不是首选,因为它有点随意地选择要设置为零的元素。另一种解决方案是使用pinv(A)* b0。

pinv(A)

ans =

0.1730

0.3693

0.4680

0.1865

0.9657

-0.1114

0.2855

pinv(A)*b0

ans =

0.2985

0.6370

0.8073

0.3217

1.6659

-0.1922

0.4926

pinv(A)是A的Moore-Penrose伪逆。它使用奇异值分解来产生该结果,因此它通常比反斜杠慢,但这里的差异将是微不足道的。有时感兴趣的pinv解决方案的特征是它具有所有可能的解决方案中最小的规范。

b0 = 1.7250238100;

norm(A\b0)

ans =

2.5841

norm(pinv(A)*b0)

ans =

2.0748

一种解决方案比另一种更好吗?并不是的。有时我们关心差异,你可能会选择其中一个而不是另一个。但是,如果你只有一个等式,那么你必须接受任何可能的解决方案可能与其他解决方案一样好。

我们当然可以选择BAD解决方案。例如,下一个解决方案在理论上是一个同样有效的选择,如果是一个愚蠢的选择:

x2 = x1 + null(A)*10*randn(6,1)

x2 =

-4.09413481014061

13.5483342562954

13.4850200598594

6.44121071558247

-13.4923071847226

7.3358845464619

15.883243834012

我选择添加A的零空间向量的随机线性组合。看起来它给出了相同的解A * x2。

A*x2

ans =

1.72502381

但是当我们减去b0时,我们看到x2中较大的系数是个问题。这些系数在那些最低有效位中具有夸大的噪声,从而产生了一种微妙的解决方案。

A*x2 - b0

ans =

6.66133814775094e-16

将其与其他解决方案的残差进行比较,我们发现它可能更糟糕。

A*x0 - b0

ans =

0

A*x1 - b0

ans =

2.22044604925031e-16

当然,因为eps是

eps

ans =

2.22044604925031e-16

这是我们对这个问题的希望的极限。

当然,如果你有更多的方程而不是未知数(这里的行多于A中的列数)并且A是满秩的,那么这两个解应该与数字垃圾中的相同。这是您所阅读的内容,但这仅适用于过度确定的问题。你的问题不是过分确定,而是不明确的。

matlab输出斜杠,MATLAB中的反斜杠运算符用于向量相关推荐

  1. python中双反斜杠_python中的反斜杠问题深入讲解

    前言 python本身使用 \ 来转义一些特殊字符,比如在字符串中加入引号的时候 s = 'i\'m superman' print(s) # i'm superman 为了防止和字符串本身的引号冲突 ...

  2. 为什么json转化有斜杠_json中大量反斜杠问题

    今天给测试写一个第三方平台的mock服务,在通讯调试中发现一个问题,不管是被测服务本身的日志还是我这边打印的日志,在打印报文 json 时都出现了大量的反斜杠,感觉有点诡异.然后在网上查了下,很快弄明 ...

  3. php的转义字符quot;反斜杠quot;是,php如何去除转义字符中的反斜杠

    php去除转义字符中的反斜杠的方法:使用函数stripslashes去掉转义后字符串中的反斜杠,代码为[if (is_string($v)) {$array[$k] = stripslashes($v ...

  4. 黄聪:PHP去掉转义后字符串中的反斜杠\函数stripslashes

    addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠\,比如当你提交一段json数据到PHP端的时候可能会遇到json字符串中有 ...

  5. php 重命名中有斜杠,php如何去除转义字符中的反斜杠

    php去除转义字符中的反斜杠的方法:使用函数stripslashes去掉转义后字符串中的反斜杠,代码为[if (is_string($v)) {$array[$k] = stripslashes($v ...

  6. php 去掉转义引号的反斜杠,PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠...

    PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠 通过AJAX传到PHP的json字符串有时候加上反斜杠"\"来转义,PHP处理时需要先去掉反斜杠,然后再json_dec ...

  7. php字符串里有斜杠怎么去掉,php如何去掉转义后字符串中的反斜杠

    php去掉斜杠的实现方法:首先创建一个PHP示例文件:然后定义一个"delete_fxg"方法:接着通过"$array[$k] = stripslashes($v);&q ...

  8. Python中关于反斜杠(\)用法的总结

    首先,我们需要知道的是,在python中/所代表的是正斜杠,而\代表的是反斜杠.关于反斜杠的使用,我认为转义二字就是其用法的本质.转义,我的理解就是通过对反斜杠的使用,使字符.格式等与其原来意义不同, ...

  9. 黄聪教程里面的php符号,黄聪:PHP去掉转义后字符串中的反斜杠\函数stripslashes...

    addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠\,比如当你提交一段json数据到PHP端的时候可能会遇到json字符串中有 ...

  10. 使用java中replaceAll方法替换字符串中的反斜杠

    今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常: 1 java.util.regex. ...

最新文章

  1. 前端工程基础知识点--Browserslist (基于官方文档翻译)
  2. MultiBinding的StringFormat参数问题
  3. 洛谷 P3960 列队【线段树】
  4. 浅谈群集与分布式基础知识
  5. C++中default标识的构造函数的说明
  6. Vue强制绑定class和style_使用字符串_对象_素组的方式实现强制绑定---vue工作笔记0007
  7. LeetCode数据库 178. 分数排名
  8. 让shell终端和goland控制台输出彩色的文字
  9. python视频教程-Python视频教程
  10. 也用 Log4Net 之走进Log4Net (四)
  11. http服务器和application服务器区别
  12. 5款不错的整站下载工具
  13. Win10修修补补日记:Win10周年更新再出BUG 淡定
  14. alps interview
  15. java 导出数据设置进度条_java控制台输出百分比进度条示例
  16. mac linux 性能测试工具,Mac/Linux压力测试神器Siege详解(附安装过程)
  17. 基于Dragonboard 410c的PMIC简介
  18. Oracle开发实战学习
  19. 用Bittorrent和PHP搭建BT Tracker服务器和发布页
  20. 终于搞懂了,用大白话给你解释Zookeeper的选举机制,包教会

热门文章

  1. Python 导入模块
  2. Java8新特性:Stream详细使用
  3. java实现后端身份验证的Token令牌
  4. qt 设置按钮大小_Python GUI教程(六):使用Qt设计师进行窗口布局
  5. 对python的认识2000字_2000字谏言,给那些想学Python的人,建议收藏后细看!
  6. PHP百行代码快速构建简易聊天室 1
  7. iviewui中表格控件中render的使用示例
  8. 2D 照片变身 3D 模型,来看英伟达的 AI 新“魔法”!
  9. iOS中进行数据压缩
  10. 第一篇,就随便说说。