vectorization of anonymous function?

3 ビュー (過去 30 日間)
Jan Valdman
Jan Valdman 2016 年 12 月 18 日
コメント済み: Jan 2016 年 12 月 18 日
I managed to vectorize the function below using inline command:
u_function=inline(vectorize('sin(x*y*z^2)'),'x','y','z') x=[1 2 3 4]; y=[3 4 3 4]; z=[1 2 4 4]; u=u_function(x,y,z)
How do I rewrite it in terms of an anonymous function?
Cheers, Jan

回答 (1 件)

Mischa Kim
Mischa Kim 2016 年 12 月 18 日
編集済み: Mischa Kim 2016 年 12 月 18 日
Jan, is the resulting u(x,y,z) also a 1-by-4?
How about:
u = str2func(vectorize('@(x,y,z)sin(x*y*z^2)'));
x = [1 2 3 4]; y = [3 4 3 4]; z = [1 2 4 4];
u_eval = u(x,y,z)
  2 件のコメント
Jan
Jan 2016 年 12 月 18 日
Move from Answer section (please pst comments in the comment section - Thanks)
Hi Mischa,
thank you, all vectors should have the size, yes. However, I am going to use more difficult forms of functions instead of x*y*z^2 and would like Matlab to put dots automatically (using vectorize?) within anonymous function. Is there a way to do it?
Jan
Jan 2016 年 12 月 18 日
Mischa wrote: Jan, understood. Check out the updated answer above. Does this do the trick?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeFunction Creation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by