Variable not updating with each iteration

17 Ansichten (letzte 30 Tage)
zephyr21
zephyr21 am 19 Jun. 2016
Kommentiert: zephyr21 am 19 Jun. 2016
I have many different equations with variables and coefficients running through a for loop and at the end, are sorted into [A] [b] and [x] matrices which are used to perform matrix math to solve for unknown x's before the loop starts over. [A] consists of the coefficients, [b] consists of numbers changing with the increase of each time step, and [x] consists of variables that are supposed to be updating. The problem is that the [x] variables aren't updating, it just gives me the original x's each time. What am I doing wrong? I would post the code here but it is pretty lengthy.
  8 Kommentare
zephyr21
zephyr21 am 19 Jun. 2016
Ok thank you. I have attached the files. "properties" basically just provides "singlephase2" with information it needs to solve equations and "gmresSolver" is just a function needed to solve the matrix. The problem is in "singlephase2". The [x] matrix is formed at the end where I believe the problem occurs when it solves for [x] and continually gives me the same value of 7750 no matter what I change "t" to. Thanks for looking.
Stephen23
Stephen23 am 19 Jun. 2016
Bearbeitet: Stephen23 am 19 Jun. 2016
@zephyr21: ...and learn to use the debugging tools. They also work when there is no error, i.e. when you are writing, testing, and checking your code. No error needed.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 19 Jun. 2016
zephyr21 - the function signature for gmresSolver is
function [ x, error_norm, iter, flag ] = gmresSolver ( A, x, b, M, restart, max_it, tol, n )
which returns four output parameters including x. Your code calls this function (from within SinglePhase2) as
gmresSolver(A,x,b,.0001,10,I*J,0.0000001,K);
and so the output from this function is being ignored. I suspect that you want to do something more like
[x,error_norm,iter,flag] = gmresSolver(A,x,b,.0001,10,I*J,0.0000001,K);
which will then update your x.

Weitere Antworten (0)

Kategorien

Mehr zu Function Creation 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