Solve a matrix that has nonlinear coefficients

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

Thank you, I thought there was a way to solve with matrix representation.
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

Asked:

on 9 Oct 2023

Edited:

on 9 Oct 2023

Community Treasure Hunt

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

Start Hunting!