Is it possible to load a variable that can not be cleared

3 Ansichten (letzte 30 Tage)
John
John am 12 Jul. 2019
Beantwortet: Walter Roberson am 13 Jul. 2019
I have a variable 'x' that is loaded using the startup file in ...\Documents\MATLAB\startup.m that executes the command
load x
I want this variable to remain in the workspace after executing
clear
in any of my MATLAB scripts or functions. Is this possible?
  1 Kommentar
Walter Roberson
Walter Roberson am 12 Jul. 2019
Which workspace does it need to stay in? Do any of the scripts need to execute at the command prompt, or are they all called within functions? Does the variable need to survive "clear all"?

Melden Sie sich an, um zu kommentieren.

Antworten (2)

John Doe
John Doe am 13 Jul. 2019
clearvars -except x

Walter Roberson
Walter Roberson am 13 Jul. 2019
Create a function named X.m that when given the argument 'load' loads the value of X from a file and puts it into a persistent variable and uses mlock
https://www.mathworks.com/help/matlab/ref/mlock.html
For any other argument, including no argument, index the persistent variable and return that result.
Limitations:
  1. does not permit the user to store into the variable
  2. does not permit use of end as an index
You can possibly improve on this by defining an object with subsref and subsasgn behavior.
You cannot simply mlock a variable however.

Kategorien

Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by