Variable not updating with each iteration

조회 수: 17 (최근 30일)
zephyr21
zephyr21 2016년 6월 19일
댓글: zephyr21 2016년 6월 19일
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
zephyr21
zephyr21 2016년 6월 19일
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 2016년 6월 19일
편집: Stephen23 2016년 6월 19일
@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.

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

채택된 답변

Geoff Hayes
Geoff Hayes 2016년 6월 19일
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.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Function Creation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by