为指定工作区中的变量赋值 |
您所在的位置:网站首页 › 燕山银座地下停车场收费 › 为指定工作区中的变量赋值 |
function m = minRand(n)
assignfh
A = fh(n)
m = min(A(:));
end
function assignfh
fh = @(dim)rand(dim);
assignin('caller','fh',fh)
end 使用输入值 2 调用该函数。 m = minRand(2)A = 0.3486 0.1423 0.0419 0.0766 m = 0.0419函数句柄的计算结果是一个 2×2 的随机数组。 创建另一个版本的函数,称为 minRand2,用局部函数覆盖函数句柄定义中的 rand 函数。 与 minRand 示例相似,assignfh2 局部函数将 fh 分配给 minRand2 的工作区。assignfh2 函数使用名为 rand 的变量覆盖其工作区中的 rand 函数并创建函数句柄。这种行为与匿名函数一致 - 函数句柄是使用创建函数时可用的变量创建的。因此,在 minRand2 中对函数句柄进行计算后,会使用 n 对 assignfh2 中定义的 rand 数组进行索引。 function m = minRand2(n) assignfh2(n) A = fh(n) m = min(A(:)); end function assignfh2(n) rand = 13*ones(n); fh = @(dim)rand(dim); assignin('caller','fh',fh) end使用输入值 2 调用该函数。 m = minRand2(2)A = 13 m = 13将匿名函数分配到调用方工作区时,MATLAB 将函数句柄的定义放入调用方工作区的变量中。调用 assignin 的函数将计算函数句柄。虽然这些示例说明了如何将变量分配到调用方工作区,但最好的做法是让局部函数 assignfh 返回函数句柄作为输出参数。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |