How to obtain an array of constant values from vector valued anonymous functions

23 次查看(过去 30 天)
Hello Everyone,
I have an anonymous function whose result is a constant number; when I call it passing a vector variable as input I obtain a scalar constant instead of a vector of constants. See the following example
>> f=@(x) 3.5; v=0:10; y=f(v)
y =
3.5000
I wonder if there is a simple solution allowing a vector with eleven components (3.5's) in y to be obtained.
I know it's an unusual need, but the associated output variable is one of many others based on similar (non-constant) functions, whose results have to be plotted, so the size of their outputs must be correct. Of course, I'd have several possibilities to overcome this without anonymous functions, but it would be not very elegant. When I realized it, I thought it may be a bug, though a very minor one.
Thank you in advance, I hope someone can help.

采纳的回答

the cyclist
the cyclist 2021-2-10
f=@(x) 3.5 * ones(size(x));
v=0:10;
y=f(v)
y = 1×11
3.5000 3.5000 3.5000 3.5000 3.5000 3.5000 3.5000 3.5000 3.5000 3.5000 3.5000

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by