2x2 Projection matrix of rank 1

9 vues (au cours des 30 derniers jours)
john
john le 23 Nov 2022
Modifié(e) : john le 27 Nov 2022
  2 commentaires
Rik
Rik le 24 Nov 2022
I recovered the removed content from the Google cache (something which anyone can do). Editing away your question is very rude. Someone spent time reading your question, understanding your issue, figuring out the solution, and writing an answer. Now you repay that kindness by ensuring that the next person with a similar question can't benefit from this answer.
john
john le 27 Nov 2022
Modifié(e) : john le 27 Nov 2022
oops

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 23 Nov 2022
Modifié(e) : Matt J le 23 Nov 2022
a=[1; 2]; n=[3; 4]; x=[5; 6];
r1p(a,n,a)
ans = 2×1
0.1789 0.3578
r1p(a,n,n)
ans = 2×1
1.0e-15 * -0.1986 -0.3972
r1p(a,n,x)
ans = 2×1
-0.1789 -0.3578
function p = r1p(a,n,x)
% computes the action of P, the 2x2 projection matrix of rank 1 having
% a - the sole basis vector for the column space of P
% n - the sole basis vector for the null space of P
a = normalize(a(:),'n');
b = normalize(null(n(:)'),'n');
p = dot(x,b)*a;
end
  4 commentaires
john
john le 23 Nov 2022
Thank you so much for continuing to help me out. However, this now works for a=[1; 0.01]; n=[0.01; 1]; x=[1; 0]; (just have to negate it), but does not return the correct answer for a=[1; 2]; n=[3; 4]; x=[5; 6];
Matt J
Matt J le 23 Nov 2022
Again, you do not provide what you think is the correct answer, or an explanation of why that answer is correct..

Connectez-vous pour commenter.

Plus de réponses (1)

Moiez Qamar
Moiez Qamar le 24 Nov 2022
%should work for:
a=[1; 0.01]
a = 2×1
1.0000 0.0100
n=[0.01; 1]
n = 2×1
0.0100 1.0000
x=[1; 0]
x = 2×1
1 0
p=r1p(a,n,x)
P = 2×2
1.0001 -0.0100 0.0100 -0.0001
p = 2×1
1.0001 0.0100
p = 2×1
1.0001 0.0100
%and for:
a=[1; 0];
n=[0; 1];
x=[1; 0];
p = r1p(a,n,x);
P = 2×2
1 0 0 0
p = 2×1
1 0
function p = r1p(a,n,x)
% computes the action of P, the 2x2 projection matrix of rank 1 having
% a - the sole basis vector for the column space of P
% n - the sole basis vector for the null space of P
xi=[0 -1; 1 0]*n;
chi=xi/(xi'*a);
P=a*chi'
p=P*x
end
  1 commentaire
Matt J
Matt J le 24 Nov 2022
P=a*chi'
outer products are not efficient. That's why the exercise asks for you to compute p without computing P.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by