【问题标题】:How to define array as parameter in MatLab? [duplicate]如何在 MatLab 中将数组定义为参数? [复制]
【发布时间】:2015-06-19 23:44:03
【问题描述】:

我有一个函数:

function recon_mm(lvl, Threshold, fileToCompress)

我想让Threshold 成为一个数组。我检查了 MatLab 文档,但找不到明确的示例如何声明 Threshold 是一个数组,

【问题讨论】:

  • 你不需要指定它,你可以假设它是。 Matlab 会处理。
  • 您应该能够将Threshold 传递给您编写的函数。在 MATLAB 中,默认情况下几乎所有内容都在数组中。
  • @AnderBiguri 所以当我想调用recon_mm 时,我应该写recon_mm(4,{1,2,3,4}, 'filename.jpg')?它是正确的调用吗?其中 1,2,3,4 是连续元素?
  • 是的,你可以这样做。但是,请记住数组类似于[1 2 3 4],而{1 ,2 ,3 ,4} 是一个单元数组。无论如何,你可以做到这一点。 Thershold 可以是任何东西。

标签: matlab function


【解决方案1】:

Matlab 不是静态类型的,也没有类型注解的语法,但是你可以检查你的参数是否为标量并提前返回。

if isscalar(Threshold)
    error('Parameter ''Threshold'' must be an array')
    return
end

请注意,这也会捕获 1x1 数组,例如isscalar([1]) == true.

【讨论】:

    猜你喜欢
    • 2012-01-15
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多