pinv奇异矩阵

6视图(30天)
迈克
迈克 2016年1月4日
评论道: 迈克2016年1月5日
你好,
我想解出x: Ax = b,但我的一个矩阵是奇异。一个矩阵的一个例子
1 0 0 1 0 0 0
0 1 1 0 0 0 0
0 1 1 0 0 0 0
1 0 0 1 0 0 0
0 1 0 0 1 0 0
0 0 1 0 0 1 0
0 0 0 1 0 0 1
当我使用pinv解决x (A),我得到峰值间隔,这些间隔对应于1和1之间的间隔在一个矩阵。一个例子是如下图所示:
有人知道为什么有峰值或如何摆脱他们?或者请建议另一个分解技术或方法来解决方程。
我知道的方法得到一个精确(而不是近似)解决方案是如果我可以是非奇异。我试着添加行,每个包含1与不同数量的0和1的空隙但这并不满秩。我希望1和1的每一行,因为我需要b列向量x。请2点之间的差异,任何建议如何使是非奇异是受欢迎的。
谢谢!
5个评论
约翰D 'Errico
约翰D 'Errico 2016年1月5日
添加噪声矩阵不会真正解决这个问题。它会掩盖问题。贫困的定义的问题是你的问题,导致奇异矩阵。

登录置评。

答案(2)

沃尔特·罗伯森
沃尔特·罗伯森 2016年1月4日
x = \ b;
2的评论
约翰D 'Errico
约翰D 'Errico 2016年1月4日
矩阵是奇异的。反斜杠将会失败,没有问题。

登录置评。


约翰D 'Errico
约翰D 'Errico 2016年1月4日
编辑:约翰D 'Errico 2016年1月4日
这里的问题不是pinv,但缺乏适当的矩阵的定义你想要的解决方案。矩阵,提出的问题你有反映不佳的问题。抱歉,但是真的。
添加任意行矩阵毫无意义,如果这些行并不意味着什么。矩阵只是一组数字在一个常规的形式。因为只有你知道这些数字的意思,矩阵的推导,那么我们将很难帮助你从你的更多信息。
为什么有一个平滑的曲线有意义吗?这条曲线的意义是什么?
如果我必须猜,你没给我们的信息,就是你期望一个平滑的曲线。为什么?水晶球是如此的模糊。然而........
你缺乏足够的信息矩阵,以确保结果将是独一无二的。这是一个奇异问题的一个方面。如果你期望的结果在这些边界平滑,然后添加一些精心挑选的行矩阵会有所帮助。(想想那些行,我增加了他们的意思。)
= (1 0 0 1 0 0 0;
0 1 1 0 0 0 0;
0 1 1 0 0 0 0;
1 0 0 1 0 0 0;
0 1 0 0 1 0 0;
0 0 1 0 0 1 0;
0 0 0 1 0 0 1;
1 2 1 0 0 0 0;
0 0 1 2 1 0 0];
0 0 0 0 1 2 1];
右手边的那些行(b)的元素将是零。
实际上,这个想法是为了提供额外的信息,结果是平稳的。添加一个这样的行跨你的每一个问题。我还添加了一个类似的行开始,既然你显然两端也有这个问题。
如果我真的知道你在做什么或如何创建矩阵,我也许能提供一个semi-intelligent回答。你得到你支付。
1评论
迈克
迈克 2016年1月5日
对不起,约翰,我并不想让它看上去雾蒙蒙的,我以为我给我有足够的信息来描述问题。
你是对的,考虑到我现在使用的列向量,我期望一个平滑的曲线。我没有状态b列向量,因为它是一个501 x 1向量(我现在附件b向量)。
假设x向量的半径旋转对称面,我可以得到的测量的区别是x, x和一个翻译。例如,如果x = x (1) x (2),…, x(10),然后使用翻译3,我们可以
b (1) = x (4) - (1)
b (2) = x (3) - (2)
b (3) = (2) - x (3)
b (4) = x (1) - (4)
b (5) = (2) - x (5)
b (6) = x (3) - (6)
等等。上述方程的右边是一个* x(是一个设计矩阵),而左边代表b列向量。这就是我来到方程Ax = b。
你建议我试着额外的行,他们没有把上涨的想法但是我喜欢平和结果提供额外的信息。行你建议是:
b (8) = x (1) 2 * x (2) + (3) = 0
b (9) = x (3) 2 * x (4) + (5) = 0
b (10) = x (5) 2 * (6) + x (7) = 0
请纠正我如果我错了,但是我认为你的想法是让转变,围绕这些尖刺、平缓。如,。而不是
0 0 0 5 0 0 0,可以有0 1 3 5 3 1 0。我认为更多关于它,看看应用一些插值可能帮助峰值。
我找到了一种方法直接求出x Ax = b;我添加了很少的噪声抵消行之间的线性关系。这样,就是非奇异和x = \ b的工作原理。我希望我有点清晰……谢谢你约翰。

登录置评。

类别

找到更多的在数值积分和微分帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的