Solve for an unknown matrix like solve() for dimension one

8 Ansichten (letzte 30 Tage)
Kunle Olutomilayo
Kunle Olutomilayo am 28 Mai 2019
syms d
eqn = d^2 - 9 == 0;
sol = solve(eqn, d)
The above is a method of 'solving' in dimension one. Solve() wouldn't work
May I know the option(s) of 'solving' in multi-dimensions, especially when we have diagonal matrices? An example is provided below:
eqn2 = D^(-3) + D^(-2)*W1 + W2 == zeros(n)
where D, W1 and W2 are diagonal matrices and n is the length of D. D is positive. If W1 and W2 are known, how can we solve for D?
PS: I checked the fminunc family but they for optimization (minimum solvers).
  2 Kommentare
Ali
Ali am 28 Okt. 2023
I'm having the same question
Torsten
Torsten am 28 Okt. 2023
D = sym('D',[2 2]);
eqn = D*[1 4;-3 5] == [1 7;9 -12];
solve(eqn)
ans = struct with fields:
D1_1: 26/17 D1_2: 3/17 D2_1: 9/17 D2_2: -48/17

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 28 Okt. 2023
This exercise can be also simulated/solved by this way:
N=3; % Dimension
syms d [N N]
Eqn = d*randi(10, N)==randi(10,N);
SOL = solve(Eqn, d)
SOL = struct with fields:
d1_1: 7/6 d2_1: -1/28 d3_1: 59/84 d1_2: -1/6 d2_2: 37/84 d3_2: 19/84 d1_3: -1/2 d2_3: 1/4 d3_3: -1/4

Kategorien

Mehr zu Symbolic Math Toolbox 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!

Translated by