Solve a Matrix equation
24 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, I was struggling in this equation for serveal days.
A' * B * A =P
Solve A.
A is an unknown 4X1 complex matrix and A' is the transpose conjugate of A.
B is a known 4X4 complex matrix.
P is 1X1.
Do anybody know how to solve it on the matlab?
1 Kommentar
Antworten (2)
Stephan
am 23 Nov. 2020
Bearbeitet: Stephan
am 23 Nov. 2020
Symbolic approach:
A = sym('A', [4,1])
B = magic(4)
P = 13
sol = solve(A'*B*A==P, A)
sol.A1
sol.A2
sol.A3
sol.A4
% This example gives 4 solutiuons - we test the first one
test_A = [sol.A1(1); sol.A2(1); sol.A3(1); sol.A3(1)]
double(test_A' * B * test_A)
0 Kommentare
Ameer Hamza
am 23 Nov. 2020
There might be an algebric way to solve this problem, but following shows an optimization based method
rng(0);
B = rand(4)+1i*rand(4);
P = 0.5 + 0.3i;
fun = @(x) abs(x.'*B*x-P);
x0 = rand(8,1);
sol = fmincon(@(x) fun((x(1:4)+1i*x(5:8))), x0);
A = sol(1:4)+1i*sol(5:8);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Systems of Nonlinear Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!