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 Center および File ExchangeSimulink についてさらに検索

タグ

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by