nxn matrix as an input argument in function
82 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
function x = matrix(b, L, U)
A= L * U
x= inv(A)*b
end
I am trying to write a function that solves for A an matrix, b a known vector and x an unknown vector. How can I make the above work? In what form am I to input b, L and U into the function arguments?
For
b = $ \begin{pmatrix}a\\ b \\ c \end{pmatrix} $.
L =$ \begin{pmatrix} d & e & f\\ g & h & i \\ j & k & l\end{pmatrix} $
U=$ \begin{pmatrix} m & n & o\\ p & q & r \\ s & t & u\end{pmatrix} $
would my input be like this: matrix([a][b][c], [d,e,f][g,h,i][j,k,l], [m,n,o][p,q,r][s,t,u]) ??
1 comentario
Umar
el 9 de Ag. de 2024
Hi @Sarah Molina Esteves ,
You have already defined a function named matrix that takes three arguments: b, L, and U. The function calculates the matrix A by multiplying L and U and then solves for x using the equation x = inv(A) * b. When calling the matrix function, you need to provide the inputs b, L, and U in the correct format. Since b is a vector and L, U are matrices, you should input them as follows:
b = [a; b; c];
L = [d, e, f; g, h, i; j, k, l];
U = [m, n, o; p, q, r; s, t, u];
x = matrix(b, L, U);
In MATLAB, vectors are defined using square brackets [ ] and semicolons ; to separate elements vertically, while matrices are defined using square brackets [ ] and commas , to separate elements horizontally within rows.I think this is what @Adriano Filippo Inno is trying to tell you. Hope this helps.
Respuestas (1)
Adriano Filippo Inno
el 17 de Nov. de 2020
Editada: Adriano Filippo Inno
el 17 de Nov. de 2020
I'm a bit confused by your question. Do you need to solve a linear system with the LU method?
If yes, this function will work:
function x = linSys(A, b)
[L,U,P] = lu(A); % LU decomposition
y = L\(P*b);
x = U\y;
end
To use it:
A = magic(5); % define your A here
b = ones(5, 1); % define your b here
x = linSys(A, b);
0 comentarios
Ver también
Categorías
Más información sobre Matrix Decomposition en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!