Solve a matrix that has nonlinear coefficients

3 views (last 30 days)
I am trying to solve a matrix that has the following form,
f(T_n) * T_(n-1) - T_n + f(T_n) * T(n+1) = f(T_n)
How this should be handled?

Accepted Answer

Torsten
Torsten on 9 Oct 2023
Edited: Torsten on 9 Oct 2023
If the coefficients contain the unknowns, a matrix representation of your system of equations leads you nowhere.
Write your system of equations in the unknowns T_n as a system of algebraic equations G(T) = 0 and use "fsolve" to solve.
  2 Comments
Ali Aykut
Ali Aykut on 9 Oct 2023
Thank you, I thought there was a way to solve with matrix representation.
Torsten
Torsten on 9 Oct 2023
Edited: Torsten on 9 Oct 2023
Thank you, I thought there was a way to solve with matrix representation.
The matrix representation of the equations is only useful if the matrix coefficients and the right-hand side are constant.
Sometimes it's necessary to use fixedpoint iteration
T^(i+1) = A(T^i)*T^i + b(T_i) (i: iteration index)
with T = (T(1),...,T(n)) if n is large, but if possible solve A(T)*T + b(T) - T = 0 using "fsolve". This will be much more efficient.

Sign in to comment.

More Answers (0)

Categories

Find more on Systems of Nonlinear Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!