Error message: matlab Variable "VARNAME" is inaccessible. When a variable appears on both sides of an assignment statement, the variable may become temporarily unavailable during processing.

5 Ansichten (letzte 30 Tage)
My code looks something like this:
[inputObject,Container] = myfunction(inputObject,param1,param2,Container);
Container is a containers.Map object; I'm basically trying to use it as a hashtable.
Also, of note, myfunction is a recursive function call; there are calls to myfunction within myfunction.
So here's the problem. I am making several calls to myfunction in a row. I want Container to be available to the next function call as soon as the previous one has completed. However, when I try to evaluate "Container" in debug mode, I get the error given above. VARNAME in this case is Container.
Here's the weird part. If I make a line solely containing the word "Container", and then using "step" in debugger, step my way to that line (with a breakpoint on that line) I can finally get MATLAB to evaluate "Container". Then, this value becomes "available", and MATLAB finally starts passing it from function call to function call. But that ONLY happens AFTER I do this thing where I step my way to that line with a breakpoint on it.
So I think the issue is that Container isn't being "refreshed" in MATLAB's memory. I need a way to get it to do this. Any ideas?
  6 Kommentare
Joshua Diamond
Joshua Diamond am 5 Sep. 2017
I found an excellent solution to the problem here, in the answer provided by Joan Puig.
Thank you!

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Simulink Environment Customization 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