首页 > 解决方案 > 向量化一个八度的常数函数

问题描述

我在尝试定义一个将向量作为参数的常量函数时遇到了这种存在问题:

我想定义一个函数,如:

>f=@(x) 0.0;           % a constant function (zero or any other constant value).
>xx=linspace(0,10,10); % ten values where I want to evaluate the function

当我运行它时,我得到:

>> f(xx)
ans = 0

我真的期待一个零向量。(我看不到如何将矢量化功能合并到常量函数中)

有没有人有这个简单问题的解决方案?提前致谢!

标签: matlaboctave

解决方案


要重复a输入形状所指示的常量,您可以使用

f = @(x) repmat(a, size(x));

例子:

>> a = 5;
>> f = @(x) repmat(a,size(x));
>> f([10 20 30; 40 50 60])
ans =
     5     5     5
     5     5     5

推荐阅读