I have a Matrix , and I want to multiply this Matrix with something so I can get zeros
조회 수: 14 (최근 30일)
이전 댓글 표시
% for an example *(pinv(P1))*P1=unity Matrix
I want the same thing : ?*P1=zeros
%This ? should be related to P1 like the above example when we took the peasudo inverse to get the unity matrix
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%This is the problem
clc;
clear;
H=[1 2 1;2 3 1;4 2 3;3 2 1];
P1=[3 2 4;2 1 1;5 2 3;2 3 7]
P2=[2 6 1;1 3 5;4 2 1;5 2 1];
HT=H+P1+P2
from this equation I want to get
HT=H+P2
I want to null P1
댓글 수: 2
채택된 답변
Walter Roberson
2021년 9월 16일
null(P1)
Note: this may have different number of columns depending on the values in P1. Each column of the result will be independent
댓글 수: 3
Walter Roberson
2021년 9월 16일
format long g
H=[1 2 1;2 3 1;4 2 3;3 2 1];
P1=[3 2 4;2 1 1;5 2 3;2 3 7]
P2=[2 6 1;1 3 5;4 2 1;5 2 1];
nP1 = null(P1.').'
nP1 * P1
HT = H + nP1 * P1 + P2
HT2 = H + P2
HT - HT2
추가 답변 (1개)
John D'Errico
2021년 9월 16일
편집: John D'Errico
2021년 9월 16일
Please stop posting answers when you are making only comments.
In what you claim to have tried:
A=[-3 6 -1 1 7;1 -2 2 3 -1;2 -4 5 8 -4]
the matrix A has rank 3.
rank(A)
So there is NO matrix you can multiply A with on the left except for the all zero matrix, and get a result of all zeros. That is, there does not exist a non-zero matrix X, such that the product X*A will be entirely zero. This is provable using basic linear algebra.
We can find a non-zero matrix Y such that A*Y will be all zeros. But that was not the question you seem to have posed. Thus...
Y = null(A);
norm(A*Y)
So effectively zero to with floating point precision. If you want an exact solution, since A is composed of integers, we can find one easily enough. Thus...
Ysym = null(sym(A))
A*Ysym
댓글 수: 4
Souarv De
2022년 6월 9일
@John D'Errico Here the answer would come with class sym. How to convert it back in to double?
Walter Roberson
2022년 6월 9일
A = [-3 6 -1 1 7;1 -2 2 3 -1;2 -4 5 8 -4]
Ysym = null(sym(A))
A*Ysym
double(ans)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!