matlab输出斜杠,MATLAB中的反斜杠运算符用于向量
正如其他人所说,这个系统是不确定的(正如丹尼斯所说的那样)。由于你有一些后续问题,让我进一步深入。
在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中的反斜杠运算符用于向量相关推荐
- python中双反斜杠_python中的反斜杠问题深入讲解
前言 python本身使用 \ 来转义一些特殊字符,比如在字符串中加入引号的时候 s = 'i\'m superman' print(s) # i'm superman 为了防止和字符串本身的引号冲突 ...
- 为什么json转化有斜杠_json中大量反斜杠问题
今天给测试写一个第三方平台的mock服务,在通讯调试中发现一个问题,不管是被测服务本身的日志还是我这边打印的日志,在打印报文 json 时都出现了大量的反斜杠,感觉有点诡异.然后在网上查了下,很快弄明 ...
- php的转义字符quot;反斜杠quot;是,php如何去除转义字符中的反斜杠
php去除转义字符中的反斜杠的方法:使用函数stripslashes去掉转义后字符串中的反斜杠,代码为[if (is_string($v)) {$array[$k] = stripslashes($v ...
- 黄聪:PHP去掉转义后字符串中的反斜杠\函数stripslashes
addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠\,比如当你提交一段json数据到PHP端的时候可能会遇到json字符串中有 ...
- php 重命名中有斜杠,php如何去除转义字符中的反斜杠
php去除转义字符中的反斜杠的方法:使用函数stripslashes去掉转义后字符串中的反斜杠,代码为[if (is_string($v)) {$array[$k] = stripslashes($v ...
- php 去掉转义引号的反斜杠,PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠...
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠 通过AJAX传到PHP的json字符串有时候加上反斜杠"\"来转义,PHP处理时需要先去掉反斜杠,然后再json_dec ...
- php字符串里有斜杠怎么去掉,php如何去掉转义后字符串中的反斜杠
php去掉斜杠的实现方法:首先创建一个PHP示例文件:然后定义一个"delete_fxg"方法:接着通过"$array[$k] = stripslashes($v);&q ...
- Python中关于反斜杠(\)用法的总结
首先,我们需要知道的是,在python中/所代表的是正斜杠,而\代表的是反斜杠.关于反斜杠的使用,我认为转义二字就是其用法的本质.转义,我的理解就是通过对反斜杠的使用,使字符.格式等与其原来意义不同, ...
- 黄聪教程里面的php符号,黄聪:PHP去掉转义后字符串中的反斜杠\函数stripslashes...
addslashes函数主要是在字符串中添加反斜杠对特殊字符进行转义,stripslashes则是去掉转义后字符串中的反斜杠\,比如当你提交一段json数据到PHP端的时候可能会遇到json字符串中有 ...
- 使用java中replaceAll方法替换字符串中的反斜杠
今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常: 1 java.util.regex. ...
最新文章
- 前端工程基础知识点--Browserslist (基于官方文档翻译)
- MultiBinding的StringFormat参数问题
- 洛谷 P3960 列队【线段树】
- 浅谈群集与分布式基础知识
- C++中default标识的构造函数的说明
- Vue强制绑定class和style_使用字符串_对象_素组的方式实现强制绑定---vue工作笔记0007
- LeetCode数据库 178. 分数排名
- 让shell终端和goland控制台输出彩色的文字
- python视频教程-Python视频教程
- 也用 Log4Net 之走进Log4Net (四)
- http服务器和application服务器区别
- 5款不错的整站下载工具
- Win10修修补补日记:Win10周年更新再出BUG 淡定
- alps interview
- java 导出数据设置进度条_java控制台输出百分比进度条示例
- mac linux 性能测试工具,Mac/Linux压力测试神器Siege详解(附安装过程)
- 基于Dragonboard 410c的PMIC简介
- Oracle开发实战学习
- 用Bittorrent和PHP搭建BT Tracker服务器和发布页
- 终于搞懂了,用大白话给你解释Zookeeper的选举机制,包教会