Evaluate Function at different data points from vectors

32 次查看(过去 30 天)
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.

采纳的回答

Thiago Henrique Gomes Lobato
编辑:Thiago Henrique Gomes Lobato 2020-6-28
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 个评论
Jalal Hassan
Jalal Hassan 2020-6-30
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)]

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by