# Matrices with unknown elements multiplication

조회 수: 34(최근 30일)
Excuse me i have a question
if i have a similar form of L-U decompostion which is LU=A such that L,U and A are all matrices while L and A are known
but unlike the usual case there is some known elements in the U matrix and i want to find the rest of unknowns in it
how do i do that in matlab please

댓글을 달려면 로그인하십시오.

### 채택된 답변

John D'Errico 9 Feb 2021
편집: John D'Errico 9 Feb 2021
Define the eements of the matrices in terms of symbolic unknowns. Then use solve to determine the unknown elements. Note that unless there are EXACTLY n^2 unknown elements remaining between the matrices L and U, your call to solve must fail.
Note: I can probably do this more efficiently, but...
L = tril(sym('L',[3,3]))
L =
U = triu(sym('U',[3,3]))
U =
U = U + diag([1 2 3]) - diag(diag(U))
U =
So I have created unknown matrices L and U. I've arbitrarily set the diagonal elements of U to the numbers 1,2, and 3.
A = magic(3)
A = 3×3
8 1 6 3 5 7 4 9 2
Now, can we solve for the remaining unknowns, such that L*U = A?
syms L1_1 L2_1 L3_1 L2_2 L3_2 L3_3 U1_2 U1_3 U2_3
LUparams = solve(L*U == A)
LUparams = struct with fields:
L1_1: [1×1 sym] L2_1: [1×1 sym] L2_2: [1×1 sym] L3_1: [1×1 sym] L3_2: [1×1 sym] L3_3: [1×1 sym] U1_2: [1×1 sym] U1_3: [1×1 sym] U2_3: [1×1 sym]
L = subs(L,LUparams)
L =
U = subs(U,LUparams)
U =
Was I successful?
L*U - A
ans =
Look at that. I got lucky.
##### 댓글 수: 1표시숨기기 없음
Mohey Eldeen Ali 9 Feb 2021
thanks a lot sir

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!

Translated by