matlab - 向量化一个八度的常数函数
问题描述
我在尝试定义一个将向量作为参数的常量函数时遇到了这种存在问题:
我想定义一个函数,如:
>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
我真的期待一个零向量。(我看不到如何将矢量化功能合并到常量函数中)
有没有人有这个简单问题的解决方案?提前致谢!
解决方案
要重复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
推荐阅读
- python-3.7 - 如何在 python 中为对象构建一种新的语法
- algorithm - 近似容差图
- java - 如何执行存储为 Java 中字符串的 MongoDB 查询?
- javascript - 未找到 React Router v5 嵌套路由
- powershell - 如何切断 -Delimiter -Header 'xxx' 下列中的所有值
- javascript - 为什么我的 iframe 文档宽度与 iframe 宽度相同?
- javafx - 如何省略缩放画布的像素化?
- sql - SQL 分组时间计算
- java - 在底部导航视图中,我如何在处理程序(1 分钟)运行之前显示不同的活动
- xamarin - Grail 的多个 Tiles ItemClickCommand 问题