Add package, class, or functions to current import list
The import list scope is defined as follows:
Functions, including nested and local functions — The scope
is the entirety of the function. This includes code that precedes
The import list of a function is persistent across calls to that
function and is cleared only when the function is cleared. For more
information, see the
clear function. Do not
clear import within a function or a
Scripts — The scope of a script is the entire script body.
This includes code that precedes
imports in a script are available only in the script body and are
not available in the scopes which call the script. For example,
executing a script containing imports at the command prompt does not
make the imports available in the command window.
Base workspace — The scope is code executed at the command
prompt. To clear the base import list, type
import at the MATLAB® command prompt.
adds the contents of the specified package name.
PackageName must be followed by
Avoid using this syntax, as importing the contents of packages brings an unspecified set of names into the local scope, which might conflict with names in the MATLAB workspace. One possible use for this syntax is to import a partial package name. Then when you call a function, you use a shorter package name which does not conflict with simple function names.
import java.util.Currency java.lang.String
java.lang.String object. There is no need to type the package name,
s = String('hello')
s = hello
Currency class methods, without typing the package name.
Methods for class java.util.Currency: equals getDisplayName notify getAvailableCurrencies getInstance notifyAll getClass getNumericCode toString getCurrencyCode getSymbol wait getDefaultFractionDigits hashCode
Use partial package names on your import list to simplify calls to
matlab.io.hdf4.sd package functions and avoid conflicts with the MATLAB
Display the full path to the example file
sd.hdf on your system using the shortened package name
sdID = sd.start('sd.hdf'); filename = sd.getFilename(sdID)
filename = C:\Program Files\MATLAB\R2015a\toolbox\matlab\imagesci\sd.hdf
Call the close function with the
sd package name.
There is no name conflict with the MATLAB
close function when you import the partial package name.
If you use the
matlab.io.hdf4.sd.* syntax to import the entire package name, when you call
close, MATLAB always chooses the package function. You cannot use
close to remove a figure.
matlab.io.hdf4.sd package function,
readChunk in a function,
myfunc. You can call the function using the simple name
readChunk, but only within the scope of
function data = myfunc(ID,n,m) import matlab.io.hdf4.sd.readChunk data = readChunk(ID,[n m]); end
meta.class.fromName static method in a function,
myFunc. You can call the static method using the simple name
fromName, but only within the scope of
function metaClsObj = myFunc(ClassName) import meta.class.fromName metaClsObj = fromName(ClassName); end
sd.hdf example file and access the
temperature data set.
import matlab.io.hdf4.* sdID = sd.start('sd.hdf'); idx = sd.nameToIndex(sdID,'temperature'); sdsID = sd.select(sdID,idx);
myfunc function from the previous example to
read the data.
myfunc must have its own
import statement to use a shortened package
dataChunk = myfunc(sdsID,0,1);
Close the file.
ans = 'java.util.Currency' 'java.lang.String' 'matlab.io.hdf4.*' 'matlab.io.hdf4.sd.readChunk'
PackageName— Name of package
Name of the package, specified as a string or character vector.
ClassName— Name of class
Name of the class, specified as a string or character vector.
FunctionName— Name of package function
Name of the package function, specified as a string or character vector.
staticMethodName— Name of static method
Name of the static method, specified as a string or character vector.
L— Import list
Import list, returned as a cell array of character vectors.
import cannot load a Java® JAR package created by the MATLAB
Compiler SDK™ product.
Do not use
import in conditional statements inside a function. MATLAB preprocesses the
import statement before evaluating the variables in the conditional statements.
Behavior changed in R2019b
Starting in R2019b, MATLAB changes the rules for name resolution, impacting the precedence order of variables, nested functions, local functions, and external functions. These rule are described in Function Precedence Order. For information about the changes and tips for updating your code, see Update Code for R2019b Changes to Function Precedence Order.
Identifiers cannot be used for two purposes inside a function
Identifiers without explicit declarations might not be treated as variables
Variables cannot be implicitly shared between parent and nested functions
Change in precedence of compound name resolution
Anonymous functions can include resolved and unresolved identifiers
The behavior of the
import function has changed.
Change in precedence of wildcard-based imports
Fully qualified import functions cannot have the same name as nested functions
Fully qualified imports shadow outer scope definitions of the same name
Error handling when import not found
Nested functions inherit import statements from parent functions