vectorization of anonymous function?

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

Antworten (1)

Mischa Kim
Mischa Kim am 18 Dez. 2016
Bearbeitet: Mischa Kim am 18 Dez. 2016

1 Stimme

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 Kommentare

Jan
Jan am 18 Dez. 2016
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 am 18 Dez. 2016
Mischa wrote: Jan, understood. Check out the updated answer above. Does this do the trick?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Function Creation finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 18 Dez. 2016

Kommentiert:

Jan
am 18 Dez. 2016

Community Treasure Hunt

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

Start Hunting!

Translated by