How to vectorize this function?

1 view (last 30 days)
MrBanana
MrBanana on 10 Jan 2021
Commented: MrBanana on 10 Jan 2021
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!

Answers (1)

Alan Stevens
Alan Stevens on 10 Jan 2021
You need a ./ (i.e. dot /)
x3=@(phi) (R-((3-2.*sin(phi))./(1-0.5.*sin(phi)).*R)/4).*cos(phi)
^
  1 Comment
MrBanana
MrBanana on 10 Jan 2021
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)

Sign in to comment.

Categories

Find more on Simulink in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!