How to vectorize this function?

1 次查看(过去 30 天)
MrBanana
MrBanana 2021-1-10
评论: MrBanana 2021-1-10
I have the following function:
x3=@(phi) (R-((3-2.*sin(phi))/(1-0.5.*sin(phi)).*R)/4).*cos(phi)
I read some articles saying I have to use elementwise operations but I still get a warning.
Thanks in advance!

回答(1 个)

Alan Stevens
Alan Stevens 2021-1-10
You need a ./ (i.e. dot /)
x3=@(phi) (R-((3-2.*sin(phi))./(1-0.5.*sin(phi)).*R)/4).*cos(phi)
^
  1 个评论
MrBanana
MrBanana 2021-1-10
I tried this earlier but it didn't help either
Warning: Function behaves unexpectedly on array inputs. To improve performance, properly vectorize your function to return an output with the same size
and shape as the input arguments.
> In matlab.graphics.function.ParameterizedFunctionSurface>checkVectorization
In matlab.graphics.function.ParameterizedFunctionSurface.set.ZFunction
In matlab.graphics.function.ParameterizedFunctionSurface
In fsurf>singleFsurf (line 269)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

标签

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by