Matlab中import函数的使用

目录

语法

说明

示例

缩短对 Java 类方法的调用

缩短 HDF4 科学数据集包名称

导入单个包函数

导入单个静态方法

在脚本和函数中导入包

显示系统的当前导入列表


        import函数是将包、类或函数添加到当前导入列表中。

语法

import PackageName.ClassName
import PackageName.FunctionName
import PackageName.ClassName.staticMethodName
import PackageName.*
import
L = import

说明

​import PackageName.ClassName 将类名称添加到当前导入列表。要引用一个类而不指定整个包名称,请在您的代码中使用 import 函数。

导入列表作用域的定义如下:

  • 函数或脚本,包括嵌套函数和局部函数 - 作用域是函数。

    脚本的作用域是脚本自身。脚本中的导入项仅在脚本自身中可用,在调用脚本的作用域中不可用。例如,在命令提示符下执行包含导入项的脚本不会使导入项在命令行窗口中可用。

    函数的导入列表在调用该函数时会持久存在,只有在清除该函数时才会被清除。有关详细信息,请参阅 clear 函数。不要在函数或脚本内调用 clear import。

  • 基础工作区 - 作用域是在命令提示符下执行的代码。要清除基础导入列表,请在 MATLAB® 命令提示符下键入 clear import。

        ​import PackageName.FunctionName 添加指定的基于包的函数。使用此语法可缩短包中特定函数的名称,而不必在包中导入每个函数(这种导入操作可能导致意外的名称冲突)。

        ​import PackageName.ClassName.staticMethodName 添加指定的静态方法。使用此语法可缩短特定静态方法的名称。

        ​import PackageName.* 添加指定的包名称。PackageName 必须后跟 .*。

        避免使用此语法,因为导入包会将一组未指定的名称带入局部作用域中,从而可能与 MATLAB 工作区中的名称发生冲突。此语法的一种可能的用法是导入部分包名称。然后,在调用函数时,可以使用较短的包名称,这样就不会与简单函数名称发生冲突。例如,matlab.io.hdf4.sd 包有 close 函数,该函数可能与 MATLAB close 函数发生冲突。

        import 显示作用域中的当前导入列表。

        L = import 返回当前导入列表。

示例

缩短对 Java 类方法的调用

import java.util.Currency java.lang.String

        创建一个 java.lang.String 对象。无需键入包名称 java.lang。

s = String('hello')

s =

hello

        列出 Currency 类方法,无需键入包名称。

methods Currency



Methods for class Currency:

equals                    getDisplayName            notify                    
getAvailableCurrencies    getInstance               notifyAll                 
getClass                  getNumericCode            toString                  
getCurrencyCode           getSymbol                 wait                      
getDefaultFractionDigits  hashCode   

缩短 HDF4 科学数据集包名称

        在导入列表中使用部分包名称,以简化对 matlab.io.hdf4.sd 包函数的调用,并避免与 MATLAB close 函数发生冲突。

import matlab.io.hdf4.*

        通过使用缩短的包名称 sd,显示您的系统上示例文件 sd.hdf 的完整路径。

sdID = sd.start('sd.hdf');
filename = sd.getFilename(sdID)



filename =

C:\Program Files\MATLAB\R2015a\toolbox\matlab\imagesci\sd.hdf

        使用 sd 包名称调用 close 函数。

sd.close(sdID)

        在导入部分包名称时,不会与 MATLAB close 函数发生名称冲突。

which close


C:\Program Files\MATLAB\R2015a\toolbox\matlab\graphics\close.p

        如果使用 matlab.io.hdf4.sd.* 语法导入完整包名称,则当调用 close 时,MATLAB 始终选择包函数。无法使用 close 删除图窗。

导入单个包函数

        导入函数 myfunc 中的 matlab.io.hdf4.sd 包函数 readChunk。可以使用简单的名称 readChunk 调用该函数,但此调用方式仅在 myfunc 的作用域内有效。

function data = myfunc(ID,n,m)
import matlab.io.hdf4.sd.readChunk
data = readChunk(ID,[n m]);
end

导入单个静态方法

​        在函数 myFunc 中导入 meta.class.fromName 静态方法。可以使用简单的名称 fromName 调用该静态方法,但此调用方式仅在 myFunc 的作用域内有效。

function metaClsObj = myFunc(ClassName)
    import meta.class.fromName
    metaClsObj = fromName(ClassName);
end

在脚本和函数中导入包

        打开 sd.hdf 示例文件并访问 temperature 数据集。

import matlab.io.hdf4.*
sdID = sd.start('sd.hdf');
idx = sd.nameToIndex(sdID,'temperature');
sdsID = sd.select(sdID,idx);

        调用上面示例中的 myfunc 函数以读取数据。myfunc 必须具有自己的 import 语句以便使用短包名称。

dataChunk = myfunc(sdsID,0,1);

关闭文件。

sd.endAccess(sdsID)
sd.close(sdID)

显示系统的当前导入列表

import


ans = 

    'java.util.Currency'
    'java.lang.String'
    'matlab.io.hdf4.*'
    'matlab.io.hdf4.sd.readChunk'

局限性

  • import 无法加载 MATLAB Compiler SDK™ 产品创建的 Java® JAR 包。

  • 请勿在函数内的条件语句中使用 import。MATLAB 会在计算条件语句中的变量之前预处理 import 语句。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值