Evaluate Function at different data points from vectors

I have three vectors
x = [ 0.05 0.06 ]
y = [ 1.23 1.41 ]
z = [ 0.1 0.2]
Now I want to evaluate function at all values such as
f(0.05,1.23,0.1)=2.6629
f(0.05,1.23,0.2)=2.7629
f(0.05,1.41,0.1)=3.1381
f(0.05,1.41,0.2)=3.2381
f(0.06,1.23,0.1)=2.6729
f(0.06,1.23,0.2)=2.7729
f(0.06,1.41,0.1)=3.1481
f(0.06,1.41,0.2)=3.2481
These values should be saved in a vector.

 Risposta accettata

Use meshgrid to generate all combinations and make your function accept vector entries. Ex:
f = @(x,y,z)x.*y+z; % Insert your function
x = [ 0.05 0.06 ];
y = [ 1.23 1.41 ];
z = [ 0.1 0.2];
[XX,YY,ZZ] = meshgrid(x,y,z); % Create all possible combinations
w = f(XX(1:end),YY(1:end),ZZ(1:end))
w =
0.1615 0.1705 0.1738 0.1846 0.2615 0.2705 0.2738 0.2846

2 Commenti

Can I have these in a following order because I need to use these values in a formula.
Order should be like this
x = [x1 x2]
y = [y1 y2]
z = [z1 z2]
f(x1,y1,z1)
f(x1,y1,z2)
f(x1,y2,z1)
f(x1,y2,z2)
f(x2,y1,z1)
f(x2,y1,z2)
f(x2,y2,z1)
f(x2,y2,z2)
Q = [ f(x1,y1,z1) f(x1,y1,z2) f(x1,y2,z1) f(x1,y2,z2) f(x2,y1,z1) f(x2,y1,z2) f(x2,y2,z1) f(x2,y2,z2)]
and I want them on my desk by moday

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by