reading a workspace value inside a function

4 Ansichten (letzte 30 Tage)
Asliddin Komilov
Asliddin Komilov am 11 Jul. 2019
Beantwortet: Asliddin Komilov am 19 Aug. 2019
I used xlsread in a function. now I have another function that uses this function, and that function is used by a script. So xlsread is used 100 of times uselessly and I am getting 'out of memory' error (this maybe is not the main cause of the error). if I take xlsread into the script, the function cannot read the read variable, even it is in the workspace. How do I make the function to use the variable, without making it input variable of the function?
thanks
  10 Kommentare
TADA
TADA am 13 Jul. 2019
Bearbeitet: TADA am 13 Jul. 2019
Yes, unfortunately, memoize was introduced in 2017a.
Actually you don't need to keep a MemoizedFunction object as a persistent variable. memoize manages its own cache persistence.
Are you reading the same file every time?
Asliddin Komilov
Asliddin Komilov am 14 Jul. 2019
Bearbeitet: Asliddin Komilov am 14 Jul. 2019
yes its the same file, it would be best if I could do it inside the script and make other functions use it. I am not willing to put it in function input because there are many variables used by different functions. But it is already good without 'persistent':
Elapsed time is 0.077645 seconds.
Elapsed time is 1.035841 seconds.
Elapsed time is 0.005850 seconds.
Elapsed time is 1.412184 seconds.
Elapsed time is 0.000608 seconds.
Elapsed time is 1.529667 seconds.
Elapsed time is 0.001081 seconds.
Elapsed time is 1.416243 seconds.
Elapsed time is 0.000831 seconds.
Elapsed time is 1.475994 seconds.
thanks

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Asliddin Komilov
Asliddin Komilov am 19 Aug. 2019
the solution was the momoizefun, look for details above.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by